[theora-dev] Theora Fast Quality Reduction Transcoding

Timothy B. Terriberry tterribe at email.unc.edu
Tue Nov 17 06:18:16 PST 2009

Chris Cooksey wrote:
> I had thought at this point to use the tokenizer directly to construct a new
> token stream. However the complexity of that module alone is daunting. It

You may be interested to know about rehuff, an experimental tool for
changing the codebooks in a Theora stream. The tool itself is here:
with examples/rehuff.c being the main driver and lib/recode.c doing most
of the actual work.

This is probably too simplistic for you, since it cannot, for example,
change a block from coded to uncoded if you quantize all of its
coefficients to 0 (assuming it does not require a MV), and does not
break the decoded coefficients out by the block they originally came
from. But it may be a simpler starting point than the full encoder.

> I have also considered running a full encoder but without any real image
> data being fed to it. The processing required to generate coefficients would
> be replaced with a callback to retrieve coefficients generated by the

The problem here is that it would also have to choose the same MB modes,
MVs, qi values, and coded block flags for the coefficients from the
original stream to make any sense. These decisions are made with
reference to the original input frame, which you do not have. I agree
with your assessment that this approach is probably unworkable.

More information about the theora-dev mailing list