Re: further debugging of my ogg/theora decoder
salsaman <[email protected]>
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Nov 18, 2008 at 12:47 PM, salsaman <[email protected]> wrote: > > > On Tue, Nov 18, 2008 at 7:28 AM, Ralph Giles <[email protected]> wrote: > >> On Tue, Nov 18, 2008 at 2:21 AM, salsaman <[email protected]> wrote: >> >> > Right, that is what I would expect. I think I will write an ogg file >> checker >> > that checks all granulepos and keyframes to make sure the problem is not >> in >> > my test files. Some of the files were created with older versions of the >> > encoder. For example I have one file where I need to subtract 2 from all >> > keyframe values in order for it to decode properly. >> >> Hmm. Some of the alpha encoder releases recorded the frame index, not >> the frame count. Such stream declare their version to be 3.2.0 instead >> of 3.2.1 as in the current theora spec. >> >> -r >> > > Yes, I think the file > http://upload.wikimedia.org/wikipedia/commons/0/0c/Experience_ubuntu.ogg > > is like that (0 based keyframes). > > I am seeing other oddities in the file (I think) maybe somebody can confirm > or deny this: > > there is a granulepos 68516 in the file, which is (1070,1106) zero based. > If I begin decoding from that page, I get (2 pages) [68516, 68518] 1107 (?), > (2 pages) [68518, 70976] 1108 (?) (keyframe) (2 pages) 1109 (?). > > However, the keyframe should be 1109 (zero based) according to later gpos. > > I think what is messing me up is that there are 2 granulepos in a row with > the same value. If I start from the second page with gpos of x, then I miss > a page (because I should be starting on the first occurance of x). > > Surely the second page should have granulepos of -1 ? Is this another known > issue ? > > Is this something that ogg_page_packetsout() could solve ? > > > > Regards, > Gabriel. > http://lives.sourceforge.net > > > > Yes, in fact I can now answer that myself - checking for ogg_page_packets() > 0 does indeed provide a workaround for this particular problem. Now I need to know how to get the encoder version number from the stream. Anybody ? Gabriel. http://lives.sourceforge.net _______________________________________________ theora-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/theora-dev