[theora-dev] Granule pos bug ?

illiminable ogg at illiminable.com
Thu Apr 15 05:12:02 PDT 2004



After trying to find out what to do when no packets complete on a page... i reread the ogg spec and found this...

"A special value of -1 (in two's complement) indicates that no packets finish on this page."

So i searched through a few files and it appears that the muxer doesn't do this... has this been depracated ? In all cases i can find that this happens the page has the same granule pos as the previous page.

Is this a bug in the encoder or muxer or is the spec wrong ?

Also when looking more closely the granule pos appears to get out of whack at each point where this happens... with the granule pos increasing by a large amount. An example....

Ver No      : 0
Head Flags  : 1
Granule Pos : 63
Serial No   : 1414378159
Seq No      : 11
Checksum    : 1172679884
Num Segs    : 20
------------------------
Head Size   : 47
Data Size   : 4321
Page Size   : 4368
Num Packets : 7
------ Packet  0 (266 bytes) -------
------ Packet  1 (553 bytes) -------
------ Packet  2 (509 bytes) -------
------ Packet  3 (464 bytes) -------
------ Packet  4 (535 bytes) -------
------ Packet  5 (464 bytes) -------
------ Packet  6 (1530 bytes) -------  ** INCOMPLETE **

==============================================================================
Ver No      : 0
Head Flags  : 1
Granule Pos : 63
Serial No   : 1414378159
Seq No      : 12
Checksum    : 686927226
Num Segs    : 17
------------------------
Head Size   : 44
Data Size   : 4335
Page Size   : 4379
Num Packets : 1
------ Packet  0 (4335 bytes) -------  ** INCOMPLETE **
==============================================================================
Ver No      : 0
Head Flags  : 1
Granule Pos : 4104
Serial No   : 1414378159
Seq No      : 13
Checksum    : 2446388238
Num Segs    : 22
------------------------
Head Size   : 49
Data Size   : 4297
Page Size   : 4346
Num Packets : 10
==============================================================================
............
==============================================================================
Ver No      : 0
Head Flags  : 5
Granule Pos : 81225
Serial No   : 1414378159
Seq No      : 330
Checksum    : 2404328773
Num Segs    : 16
------------------------
Head Size   : 43
Data Size   : 2311
Page Size   : 2354
Num Packets : 10

<p><p>Notice on the second shown page (seq no 12) the granule pos is the same as the page before instead of -1... also notice on the next page (no 13) the granule pos is now 4104... the video is only 40 seconds long @ 25fps ~= 1000frames.

And by the last page of the video bitstream the granule pos is way up to 81225.

Anyone have any idea what could have caused this ? And what is the correct way to indicate no packets end on a page ? Is it -1 or the same as the previous page...

Cheers,

Zen.

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Theora-dev mailing list