videos show in reverse colors

I recently installed openSUSE 11.1, including all the necessary packages from Packman for viewing videos. It seemed that everything is installed correctly, but when I play a video it is always displayed in reverse colors and the first seconds the image is moving very irregularly. This happens with Totem, MPlayer, SMPlayer and VLC and with videos I view within Firefox. Photos and videos from Youtube are displayed correctly.

The specs of my system:
AMD Athlon 64 X2 Dual Core Processor 5000+ with 2 GB RAM
nVidia GeForce 8500GT 512 MB with nVidia driver 180.22
openSUSE 11.1 (64 bit)
Kernel 2.6.27.7-9
GNOME 2.24.1

I followed the ten steps for checking multimedia problems. These are the results:

Step 1:
# LC_ALL=C zypper ve
Loading repository data...
Reading installed packages...
Dependencies of all installed packages are satisfied.

Step 2:
# rpm -qa --queryformat '%{NAME} -> %{VENDOR}
' | grep -i VideoLAN
libdvdcss -> VideoLAN Project (http://www.videolan.org)

Step 3:
# rpm --verify --query --all 'libav*' 'libpostproc*' 'libswscale*'

Step 4:
# rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' libxine1 libxine1-codecs
libxine1-1.1.16.1-0.pm.0-x86_64 -> packman.links2linux.de
libxine1-codecs-1.1.16.1-0.pm.0-x86_64 -> packman.links2linux.de

Step 5:
# rpm --verify --query --all '*xine*'

Step 6:
# rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' gstreamer-0_10-ffmpeg gstreamer-0_10-fluendo-mp3 gstreamer-0_10-fluendo-mpegdemux gstreamer-0_10-fluendo-mpegmux gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-ugly
gstreamer-0_10-ffmpeg-0.10.6-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mp3-0.10.10-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegdemux-0.10.23-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-bad-0.10.8-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-base-0.10.21-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-ugly-0.10.10-42.pm.2-x86_64 -> packman.links2linux.de

Step 7:
# rpm --verify --query --all '*gst*'

Step 8:
# rpm --verify MPlayer

Step 9:
# rpm --verify --query --all '*vlc*'

Step 10:
# rpm --verify w32codec-all

Installed packages:
# rpm --query --all 'libav*' 'libpostproc*' 'libswscale*' '*xine*' '*gst*' '*layer*' '*vlc*' | grep -v avahi | sort
banshee-1-backend-engine-gstreamer-1.4.1-2.12
flash-player-10.0.15.3-1.1
gstreamer-0_10-0.10.21-42.pm.3
gstreamer-0_10-ffmpeg-0.10.6-42.pm.1
gstreamer-0_10-fluendo-mp3-0.10.10-42.pm.1
gstreamer-0_10-fluendo-mpegdemux-0.10.23-42.pm.1
gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1
gstreamer-0_10-plugins-bad-0.10.8-42.pm.2
gstreamer-0_10-plugins-bad-lang-0.10.8-42.pm.2
gstreamer-0_10-plugins-base-0.10.21-42.pm.2
gstreamer-0_10-plugins-good-0.10.10-42.pm.3
gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3
gstreamer-0_10-plugins-ugly-0.10.10-42.pm.2
gstreamer-0_10-plugins-ugly-lang-0.10.10-42.pm.2
gstreamer-0_10-schroedinger-1.0.5-42.pm.4
gstreamer-0_10-utils-0.10.21-42.pm.3
gstreamer-utils-0.10.21-42.pm.3
libavc1394-0-0.5.3-129.6
libavcodec52-0.4.9.16438svn-20090105.pm.1938
libavdevice52-0.4.9.16438svn-20090105.pm.1938
libavformat52-0.4.9.16438svn-20090105.pm.1938
libavutil49-0.4.9.16438svn-20090105.pm.1938
libgstapp-0_10-0-0.10.8-42.pm.2
libgstinterfaces-0_10-0-0.10.21-42.pm.2
libgstreamer-0_10-0-0.10.21-42.pm.3
libgstreamer-0_10-0-32bit-0.10.21-3.11
libpostproc51-0.4.9.16438svn-20090105.pm.1938
libswscale0-0.4.9.16438svn-20090105.pm.1938
libvlc2-0.9.8a-0.pm.4
libvlccore0-0.9.8a-0.pm.4
libxine1-1.1.16.1-0.pm.0
libxine1-codecs-1.1.16.1-0.pm.0
libxine1-gnome-vfs-1.1.16.1-0.pm.0
libxine1-pulse-1.1.16.1-0.pm.0
MPlayer-1.0rc2_r27637-3.pm.3
mplayerplug-in-3.55-0.pm.1
pullin-flash-player-11.1-1.1
smplayer-0.6.6-0.pm.1
vlc-0.9.8a-0.pm.4
vlc-noX-0.9.8a-0.pm.4
vlc-qt-0.9.8a-0.pm.4
xinetd-2.3.14-129.35

I think everything I need is installed and working. Can anyone help me with this problem?

I would say it’s a driver problem… with “mplayer -vo x11 <movie>” it’s the same?

Thanks for your suggestion. With “mplayer -vo x11 <movie>” the movie was displayed with correct colors.

I also tried “mplayer <movie>” and I got the reverse colors again. I compared the output generated by both commands and the command “mplayer -vo x11 <movie>” gave one additional line:

[swscaler @ 0xcfc6c0]using unscaled yuv420p -> rgb32 special converter

Maybe that makes the difference between correct and reverse colors?

I don’t think it’s normal that it requires a color space conversion to rgb32, never… but I don’t really have the expertise to debug this, even less remotely.

The thing is there are multiple ways of displaying video (see “mplayer -vo help” output). By default I expect mplayer to use “xv”. “x11” is the most basic way (also slower and with other problems), that’s why I said you to try it.
“mplayer -vo xv <movie>” (should be the same than “mplayer <movie>”) must work. If isn’t working correctly probably it’s a driver problem, a problem that perhaps only happens with your graphic card (I have a 7600GT and works fine). I would ask the same question in the nvidia linux forum (NVIDIA Linux - nV News Forums), they will know better.

To try to understand the problem I would look at “xvinfo” and full mplayer outputs… you can copy them here, but I’m just guessing… if mplayer is really using “xv” I doubt I will be able to fix it.
Like a workaround you can use gl or gl2 video outputs. If the colors are correct they are pretty good video outputs.

As you suggested I have taken a look at the NVIDIA forum and I found this thread that describes my problem. The problem is caused by different ranges for hue set by the NVIDIA graphics driver (0 - 360, default 0) and for instance Totem (-180 - 180, default 0). It only applies to the xv video output. As long as NVIDIA and the manufacturers of players do not agree upon the right standard, this problem will not be solved.

I can use a workaround by choosing x11 or gl as a standard video output in for instance MPlayer. That gives me the right colors. With that workaround my problem is solved. Thank you for your help.

I had a similar problem. I used a player (SMplayer) that provided Hue control. Changing the hue got me the right colors.
Hope this helps.

See also this thread on the same issue:
https://forums.opensuse.org/english/get-technical-help-here/multimedia/393579-colors-corruption-video-playback-after-updating-kde4-1-a.html