From: Philip Jaegenstedt Date: Mon, 19 Jun 2006 09:08:05 +0000 (+0000) Subject: gst/videoscale/gstvideoscale.c: Make videoscale support RGBA, ARGB, BGRA and ABGR... X-Git-Tag: 1.19.3~511^2~11792 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f68c41710af2ab01a77a697e0307f6b69e07f642;p=platform%2Fupstream%2Fgstreamer.git gst/videoscale/gstvideoscale.c: Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131 Original commit message from CVS: Patch by: Philip Jaegenstedt * gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size), (gst_video_scale_transform): Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131 --- diff --git a/ChangeLog b/ChangeLog index 3673fca..d048353 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-06-19 Wim Taymans + + Patch by: Philip Jaegenstedt + + * gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size), + (gst_video_scale_transform): + Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131 + 2006-06-17 Tim-Philipp Müller * configure.ac: diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c index 99e966e5..3155b3b 100644 --- a/gst/videoscale/gstvideoscale.c +++ b/gst/videoscale/gstvideoscale.c @@ -93,6 +93,10 @@ static GstStaticCaps gst_video_scale_format_caps[] = { GST_STATIC_CAPS (GST_VIDEO_CAPS_xRGB), GST_STATIC_CAPS (GST_VIDEO_CAPS_BGRx), GST_STATIC_CAPS (GST_VIDEO_CAPS_xBGR), + GST_STATIC_CAPS (GST_VIDEO_CAPS_RGBA), + GST_STATIC_CAPS (GST_VIDEO_CAPS_ARGB), + GST_STATIC_CAPS (GST_VIDEO_CAPS_BGRA), + GST_STATIC_CAPS (GST_VIDEO_CAPS_ABGR), GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB), GST_STATIC_CAPS (GST_VIDEO_CAPS_BGR), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV")), @@ -112,6 +116,10 @@ enum GST_VIDEO_SCALE_xRGB, GST_VIDEO_SCALE_BGRx, GST_VIDEO_SCALE_xBGR, + GST_VIDEO_SCALE_RGBA, + GST_VIDEO_SCALE_ARGB, + GST_VIDEO_SCALE_BGRA, + GST_VIDEO_SCALE_ABGR, GST_VIDEO_SCALE_RGB, GST_VIDEO_SCALE_BGR, GST_VIDEO_SCALE_AYUV, @@ -390,6 +398,10 @@ gst_video_scale_prepare_size (GstVideoScale * videoscale, gint format, case GST_VIDEO_SCALE_xRGB: case GST_VIDEO_SCALE_BGRx: case GST_VIDEO_SCALE_xBGR: + case GST_VIDEO_SCALE_RGBA: + case GST_VIDEO_SCALE_ARGB: + case GST_VIDEO_SCALE_BGRA: + case GST_VIDEO_SCALE_ABGR: case GST_VIDEO_SCALE_AYUV: img->stride = img->width * 4; *size = img->stride * img->height; @@ -700,6 +712,10 @@ gst_video_scale_transform (GstBaseTransform * trans, GstBuffer * in, case GST_VIDEO_SCALE_xRGB: case GST_VIDEO_SCALE_BGRx: case GST_VIDEO_SCALE_xBGR: + case GST_VIDEO_SCALE_RGBA: + case GST_VIDEO_SCALE_ARGB: + case GST_VIDEO_SCALE_BGRA: + case GST_VIDEO_SCALE_ABGR: case GST_VIDEO_SCALE_AYUV: vs_image_scale_nearest_RGBA (dest, src, videoscale->tmp_buf); break; @@ -739,6 +755,10 @@ gst_video_scale_transform (GstBaseTransform * trans, GstBuffer * in, case GST_VIDEO_SCALE_xRGB: case GST_VIDEO_SCALE_BGRx: case GST_VIDEO_SCALE_xBGR: + case GST_VIDEO_SCALE_RGBA: + case GST_VIDEO_SCALE_ARGB: + case GST_VIDEO_SCALE_BGRA: + case GST_VIDEO_SCALE_ABGR: case GST_VIDEO_SCALE_AYUV: vs_image_scale_linear_RGBA (dest, src, videoscale->tmp_buf); break;