[BUG] regression when playing a DVD after r18429
The following commit introduced a regression when playing DVDs for me: ------------------------------------------------------------------------ r18429 | nicodvb | 2006-05-11 00:03:18 +0200 (Thu, 11 May 2006) | 2 lines Changed paths: M /trunk/libmpcodecs/vd_libmpeg2.c M /trunk/libmpdemux/video.c moved code to set aspect ratio for mpeg12 away from video.c and into decoder files; A/R changes work correctly with -vc mpeg12 ------------------------------------------------------------------------ When the movie starts MPlayer prints VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) Trying filter chain: vo VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. VO Config (720x576->1024x576,flags=0,'MPlayer',0x32315659) VO: [xmga] 720x576 => 1024x576 Planar YV12 but more than an hour into the movie it suddenly prints VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) Trying filter chain: vo VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. VO Config (720x576->768x576,flags=0,'MPlayer',0x32315659) VO: [xmga] 720x576 => 768x576 Planar YV12 and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD. Diego
Hello, On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
mplayer -ss 1:10:00 -endpos 20:00 -dumpvideo dvd:// or something like that. Greetings, Reimar Döffinger
Hi, On Saturday 25 August 2007 03:56, Reimar Döffinger wrote:
On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
mplayer -ss 1:10:00 -endpos 20:00 -dumpvideo dvd:// or something like that.
I can confirm this bug too. It happens on one of my DVDs. Effect is the same: new aspect ratio is wrong, but never recovers again automatically until I manually change from full screen mode to windowed mode and vice versa. This error occurs after a new RIFF chunk start at about 1 hour of playback. Noteworthily this error disappears after cutting a peace of movie using -ss, -endpos; perhaps due to single RIFF chunk.
On Sat, Aug 25, 2007 at 01:56:36AM +0200, Reimar Döffinger wrote:
On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
mplayer -ss 1:10:00 -endpos 20:00 -dumpvideo dvd:// or something like that.
Unfortunately this dumps the movie from the start.. Diego
On Sat, Aug 25, 2007 at 01:11:58PM +0200, Diego Biurrun wrote:
On Sat, Aug 25, 2007 at 01:56:36AM +0200, Reimar Döffinger wrote:
On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
mplayer -ss 1:10:00 -endpos 20:00 -dumpvideo dvd:// or something like that.
Unfortunately this dumps the movie from the start..
With -dump stream/video/audio -ss -endpos -frames do not work. The only way to limit the amount of data dumped is with the option -chapter. If the dvd has chapters, find in which chapter the aspect ratio changes and dump only that chapter (-chapter n-n). Ciao Giacomo
On Sat, Aug 25, 2007 at 10:08:56AM -0400, Giacomo Comes wrote:
On Sat, Aug 25, 2007 at 01:11:58PM +0200, Diego Biurrun wrote:
On Sat, Aug 25, 2007 at 01:56:36AM +0200, Reimar Döffinger wrote:
On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
mplayer -ss 1:10:00 -endpos 20:00 -dumpvideo dvd:// or something like that.
Unfortunately this dumps the movie from the start..
With -dump stream/video/audio -ss -endpos -frames do not work. The only way to limit the amount of data dumped is with the option -chapter. If the dvd has chapters, find in which chapter the aspect ratio changes and dump only that chapter (-chapter n-n).
Thanks, that did the trick. Here is a 5MB part that is enough to reproduce the problem: http://www1.mplayerhq.hu/~diego/gigolo_small.dump Diego
Diego Biurrun wrote:
Thanks, that did the trick. Here is a 5MB part that is enough to reproduce the problem:
http://www1.mplayerhq.hu/~diego/gigolo_small.dump
Diego
The aspect ratio information really changes as you can see: (consider only the first nibble of a/f, the second one is unrelated) $ mpeg2desc -u <gigolo_small.dump |grep "sequence hdr" 0002cd4b: sequence hdr: 720x576, a/f:33, bitrate=24500 0008b523: sequence hdr: 720x576, a/f:33, bitrate=24500 000e91b7: sequence hdr: 720x576, a/f:33, bitrate=24500 001449d3: sequence hdr: 720x576, a/f:33, bitrate=24500 001a4ca7: sequence hdr: 720x576, a/f:33, bitrate=24500 00202e7b: sequence hdr: 720x576, a/f:33, bitrate=24500 002637db: sequence hdr: 720x576, a/f:33, bitrate=24500 002bfa87: sequence hdr: 720x576, a/f:33, bitrate=24500 0031d133: sequence hdr: 720x576, a/f:33, bitrate=24500 0037a53f: sequence hdr: 720x576, a/f:33, bitrate=24500 003e66bb: sequence hdr: 720x576, a/f:23, bitrate=24500 0042d527: sequence hdr: 720x576, a/f:23, bitrate=24500 00479cd7: sequence hdr: 720x576, a/f:23, bitrate=24500 004d7aab: sequence hdr: 720x576, a/f:23, bitrate=24500 what should we do, ignore the change? or maybe do you prefer to use the A/R reported by the ifo if available? (using a new STREAM_CTRL) This last solution would have the positive side-effect to restore proper playback of recent dvds that are more and more often played as 2.37 by vd_ffmpeg
On Sun, Aug 26, 2007 at 12:25:06AM +0200, Nico Sabbi wrote:
Diego Biurrun wrote:
Thanks, that did the trick. Here is a 5MB part that is enough to reproduce the problem:
The aspect ratio information really changes as you can see: (consider only the first nibble of a/f, the second one is unrelated)
$ mpeg2desc -u <gigolo_small.dump |grep "sequence hdr" 0002cd4b: sequence hdr: 720x576, a/f:33, bitrate=24500 0008b523: sequence hdr: 720x576, a/f:33, bitrate=24500 000e91b7: sequence hdr: 720x576, a/f:33, bitrate=24500 001449d3: sequence hdr: 720x576, a/f:33, bitrate=24500 001a4ca7: sequence hdr: 720x576, a/f:33, bitrate=24500 00202e7b: sequence hdr: 720x576, a/f:33, bitrate=24500 002637db: sequence hdr: 720x576, a/f:33, bitrate=24500 002bfa87: sequence hdr: 720x576, a/f:33, bitrate=24500 0031d133: sequence hdr: 720x576, a/f:33, bitrate=24500 0037a53f: sequence hdr: 720x576, a/f:33, bitrate=24500 003e66bb: sequence hdr: 720x576, a/f:23, bitrate=24500 0042d527: sequence hdr: 720x576, a/f:23, bitrate=24500 00479cd7: sequence hdr: 720x576, a/f:23, bitrate=24500 004d7aab: sequence hdr: 720x576, a/f:23, bitrate=24500
what should we do, ignore the change? or maybe do you prefer to use the A/R reported by the ifo if available? (using a new STREAM_CTRL) This last solution would have the positive side-effect to restore proper playback of recent dvds that are more and more often played as 2.37 by vd_ffmpeg
If that last solution works in both cases (and does not introduce regressions) then I guess it is preferable. Diego
Diego Biurrun wrote:
If that last solution works in both cases (and does not introduce regressions) then I guess it is preferable.
Diego
the patch attached will set the movie_aspect with the value reported by the stream reader if the information is available, but the I have to admin that the solution (in mplayer.c) is quite ugly: first of all relying on a global such as movie_aspect (in mplayer.c and libmpcodecs/vd.c) simply sucks; secondly movie_aspect should be reset to its original value after the completion of the current playtree item. I don't have much time to dedicate to this issue, so anyone feel free to enhance the patch in a more appropriate manner.
Nico Sabbi wrote:
Diego Biurrun wrote:
If that last solution works in both cases (and does not introduce regressions) then I guess it is preferable.
Diego
the patch attached will set the movie_aspect with the value reported by the stream reader if the information is available, but the I have to admin that the solution (in mplayer.c) is quite ugly: first of all relying on a global such as movie_aspect (in mplayer.c and libmpcodecs/vd.c) simply sucks; secondly movie_aspect should be reset to its original value after the completion of the current playtree item. I don't have much time to dedicate to this issue, so anyone feel free to enhance the patch in a more appropriate manner.
oops, patch without cosmetics
On Wed, Aug 29, 2007 at 12:30:18AM +0200, Nico Sabbi wrote:
Nico Sabbi wrote:
Diego Biurrun wrote:
If that last solution works in both cases (and does not introduce regressions) then I guess it is preferable.
the patch attached will set the movie_aspect with the value reported by the stream reader if the information is available, but the I have to admin that the solution (in mplayer.c) is quite ugly: first of all relying on a global such as movie_aspect (in mplayer.c and libmpcodecs/vd.c) simply sucks; secondly movie_aspect should be reset to its original value after the completion of the current playtree item. I don't have much time to dedicate to this issue, so anyone feel free to enhance the patch in a more appropriate manner.
oops, patch without cosmetics
I guess you should post it to dev-eng, it will likely be overlooked here... Diego
On Sat, Aug 25, 2007 at 01:24:14AM +0200, Diego Biurrun wrote:
The following commit introduced a regression when playing DVDs for me:
------------------------------------------------------------------------ r18429 | nicodvb | 2006-05-11 00:03:18 +0200 (Thu, 11 May 2006) | 2 lines Changed paths: M /trunk/libmpcodecs/vd_libmpeg2.c M /trunk/libmpdemux/video.c
moved code to set aspect ratio for mpeg12 away from video.c and into decoder files; A/R changes work correctly with -vc mpeg12 ------------------------------------------------------------------------
When the movie starts MPlayer prints
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) Trying filter chain: vo VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. VO Config (720x576->1024x576,flags=0,'MPlayer',0x32315659) VO: [xmga] 720x576 => 1024x576 Planar YV12
but more than an hour into the movie it suddenly prints
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) Trying filter chain: vo VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. VO Config (720x576->768x576,flags=0,'MPlayer',0x32315659) VO: [xmga] 720x576 => 768x576 Planar YV12
and the aspect ratio changes (and is of course wrong then). It switches back after some time. I would upload a sample if I knew how to create it, the problem occurs about one hour 20 minutes into the DVD.
Hmm, this is weird. I remember Nico fixing this issue, but now I cannot reproduce it anymore and any revision I try has this problem. In any case, the issue still persists with HEAD. Here is the sample again: http://www1.mplayerhq.hu/~diego/gigolo_small.dump Diego
participants (5)
-
Andrew Savchenko -
Diego Biurrun -
Giacomo Comes -
Nico Sabbi -
Reimar Döffinger