gst Factor out endian-order RGB formats
authorNirbheek Chauhan <nirbheek@centricular.com>
Wed, 24 Feb 2016 23:46:09 +0000 (05:16 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 10 Mar 2016 10:00:58 +0000 (10:00 +0000)
MSVC seems to ignore preprocessor conditionals inside static pad
template macros.

gst/flx/gstflxdec.c
gst/goom/gstgoom.c
gst/goom2k1/gstgoom.c
gst/monoscope/gstmonoscope.c

index 71fd880..604be2f 100644 (file)
@@ -47,15 +47,17 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_STATIC_CAPS ("video/x-fli")
     );
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 /* output */
 static GstStaticPadTemplate src_video_factory = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
-#else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
-#endif
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static void gst_flxdec_dispose (GstFlxDec * flxdec);
index 1e86ac5..7cb1bd8 100644 (file)
@@ -66,14 +66,16 @@ enum
       /* FILL ME */
 };
 
-static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
 #if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
+#define RGB_ORDER "xRGB"
 #else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
+#define RGB_ORDER "BGRx"
 #endif
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",    /* the name of the pads */
index 2f10db1..0c97e94 100644 (file)
@@ -51,14 +51,16 @@ GST_DEBUG_CATEGORY_STATIC (goom2k1_debug);
 #define DEFAULT_FPS_N  25
 #define DEFAULT_FPS_D  1
 
-static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
 #if G_BYTE_ORDER == G_BIG_ENDIAN
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("xRGB"))
+#define RGB_ORDER "xRGB"
 #else
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRx"))
+#define RGB_ORDER "BGRx"
 #endif
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (RGB_ORDER))
     );
 
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",    /* the name of the pads */
index 442c985..9ff4fd5 100644 (file)
 GST_DEBUG_CATEGORY_STATIC (monoscope_debug);
 #define GST_CAT_DEFAULT monoscope_debug
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER "xRGB"
+#else
+#define RGB_ORDER "BGRx"
+#endif
+
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-#if G_BYTE_ORDER == G_BIG_ENDIAN
     GST_STATIC_CAPS ("video/x-raw, "
-        "format = (string) xRGB, "
+        "format = (string) " RGB_ORDER ", "
         "width = " G_STRINGIFY (scope_width) ", "
         "height = " G_STRINGIFY (scope_height) ", "
         "framerate = " GST_VIDEO_FPS_RANGE)
-#else
-    GST_STATIC_CAPS ("video/x-raw, "
-        "format = (string) BGRx, "
-        "width = " G_STRINGIFY (scope_width) ", "
-        "height = " G_STRINGIFY (scope_height) ", "
-        "framerate = " GST_VIDEO_FPS_RANGE)
-#endif
     );
 
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",