[MPlayer-users] [BUG REPORT] - zero length frames in mencoder output

bond b-o-n-d at gmx.net
Thu Dec 30 19:27:40 CET 2004


hi, i discussed this issue with pengvado/akupenguin, the dev implementing x264 into mencoder, and he meant i might file a bug report about this issue so here it is:

i tried encoding with x264 with a compile made from cvs on the 29/12/2004 (but the issue is also there with older builds)

i used the following commandline from a .vob source (together with some changed settings i describe below): 
"C:\path\mencoder.exe" -ss 00:00:00.400 -frames 100 -noskip -mc 0 -sws 9 -vf crop=720:416:0:82,scale=640:256,harddup -vfm ffmpeg "C:\path\source.vob" -ovc x264 -of avi -ffourcc VSSH -o mencoder.avi

i extracted the output to raw h.264 streams with the avi2raw tool provided by the mpeg4ip project (available on sourceforge), latest cvs, which is according to the devs able to handle avc-in-avi. - While doing this the tool reported that there are "zero length frames" in different amounts depending on the used settings in the output and also the total amount of "correct" avc frame it was able to output
- also i noticed that mencoder reports about "1 duplicate frame(s)" during encoding, leading to one frame being too few in the output (independant of the zero length frames)

to be able to avoid that problem i tried the following things, also in combination:
1) -noskip
2) -vf harddup
3) -vfm ffmpeg (in contrary to default decoding with libmpeg2)
4) -mc 0

i got the following findings:
- decoding with ffmpeg (-vfm ffmpeg), no -noskip, with -vf harddup: 1 zero length frame gets reported by avi2raw, also during encoding with mencoder i get a "1 duplicate frame(s)" message (also the avi2raw tool writes 98 frames of the desired 100 frames)
- decoding with ffmpeg, using -noskip and harddup: 3 zero length frames reported, but no "1 duplicate frame(s)" message during encoding (97 frames written)
- decoding with ffmpeg, no -noskip, no harddup: 2 zero length, 1 duplicate frame (97 frames written)

- decoding with libmpeg2 and no -noskip, with harddup: no zero length frame reported! but during encoding "1 duplicate frames" (99 frames written)
- decoding with libmpeg2 and -noskip, with harddup: 2 zero length frames, no duplicate message (98 frames written)
- decoding with libmpeg2, no -noskip, no harddup: 1 zero length frame, 1 duplicate (98 frames written)


doing the math, pointing out the problems:
- not using -noskip leads to the removal of 1 (not zero length) frame (called "duplicate frame" during encoding) during encoding with both ffmpeg and libmpeg2 and outputting 1 frame too few independant of the zero frames issue 
- using noskip on the other side also leads to that two frames of the output are zero length frames with both ffmpeg and libmpeg2

independant of using -noskip:
- using ffmpeg as decoder leads to that two frames of the output are zero length frames
- using libmpeg2 as decoder leads to that one frame of the output is a zero length frame

- using harddup removes 1 zero length frame with both ffmpeg and libmpeg2

- adding/removing "-mc 0" gives exactly the same results


if i didnt made a mistake thats the only solution fitting my findings
note that i never used b-frames in my tests!!!
you might want to read up a discussion about it on the doom9 forum, but i think i wrote all details here already: http://forum.doom9.org/showthread.php?s=&threadid=83039&perpage=20&pagenumber=5

cheers
bond
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20041230/21515e13/attachment.htm>


More information about the MPlayer-users mailing list