[Theora-dev] FPGA implementation

Andrey Filippov theora at elphel.com
Tue Jan 18 00:14:36 PST 2005


>
> Attached.
>

After manually analyzing the file I found some difference with the format in
http://www.xiph.org/ogg/doc/framing.html (btw those html doc pages
reference *.png images and the directory has only matching *.gif ones)

The raw packet is logically divided into [n] 255 byte segments and a last
fractional segment of < 255 bytes. A packet size may well consist only of
the trailing fractional segment, and a fractional segment may be zero
length. These values, called "lacing values" are then saved and placed
into the header segment table."

The second page in that file starts at byte 0x46, byte number 0x60 is
numer of segments (0xc). Next goes byte number 0x61 with the value 0x32 <
0xFF !
The total length of 12 segments is 0xa7f=
32+ff+ff+ff+ff+ff+ff+ff+ff+ff+ff+57 (bytes 0x61..0x6c)

So decoder did not complain. Or is the requirement that only the last
segment in the page less than 255 obsolete? Anyway the list is preceded by
the number of entries.



00000000  4f 67 67 53 00 02 00 00  00 00 00 00 00 00 b7 36 
|OggS...........6|
00000010  4a 11 00 00 00 00 3e f2  f2 83 01 2a 80 74 68 65 
|J.....>....*.the|
00000020  6f 72 61 03 02 00 00 08  00 04 00 00 80 00 00 40 
|ora............@|
00000030  00 00 01 6e 36 00 00 0f  42 40 00 00 00 00 00 00 
|...n6...B at ......|
00000040  00 ff ff ff 40 c0 4f 67  67 53 00 00 00 00 00 00 
|.... at .OggS......|
00000050  00 00 00 00 b7 36 4a 11  01 00 00 00 54 28 47 39 
|.....6J.....T(G9|
00000060  0c 32 ff ff ff ff ff ff  ff ff ff ff 57 81 74 68 
|.2..........W.th|

....

00000ae0  2c 5a 66 5d 6b 0b fa f4  89 e4 90 80 4f 67 67 53 
|,Zf]k.......OggS|




More information about the Theora-dev mailing list