[MPlayer-users] black-white gradient on DVD playback

Damon smith_winston_6079 at hotmail.com
Sat Dec 5 17:08:20 CET 2009


Hi all,

I've encountered a problem playing a specific DVD using mplayer. Other DVDs work
fine (so the mplayer installation is ok), and the DVD of interest plays fine on
other players (so the DVD itself has not flaws such as scratches).

No, the problem is as follows. The DVD contains several tracks, out if which
only the first makes problems. If I play the first one, it would say

user at host ~$ mplayer -vo gl2 dvd://1
MPlayer SVN-r29975-snapshot-4.4.0 (C) 2000-2009 MPlayer Team

Playing dvd://1.
libdvdread: Using libdvdcss version 1.2.10 for DVD access
libdvdcss debug: opening target `/dev/dvd'
libdvdcss debug: using libc for access
libdvdcss debug: disc is unscrambled
libdvdcss debug: using CSS key cache dir: /home/media/.dvdcss/BLUBB
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000136
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x0000018d
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00000225
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x000b24af
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000b24e8
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x000c74cc
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x000c7505
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language:  aid: 128.
number of audio channels on disk: 1.
subtitle ( sid ): 0 language: 
number of subtitles on disk: 1
MPEG-PS file format detected.
VIDEO:  MPEG2  720x480  (aspect 3)  29.970 fps  7700.0 kbps (962.5 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
[mpeg2video @ 0x879d200]invalid frame_pred_frame_dct
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0x8878780]using unscaled yuv420p -> bgr24 special converter
VO: [gl2] 720x480 => 854x480 BGR 24-bit 
[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)
[gl2] antialiasing off
[gl2] bilinear linear
[mpeg2video @ 0x879d200]ac-tex damaged at 16 9
[mpeg2video @ 0x879d200]Warning MVs not available
[mpeg2video @ 0x879d200]concealing 945 DC, 945 AC, 945 MV errors
[mpeg2video @ 0x879d200]invalid frame_pred_frame_dct ??% ??,?% 0 0 
[mpeg2video @ 0x879d200]invalid frame_pred_frame_dct ??% ??,?% 0 0 
[mpeg2video @ 0x879d200]ac-tex damaged at 13 0
[mpeg2video @ 0x879d200]ac-tex damaged at 13 1
[mpeg2video @ 0x879d200]ac-tex damaged at 13 2
[mpeg2video @ 0x879d200]ac-tex damaged at 13 3
[mpeg2video @ 0x879d200]ac-tex damaged at 13 4
[mpeg2video @ 0x879d200]ac-tex damaged at 13 5
[mpeg2video @ 0x879d200]ac-tex damaged at 13 6
[mpeg2video @ 0x879d200]ac-tex damaged at 13 7
[mpeg2video @ 0x879d200]ac-tex damaged at 13 8
[mpeg2video @ 0x879d200]ac-tex damaged at 13 9
[mpeg2video @ 0x879d200]ac-tex damaged at 13 10
[mpeg2video @ 0x879d200]ac-tex damaged at 13 11
[mpeg2video @ 0x879d200]ac-tex damaged at 13 12
[mpeg2video @ 0x879d200]ac-tex damaged at 13 13
[mpeg2video @ 0x879d200]ac-tex damaged at 13 14
[mpeg2video @ 0x879d200]ac-tex damaged at 13 15
[mpeg2video @ 0x879d200]ac-tex damaged at 13 16
[mpeg2video @ 0x879d200]ac-tex damaged at 13 17
[mpeg2video @ 0x879d200]ac-tex damaged at 13 18
[mpeg2video @ 0x879d200]ac-tex damaged at 13 19
[mpeg2video @ 0x879d200]ac-tex damaged at 13 20
[mpeg2video @ 0x879d200]ac-tex damaged at 13 21
[mpeg2video @ 0x879d200]ac-tex damaged at 13 22
[mpeg2video @ 0x879d200]ac-tex damaged at 13 23
[mpeg2video @ 0x879d200]ac-tex damaged at 13 24
[mpeg2video @ 0x879d200]ac-tex damaged at 13 25
[mpeg2video @ 0x879d200]ac-tex damaged at 13 26
[mpeg2video @ 0x879d200]ac-tex damaged at 13 27
[mpeg2video @ 0x879d200]ac-tex damaged at 13 28
[mpeg2video @ 0x879d200]ac-tex damaged at 13 29
[mpeg2video @ 0x879d200]concealing 1350 DC, 1350 AC, 1350 MV errors
[mpeg2video @ 0x879d200]invalid frame_pred_frame_dct ??% ??,?% 0 0 
<and so on...>
A:   0.6 V:   0.6 A-V:  0.048 ct:  0.014  12/ 10 ??% ??% ??,?% 0 0 
Exiting... (Quit)

========

When I play the second (which displays find), it would say:

MPlayer SVN-r29975-snapshot-4.4.0 (C) 2000-2009 MPlayer Team

Playing dvd://2.
libdvdread: Using libdvdcss version 1.2.10 for DVD access
libdvdcss debug: opening target `/dev/dvd'
libdvdcss debug: using libc for access
libdvdcss debug: disc is unscrambled
libdvdcss debug: using CSS key cache dir: /home/media/.dvdcss/BLUBB
There are 3 titles on this DVD.
There are 1 angles in this DVD title.

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000136
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x0000018d
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00000225
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x000b24af
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000b24e8
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x000c74cc
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x000c7505
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language:  aid: 128.
number of audio channels on disk: 1.
number of subtitles on disk: 0
MPEG-PS file format detected.
VIDEO:  MPEG2  720x480  (aspect 2)  29.970 fps  7700.0 kbps (962.5 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[swscaler @ 0x8878780]using unscaled yuv420p -> bgr24 special converter
VO: [gl2] 720x480 => 720x540 BGR 24-bit 
[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)
[gl2] antialiasing off
[gl2] bilinear linear
[mpeg2video @ 0x879d200]ac-tex damaged at 18 10
[mpeg2video @ 0x879d200]Warning MVs not available
[mpeg2video @ 0x879d200]concealing 900 DC, 900 AC, 900 MV errors
<and nothing more>
A:   0.5 V:   0.5 A-V: -0.046 ct:  0.012  10/ 10 ??% ??% ??,?% 0 0 
Exiting... (Quit)

========

While the second track plays fine, the first track is displayed as a
white-to-black gradient picture with occasional artifacts. As livdvdcss
states, the DVD is unscrambled, so the DVD is neither regionised, nor
secured with a key. Besides that, I was able to play the DVD earlier on the
same machine with mplayer.

========

So, from the init section (until the mpeg2video module starts to print debug
stuff on stdout), I can see no difference. For either track, mplayer recognises
an MPEG-PS stream in 720x480 (DVD scale & 3:2 aspect). As usual, then mplayer
complains that the output (video driver) does not accept the DVD colorspace,
and tries to load the 'scale' video filter (why?). Furthermore, mplayer
complains that, now, 'scale' does not work with 'mpegpes', and the decoder init
fails. If then uses 'ffmpeg' as decoder, which complains about an 'unsupported
pixel format -1', which causes mplayer to switch to 'ffmpeg2',

So far, both tracks produce equal output.

Now, the first track would cause mplayer to print:

Starting playback...
[mpeg2video @ 0x879d200]invalid frame_pred_frame_dct
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0x8878780]using unscaled yuv420p -> bgr24 special converter
VO: [gl2] 720x480 => 854x480 BGR 24-bit 
[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)
[gl2] antialiasing off
[gl2] bilinear linear

What does the 'invalid frame_pred_frame_dct' from mpeg2video mean?

The second track would cause mplayer to print:

Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[swscaler @ 0x8878780]using unscaled yuv420p -> bgr24 special converter
VO: [gl2] 720x480 => 720x540 BGR 24-bit 
[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)
[gl2] antialiasing off
[gl2] bilinear linear

So, the interesting difference here is that, while in track one, mplayer tries
to up-scale the movie (to 854:480 [aspect 16:9]), the second track is scaled
to 720x540 (aspect 4:3). I presumed that something goes wrong with the scaling,
so I turned off all video filters with -vf-clr, but the up-scaling still
happens.

I tried several other scalings with '-vf scale', but nothing worked. Even
'-vf scale=-1' to preserve the scaling or adding more colorspace filters
wouldn't help.

========

The interesting part is that I had to use gl2 as video output since the standard
one would crash (not only mplayer, but the entire machine simply stops!). Could
gl2 have a problem? And if so, why with the first track only?

========

My DVDCSS_METHOD is set to 'title', and there are not further config files
used, no subfont.ttf set, and not profiles set. Sound works fine on either
track. I am using the svn export from 05/12/09.

Thanks in advance for your help.

Cheers,
Damon




More information about the MPlayer-users mailing list