[theora-dev] Re: Granule pos bug ?

illiminable ogg at illiminable.com
Fri Apr 16 19:40:27 PDT 2004



OK... i figured out the deal with the granule pos increasing... that's to do
with the keyframe thingy-bob in theora, but i'm still unsure about the
correct way to indicate no packets ending on this page.

Thanks

Zen.
----- Original Message -----
From: illiminable
To: theora-dev at xiph.org
Sent: Thursday, April 15, 2004 8:12 PM
Subject: Granule pos bug ?

<p>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>--- >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