After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 361587 - wrong colors when playing a video when using xvimage sink
wrong colors when playing a video when using xvimage sink
Status: RESOLVED DUPLICATE of bug 357741
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-10-11 23:52 UTC by xbx
Modified: 2006-10-12 08:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description xbx 2006-10-11 23:52:50 UTC
Please describe the problem:
all videos played get their colors shifted. (that is, red becomes blue, and so on)

it's apparently related to I420 fourcc caps. (YV12 works, I420 doesn't)

Steps to reproduce:
gst-launch playbin uri=file://xxx.avi

Actual results:


Expected results:


Does this happen every time?
yes

Other information:
here is a log when the problem is present:

===================
0:00:00.541284000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1479:gst_xvimagesink_xcontext_get:<videosink-actual-sink> X reports 1440x900 pixels and 373 mm x 231 mm
0:00:00.541459000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1407:gst_xvimagesink_calculate_pixel_aspect_ratio: calculated pixel aspect ratio: 1,009199
0:00:00.541574000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1422:gst_xvimagesink_calculate_pixel_aspect_ratio: Decided on index 0 (1/1)
0:00:00.541665000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1430:gst_xvimagesink_calculate_pixel_aspect_ratio: set xcontext PAR to 1/1
0:00:00.541986000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1136:gst_xvimagesink_get_xv_support: Found 1 XV adaptor(s)
0:00:00.542163000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1153:gst_xvimagesink_get_xv_support: XV Adaptor ATI Radeon AVIVO Video with 4 ports
0:00:00.542734000  7808 0x80a7140 DEBUG          xvimagesink xvimagesink.c:1348:gst_xvimagesink_get_xv_support: Generated the following caps: video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, endianness=(int)4321, depth=(int)32, bpp=(int)32, blue_mask=(int)-16777216, green_mask=(int)-16777216, red_mask=(int)-16777216, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.660941000  7808 0x80f1960 DEBUG          xvimagesink xvimagesink.c:1762:gst_xvimagesink_setcaps:<videosink-actual-sink> intersection returned video/x-raw-yuv, format=(fourcc)I420, width=(int)320, height=(int)180, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1

========

now, if I add in the code a workaround,
near xvimagesink.c:1306
      case XvYUV:
		if (formats[i].id == GST_MAKE_FOURCC ('I','4','2','0'))
			break;

then the format is removed from the list, "YV12" is chosen instead, and everything works as expected.

(now I have no idea if this is a Xv bug, an ati bug, a xvimagesink bug, a colorspace converter bug, as I have no idea what those fourcc mean precisely... )
Comment 1 Jan Schmidt 2006-10-12 01:42:57 UTC
Which graphics hardware is this? Which driver are you using?

This is the 2nd report like this that I've seen. I'm pretty sure it's a driver bug, since it's announcing that it supports I420, we're giving it I420, and it's drawing it as YV12 (which is the same as I420 but with the U & V planes flipped)

Pretty sure this is a dupe of bug #357741
Comment 2 xbx 2006-10-12 08:09:03 UTC
it's indeed a duplicate of bug #357741.

I'm using:
(II) ATI Proprietary Linux Driver Version Identifier:8.29.6
(II) ATI Proprietary Linux Driver Release Identifier: LGDr8.29g1
(II) ATI Proprietary Linux Driver Build Date: Sep 19 2006 16:28:05
(II) ATI Proprietary Linux Driver Build Information: autobuild-rel-r6-8.29.1.1.2.3-driver-lnx-x86-x86_64-294118
(--) Chipset MOBILITY RADEON X1600 (M56 71C5) found

xvimagesink.c:1153:gst_xvimagesink_get_xv_support: XV Adaptor ATI Radeon AVIVO
Video with 4 ports

(and it's with ubuntu6.06)

Comment 3 xbx 2006-10-12 08:10:33 UTC

*** This bug has been marked as a duplicate of 357741 ***