[Theora-dev] FPGA implementation

Andrey Filippov theora at elphel.com
Wed Jan 19 17:32:00 PST 2005


> I do want to say we appreciate someone making an implementation from the
> spec without jumping to the reference code all the time. It's the only
> way to really be sure that you find all these problems.

Yes, it is probably the only way how to weed those bugs out. I needed some
very simple "partial" decoder that can restore just COEFFS array, not the
image. I'm rather sure that DCT+quantizer work (as the generated reference
frame makes sense), DC prediction errors will be visible in the player, so
the most difficult part for me now is to handle Huffman encoding as any
single error makes the whole stream bad. This is why I decided to make
some simple tool to parse the stream and build coefficient. Using it I can
manually get to the source of the problems I'll most likely get.
Additionally that tool can get headers from the real file and build data
tables for the FPGA that will use exactly the same tables.

And now it works. I used that 128x64 pixel sample file, put plenty
printf-s into theora-experimental:decode.c and made the output match. So
now I'll be able to get back to the FPGA and see if I'll be able to gat an
image.

BTW, the real sample file helps understanding headers. I would recommend
put  some annotated hexdump file into the documentation.

>
http://cvs.sourceforge.net/viewcvs.py/elphel/fpga/theora/compressor_two.v?rev=1.6&view=log



More information about the Theora-dev mailing list