[theora] Additional encoding options for theora

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Wed Nov 18 10:02:31 PST 2009

Basil Mohamed Gohar wrote:
> On 11/18/2009 12:04 PM, Gregory Maxwell wrote:
>> Getting good results from codec tweaking requires a commitment of
>> time, both to thoroughly explore the changes and to understand the
>> changes being made.  If you're willing to make that investment then
>> rebuilding libtheora shouldn't be *too* much of a hurdle.

That's true... but more parameter space exploration might happen if it
could be done with shell scripts.

> I was under the impression that such values were tweakable and just not
> made accessible through the interface.

libtheoraenc has many functions for setting encode properties, and some
are not exposed through ffmpeg2theora (nor most other interfaces).  Two
major ones are the huffman tables [1] and quant matrices [2].  These have
a large impact on the encode, but are not exposed because they are much
too long to be specified by a human.  If you're interested in real
experimentation, you might consider patching encoder_example to accept
arguments for these ... but playing with them is not like choosing a
single number.  The quant matrices alone represent hundreds of parameters
for each quality level.

There are also other hard-coded constants in libtheoraenc that could be
exposed for tuning, but have not been.  These include the RDO lambdas, Y
vs. UV precision, and many other things beyond my knowledge.  These could
be exposed, but not without modifying libtheoraenc.

Of course, the really interesting encoder work is algorithm improvements,
which cannot be achieved by exposing knobs.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/theora/attachments/20091118/dc4bed38/attachment.pgp 

More information about the theora mailing list