Problem with encoding on _every_ cvs snapshot after 2005/03/06
Hello all, first of all, thanks for your work, I love encoding with mencoder :) Today while updating to the last CVS after some time I've stumbled on a strange problem - an encoding which worked smoothly before the update now showed an error (non-fatal), and the final avi file showed some corrupted frames in the same place where the error occurred. I'll go in a little more detail shortly, but first let me tell you that I think I've spotted the exact CVS file where this "bug" (if it is a bug) was introduced. I've tested a lot of CVS snapshots, and the problem is NOT present in all snapshots up and including MPlayer-20050306.tar.bz2. The problem is present in MPlayer-20050307.tar.bz2 and all the snapshots afterwards, including the official 1.0pre7 release. The problem manifests itself in two way: 1) When I play the .VOB file using a gmplayer compiled from a snapshot taken after 03/06, at a very precise place in the file (247s) gmplayer writes the following errors: [mpeg2video @ 0x8670120]end mismatch left=376294 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]ac-tex damaged at 2 8 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 7 9 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]invalid cbp at 5 10 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 6 11 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 1 12 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 1 13 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 4 14 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]ac-tex damaged at 2 15 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 4 16 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]slice mismatch [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 3 18 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]ac-tex damaged at 7 19 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]slice mismatch [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 2 21 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 12 22 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 43 23 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 2 24 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]mb incr damaged [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 13 26 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 10 27 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]invalid mb type in B Frame at 8 28 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 2 29 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]00 motion_type at 33 30 [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]MPEG motion vector out of boundary [mpeg2video @ 0x8670120]mb incr damaged [mpeg2video @ 0x8670120]ac-tex damaged at 0 32 [mpeg2video @ 0x8670120]ac-tex damaged at 0 33 [mpeg2video @ 0x8670120]ac-tex damaged at 0 34 [mpeg2video @ 0x8670120]ac-tex damaged at 0 35 [mpeg2video @ 0x8670120]Warning MVs not available [mpeg2video @ 0x8670120]concealing 1260 DC, 1260 AC, 1260 MV errors and then it goes on playing. This does _not_ happen with earlier gmplayers. 2) When I encode the .VOB file to avi using a gmplayer compiled from a snapshot taken after 03/06, at the same place in the file mecoder reports a duplicate frame, then after having encoded for another minute or so it reports a CRC error: Pos: 247.1s 6184f ( 4%) 54fps Trem: 40min 415mb A-V:-0.080 [504:134] 1 duplicate frame(s)! a52: CRC check failed! ) 53fps Trem: 39min 413mb A-V:-0.053 [502:134] a52: error at resampling Earlier versions of mencoder don't find any duplicate frames around that position in the file, and they don't complain about CRC errors. As I said, the final file has visible corruption of frames at ~247 seconds, while the same file encoded with an earlier mencoder has not. That's all I know. It seems it may be something in libavcodec/mpegvideo.c or similar files. I don't know. My system is a Fedora 2 on a 2.6.10-1 kernel, but I don't think that's relevant. If you need more infos please let me know. Bye, thanks, Enrico ________________________________________________________________ Mailbox hosted by Isole nella Rete - http://www.ecn.org/
On Sat, Apr 30, 2005 at 09:31:24PM -0000, treponemanichols@ecn.org wrote:
Hello all,
first of all, thanks for your work, I love encoding with mencoder :)
Today while updating to the last CVS after some time I've stumbled on a strange problem - an encoding which worked smoothly before the update now showed an error (non-fatal), and the final avi file showed some corrupted frames in the same place where the error occurred.
Why don't you show us the command line you used? W e have absolutely no idea what you did... Rich
Why don't you show us the command line you used? W e have absolutely no idea what you did...
Thanks for your answer, Rich. I'm trying to encode into an avi file a regular vob obtained from a PAL dvd with "vobcopy -l -n 7 -o ./ -i /mnt/dvd". The vob is ~4.8GB in size. The problem is there both when playing the vob and when encoding it, and actually the errors are more informative when playing it. When playing the vob, the simplest command lines like "gmplayer in.vob" or "mplayer in.vob" will produce the burst of errors I reported yesterday, after 247 seconds (this is only important because it's very near the beginning of the file, so it's not likely to have something to do the file being very big). To encode, I use this command line: nice -n 0 /usr/local/bin/mencoder in.vob -o /dev/null -oac mp3lame \ -lameopts vbr=3:br=128:vol=2.666 -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=945:mbd=2:vmax_b_frames=2:v4mv:trell:autoaspect:psnr:turbo:vrc_override=131500,500000,20-31:vpass=1 \ -vf crop=712:436:6:70,scale=592:256:0:0:0.00:0.75 -sws 2 for the first pass and similar lines for the second and third passes. Mencoder reports a duplicate frame at second 247,1 and a CRC error shortly after on each of the three passes. Now, all this is clearly very dependent on the particular vob file I'm playing and encoding, and I'm afraid it will be of little help in understanding what's happening. I wouldn't have bothered writing about it here if I hadn't found that these errors were introduced by some change in the 03/06 CVS. The important thing, I think, is that there are some errors generated by the libavcodec's mpeg code that were not generated by version of that code earlier than 03/07. As far as I know this could well be a _feature_, a better error detecting routine or whatever. Yet from a user point of view, this also seems to cause some corrupted frames when encoding. I'll just encoding this particular file using 03/06 CVS, then go on using one of the latest CVS and see if this error comes up again, so I don't really need that this problem is sorted out. But I thought it was worth pointing it out. If you need any other info, I'm there. If anybody can suggest me some switch to let mencoder output some more meaningful error messages, please do. Thanks again, Enrico ________________________________________________________________ Mailbox hosted by Isole nella Rete - http://www.ecn.org/
On Sun, May 01, 2005 at 07:30:40AM -0000, treponemanichols@ecn.org wrote:
Why don't you show us the command line you used? W e have absolutely no idea what you did...
Thanks for your answer, Rich.
I'm trying to encode into an avi file a regular vob obtained from a PAL dvd with "vobcopy -l -n 7 -o ./ -i /mnt/dvd". The vob is ~4.8GB in size. The problem is there both when playing the vob and when encoding it, and actually the errors are more informative when playing it.
When playing the vob, the simplest command lines like "gmplayer in.vob" or "mplayer in.vob" will produce the burst of errors I reported yesterday, after 247 seconds (this is only important because it's very near the beginning of the file, so it's not likely to have something to do the file being very big).
To encode, I use this command line:
nice -n 0 /usr/local/bin/mencoder in.vob -o /dev/null -oac mp3lame \
Don't play vob files this way. Use -dvd-device /path/to/vobs dvd://[titleno] I'm not positive that will fix it, but that's the correct way to play a copied dvd, at least. Rich
participants (2)
-
Rich Felker -
treponemanichols@ecn.org