Comments (7)
I don't know of anyone working on 2-pass rate control for Vorbis.
Can you share a use case for this? Usually two-pass is used to maximize quality within a strictly limited number of bytes, but vorbis is transparent at any current media readout or broadband streaming bitrate.
from vorbis.
It is not so easy to answer your question.
Additional regulators (multipliers) are introduced into the coding system, initially equal to 1. Depending on where they are entered, the corresponding statistics are collected on the first pass. There is also a flag system that determines which regulatorswill be enabled. Based on statistics, the values of the regulators are calculated. In general, this system is empirical in nature and cannot be fully described using a certain theory.
PS: For stability, the values of the regulators are usually calculated by delta-functions:
regulator = (freg) ? (1.0f + min(abs(f(stat)),deltaMax)*sign(f(stat))) : 1.0f;
from vorbis.
âšī¸ The general meaning of multi-pass coding: to partially transfer control of the coding process to the sound itself (feedback).
PS: Multi-pass is no magic.
from vorbis.
I understand what 2-pass encoding is. I do not understand why you want it for vorbis. Can you explain why it would be good?
from vorbis.
Encoding, in which nothing is known about the encoded signal, in no way can have little bad. Only the encoding of a known signal (statistics accumulated) can have little bad.
PS: little bad
!= best
|| good
from vorbis.
Well yes, but as you say, multi-pass encoding is not magic. It doesn't make every encoding better.
Two passes are only helpful to adjust the bitrate for different sections to meet some external constraint. That's typically only useful for video because video data is so large, so one might want either to avoid overwhelming someone's network bandwidth, or to exactly fill some distribution medium like a video disk. Those constraints mean video is often compressed so heavily that it's visible. You really are trying to spread around the bad so it's less noticeable.
What the current vorbis encoder does instead is just to make the file a little bigger for every piece that is harder to encode. This works fine since audio is so much smaller. Why doesn't that work for you?
from vorbis.
This "good" only works at high bitrates.
from vorbis.
Related Issues (20)
- Merging aoTuV encoder improvements HOT 4
- Warning in code HOT 1
- Building on macos arm through rosetta terminal causes ld: unknown option HOT 2
- Add Ogg::ogg alias to main library target? HOT 15
- oss-fuzz of libvorbis 1.3.7 tar.xz removed in https://ftp.osuosl.org/pub/xiph/releases/vorbis/ HOT 1
- CMake does not generate a RUN_TESTS project HOT 4
- Cannot build tests on MSVC HOT 3
- Can you tell the differences between libvorbis and libogg for someone who doesn't know? and a few questions HOT 2
- unknown type name 'uint16_t' when cross-compiling HOT 1
- CMake installs Makefiles in docs directory
- SUM files update HOT 1
- How can I use vorbis to encode/decode pcm stream directly
- The specification should mention how to deal with `residue_begin` > `residue_end`
- Any plans to expand the list of standard field names in comment header?
- memory leaks
- A potential bug of NPD
- `--with-ogg-includes` has no effect
- Could NOT find Ogg
- Installed VorbisConfig.cmake needs Ogg dependency
- Stack overflow when writing ogg with long frames HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ī¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vorbis.