[Theora-dev] FPGA implementation

Timothy B. Terriberry tterribe at vt.edu
Mon Jan 17 13:08:04 PST 2005

> I'm trying to make some shortcuts - for now I can build all the headers
> manually if needed - just to see hardware works so I can release cameras
> into production.

Well, to be able to use any of the existing Theora libraries, you need a 
complete set of headers (unless you want to hack at the code, but that 
seems counter-productive).

It should be pretty easy to get a valid set of stream headers. Look at 
encoder_example.c, at the point where it spits out the header packets, 
and save those somewhere. You don't necessarily have to stuff them in 
Ogg pages to write to a file... you just have to be able to pass the 
packet data back to a decoder, but building a valid Ogg file means you 
don't have to hack on much other software yourself.

That leaves the frame headers, the Intra case being just a few bits.

To actually view the frame contents, there is the dumpvideo example, 
which will hand you the raw Y'CbCr data. Alternatively, the experimental 
decoder (http://svn.xiph.org/experimental/derf/theora-exp/)'s dumpvideo 
example has a compile-time option, OC_DUMP_IMAGES, which will write a 
.png file for each frame decoded (add -DOC_DUMP_IMAGES to the CFLAGS in 
the Makefile to enable it). Or you can rip the code (which is 
oc_state_dump_frame in state.c).

More information about the Theora-dev mailing list