[theora-dev] theora encoder reordering, order of puting data from DCT 8x8 blocks to huffman compressor, and puting result of huffman compressor to buffer bitstream memory
mike at multimedia.cx
Tue Mar 1 07:32:03 PST 2011
On 03/01/2011 05:48 AM, digital design wrote:
> Good day!
> I'm creating HDL IP CORE (for using in FPGA) for theora encoder (now
> only I-frames).
> I don't undestand one moment. Now i develop such stages:
> 1. From RBG(byer) to YCbCr converter
> 2. DCT processing (8x8 pixels blocks)
> 3. Quantizator of DCT coeff.
> 4. Zig-Zag of quantized DCT coeff.
> and now i have uresolved last stage of compression - how i must send 8x8
> blocks to huffman compressor? I don't understand ordering.
> I must send all DC coeff (Y, than Cb,Cr), after all AC-0 (Y, than Cb,Cr)
> .... after all AC-63 (Y, than Cb,Cr)? And put huffman compression result
> to buffer memory like this:
> huffman compression products of all DC coeff (Y, than Cb,Cr), after all
> AC-0 (Y, than Cb,Cr) .... after all AC-63 (Y, than Cb,Cr)?
> Please explain me this moment. I need your help.
That's most of it. But did you differentially encode the DC
coefficients? And did you Huffman-code in a Hilbert order? Those are 2
steps notably absent from your description.
More information about the theora-dev