From: GStreamer (bugzilla.gnome.org) <bug...@bu...> - 2006-10-11 23:52:59
|
Do not reply to this via email (we are currently unable to handle email responses and they get discarded). You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=3D361587 GStreamer | gst-plugins-base | Ver: HEAD CVS Summary: wrong colors when playing a video when using xvimage sink Product: GStreamer Version: HEAD CVS Platform: Other OS/Version: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: gst-plugins-base AssignedTo: gst...@li... ReportedBy: xa...@gm... QAContact: gst...@li... GNOME version: 2.13/2.14 GNOME milestone: Unspecified Please describe the problem: all videos played get their colors shifted. (that is, red becomes blue, a= nd so on) it's apparently related to I420 fourcc caps. (YV12 works, I420 doesn't) Steps to reproduce: gst-launch playbin uri=3Dfile://xxx.avi Actual results: Expected results: Does this happen every time? yes Other information: here is a log when the problem is present: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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: calculat= ed 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 xcon= text 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 followin= g caps: video/x-raw-yuv, format=3D(fourcc)YV12, width=3D(int)[ 1, 4096 ], height=3D(int)[ 1, 4096 ], framerate=3D(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=3D(fourcc)I420, width=3D(int)[ 1, 4096 ], height=3D= (int)[ 1, 4096 ], framerate=3D(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, endianness=3D(int)4321, depth=3D(int)32, bpp=3D(int)32, blue_mask=3D(int)= -16777216, green_mask=3D(int)-16777216, red_mask=3D(int)-16777216, width=3D(int)[ 1,= 4096 ], height=3D(int)[ 1, 4096 ], framerate=3D(fraction)[ 0/1, 2147483647/1 ] 0:00:00.660941000 7808 0x80f1960 DEBUG xvimagesink xvimagesink.c:1762:gst_xvimagesink_setcaps:<videosink-actual-sink> inters= ection returned video/x-raw-yuv, format=3D(fourcc)I420, width=3D(int)320, height= =3D(int)180, framerate=3D(fraction)30000/1001, pixel-aspect-ratio=3D(fraction)1/1 =3D=3D=3D=3D=3D=3D=3D=3D now, if I add in the code a workaround, near xvimagesink.c:1306 case XvYUV: if (formats[i].id =3D=3D 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 precis= ely... ) --=20 Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail |