[theora-dev] Theora Fast Quality Reduction Transcoding

Chris Cooksey chriscooksey at gmail.com
Wed Nov 18 09:06:12 PST 2009

Hi Timothy.

Thanks for the information. It confirms most of what I have found.

> You may be interested to know about rehuff, an experimental tool for
> changing the codebooks in a Theora stream. The tool itself is here:

I do know about the rehuff tool. It was the foundation for what I have done
so far, which includes reporting each coefficient block and the surrounding
decoder state. I also updated it to Theora 1.1.

As for trying to encode without actual image data, yes that is a non-starter
it looks like.

I am still holding out hope for using the tokenizer directly on the modified
coefficients. But you did identify the major area of concern I have: if the
coefficients of an inter frame block all go to zero, I will need to update
the coded block list. For that matter, what if the entire inter frame
becomes uncoded? This greatly complicates what would otherwise be a
seemingly simple task.

The rehuff tool works by simply duplicating the entire frame header and then
emitting a recoded huff stream. This won't work if I need to change the
coded block list, which ideally I would like to if possible. It is here that
I am kind of stuck right now. My understanding of that part of the spec is
limited. Any hints regarding that part of the process as its implemented in
theoralib would be helpful, i.e. what are the relevant structures, etc. I
will be working through it myself to try to better understand it.


More information about the theora-dev mailing list