gst/videocrop/gstvideocrop.c: Add 8bit grayscale support to videocrop plugin. Fixes...
authorLuotao Fu <l.fu@pengutronix.de>
Mon, 19 Jan 2009 11:44:36 +0000 (11:44 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 19 Jan 2009 11:44:36 +0000 (11:44 +0000)
Original commit message from CVS:
Patch by: Luotao Fu <l dot fu at pengutronix dot de>
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps):
Add 8bit grayscale support to videocrop plugin. Fixes #567952.

ChangeLog
gst/videocrop/gstvideocrop.c

index 627cb58..1dc868e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-01-19  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Luotao Fu <l dot fu at pengutronix dot de>
+
+       * gst/videocrop/gstvideocrop.c:
+       (gst_video_crop_get_image_details_from_caps):
+       Add 8bit grayscale support to videocrop plugin. Fixes #567952.
+
 2009-01-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
        * gst/audiofx/audioreverb.c: (gst_audio_reverb_init):
index e4fcbd3..6819a4f 100644 (file)
@@ -88,6 +88,12 @@ enum
 };
 
 /* the formats we support */
+#define GST_VIDEO_CAPS_GRAY "video/x-raw-gray, "                       \
+    "bpp = (int) 8, "                                                  \
+    "width = " GST_VIDEO_SIZE_RANGE ", "                                \
+    "height = " GST_VIDEO_SIZE_RANGE ", "                               \
+    "framerate = " GST_VIDEO_FPS_RANGE
+
 #define VIDEO_CROP_CAPS                          \
   GST_VIDEO_CAPS_RGBx ";"                        \
   GST_VIDEO_CAPS_xRGB ";"                        \
@@ -107,7 +113,8 @@ enum
   GST_VIDEO_CAPS_YUV ("I420") ";"                \
   GST_VIDEO_CAPS_YUV ("YV12") ";"                \
   GST_VIDEO_CAPS_RGB_16 ";"                      \
-  GST_VIDEO_CAPS_RGB_15
+  GST_VIDEO_CAPS_RGB_15 ";"                     \
+  GST_VIDEO_CAPS_GRAY
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -211,7 +218,8 @@ gst_video_crop_get_image_details_from_caps (GstVideoCrop * vcrop,
   details->width = width;
   details->height = height;
 
-  if (gst_structure_has_name (structure, "video/x-raw-rgb")) {
+  if (gst_structure_has_name (structure, "video/x-raw-rgb") ||
+      gst_structure_has_name (structure, "video/x-raw-gray")) {
     gint bpp = 0;
 
     if (!gst_structure_get_int (structure, "bpp", &bpp) || (bpp & 0x07) != 0)