[FFmpeg-devel] frames not parsed correctly for VOB file (mpeg2)

Christian Cier-Zniewski christian.cier
Tue Feb 2 13:40:11 CET 2010


Hello,

this is my first post to the list.
I am currently developing a player plugin for VDR on top of ffmpeg.

While testing the plugin with different media files, I came accross a 
VOB file that was copied from an unprotected commercial Video-DVD.

I have uploaded a small piece of the beginning to:
/MPlayer/incoming/codec_copy_fails_vob_to_mpeg-ts/codec_copy_fails_vob_to_mpeg-ts.vob

av_read_frame() does not return any packets with PTS/DTS information, 
although the VOB file definitely contains at least PTS/DTS info for each 
  I-Frame.

I have analyzed the packet data a bit further and realized that it 
mostly contains at least two frames, instead of a single frame which 
would I expect to be correct.

Going a bit deeper in the libraries I found out that it must be the 
function ff_mpeg1_find_frame_end() which does not correctly recognize 
the end of a frame in this VOB file.

Could somebody please have a look at the VOB file and state that it is 
indeed the aforementioned function which does not work correctly?

Thanks!

Best regards,
Christian

PS: some debug output of the beginning of the file below:

---
[mpeg @ 0x8c9a110]av_read_packet stream=0, pts=25854, dts=22254, 
size=2012, duration=0, flags=0
-----------------> next: -100
parser: in:25854, 22254, out:0, 0, in:2012 out:0 id:2
[mpeg @ 0x8c9a110]av_read_packet stream=0, pts=-9223372036854775808, 
dts=-9223372036854775808, size=2025, duration=0, flags=0
-----------------> next: -100
parser: in:-9223372036854775808, -9223372036854775808, out:0, 0, in:2025 
out:0 id:2
[mpeg @ 0x8c9a110]av_read_packet stream=0, pts=-9223372036854775808, 
dts=-9223372036854775808, size=2025, duration=0, flags=0
-----------------> next: 250
parser: in:-9223372036854775808, -9223372036854775808, out:0, 0, in:2025 
out:4287 id:2
[mpeg @ 0x8c9a110]av_read_frame_internal stream=0, 
pts=-9223372036854775808, dts=-9223372036854775808, size=4287, 
duration=3600, flags=1

(0)packet without PTS/DTS
video packet size: 4287 - data: 00.00.01.b3.2d.02...
         Startcode found at 0: b3
         Startcode found at 76: b5
         Startcode found at 86: b8
         Startcode found at 94: 00
         I-Frame
         Startcode found at 102: b5
         Startcode found at 111: 01
         Startcode found at 286: 02
         Startcode found at 461: 03
         Startcode found at 636: 04
         Startcode found at 811: 05
         Startcode found at 986: 06
         Startcode found at 1161: 07
         Startcode found at 1336: 08
         Startcode found at 1511: 09
         Startcode found at 1686: 0a
         Startcode found at 1861: 0b
         Startcode found at 2036: 0c
         Startcode found at 2211: 0d
         Startcode found at 2386: 0e
         Startcode found at 2561: 0f
         Startcode found at 2736: 10
         Startcode found at 2911: 11
         Startcode found at 3086: 12
         Startcode found at 3261: 00
         P-Frame
         Startcode found at 3270: b5
         Startcode found at 3279: 01
         Startcode found at 3335: 02
         Startcode found at 3391: 03
         Startcode found at 3447: 04
         Startcode found at 3503: 05
         Startcode found at 3559: 06
         Startcode found at 3615: 07
         Startcode found at 3671: 08
         Startcode found at 3727: 09
         Startcode found at 3783: 0a
         Startcode found at 3839: 0b
         Startcode found at 3895: 0c
         Startcode found at 3951: 0d
         Startcode found at 4007: 0e
         Startcode found at 4063: 0f
         Startcode found at 4119: 10
         Startcode found at 4175: 11
         Startcode found at 4231: 12






More information about the ffmpeg-devel mailing list