[theora] A big 'Thank you' to the developpers

Hannes Hauswedell theora.list at soulrebel.in-berlin.de
Fri Aug 7 07:51:32 PDT 2009

Hi Gregory,

Thanks for going in to detail about 2-Pass encoding. So if I understood 
correctly 2-pass does provide better subjective quality, not only better 
approximation of target file size, right?
So similarly to encoding xvid or x264 to an average variable bitrate of 
800kbps, where two-pass enables a better adjustment of the bit-rate to 
the needs of the current frame, this is now possible with theora, too?

That would be great news for movie-archiving, where the actual kbps 
don't matter, just the file-overall-average...

Thanks for being patient with questions like this ;)


Am Mittwoch, 29. Juli 2009 22:03:59 schrieb Gregory Maxwell:
> On Wed, Jul 29, 2009 at 2:40 PM, Zik Zak<zikzakfr at gmail.com> wrote:
> > Thanks a lot for the new encoder_example and the two pass encoding.
> >
> > I was not yet able to compare the gain of it against my previously
> > encoded video (HD content takes a lot of time to encode).
> >
> > Why it can not be used with -v ? Could it be possible in the future
> > ? I had better result with -v than with -V before.
> > Congratulations again.
> Video encoders can select the 'quality' used to encode each frame.
> Think of it like measuring the heights of blades of grass with a
> micrometer, ruler, or yardstick.  The micrometer gives you very
> precise results, but it take a lot of bitrate, while the yardstick is
> very coarse.   Theora has 64 levels (called QIs or quantizers)
> When you use "-v" the number you provide is just mapped onto the
> range of 0-63 and used for all frames.
> A single quantizer level will produce different bitrates for
> different videos depending on how predictable the content is... For
> example, things with low motion will be small while high motion clips
> will be larger.
> If you want to achieve a specific overall or instantaneous bitrate
> the encoder will have to adjust the quantizer to get that result. 
> This can cause a reduction in quality because the encoder may use too
> much precision on easy parts because it is unaware of hard parts
> coming in the future and thus be forced to starve the hard parts.
> Two-pass makes the process more intelligent because the encoder will
> know about the difficulty of future frames.
> So, right now two-pass is (currently) just a refinement of the rate
> control process which doesn't exist in "-v" mode.
> On Wed, Jul 29, 2009 at 3:50 PM, Ralph Giles<giles at xiph.org> wrote:
> > On Wed, Jul 29, 2009 at 11:57 AM, Christopher
> >
> > Blizzard<blizzard at mozilla.com> wrote:
> >> Do we have a sense of how much of a difference that makes in terms
> >> of hitting a random bitrate?
> >
> > The 1.1 encoder was already much better at hitting a random bitrate
> > with -v. What --two-pass does is hit a target file size with more
> > even quality.
> Also recently added to 1.1SVN is frame dropping. One case where the
> 1.1 rate control would fail to deliver the requested bitrate is where
> even the lowest quality quantizer wasn't enough to fit the current
> frame in the budget. Previously the encoder would come out higher
> than the requested rate, now it is able to drop frames. (Replaces
> them with an exact duplicate of the prior frame, which is very cheap
> to signal). Though if you were running into that you will probably
> get better results from encoding a lower resolution.
> If you're intending on streaming keep in mind the default two-pass
> behaviour does not regulate the instantaneous bitrate: Two-pass can
> periodically spike to enormous rates.  If you're streaming you'll
> want to use the --buf-delay parameter to however much pre-roll
> buffering you intend on doing. (It's specified in frames)
> _______________________________________________
> theora mailing list
> theora at xiph.org
> http://lists.xiph.org/mailman/listinfo/theora

More information about the theora mailing list