gst Factor out endian-order RGB formats

MSVC seems to ignore preprocessor conditionals inside static pad
template macros.
This commit is contained in:
Nirbheek Chauhan 2016-02-25 05:16:09 +05:30 committed by Tim-Philipp Müller
parent 93d09f0474
commit 5d93844676
4 changed files with 28 additions and 24 deletions

View 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);

View file

@ -66,14 +66,16 @@ enum
/* FILL ME */
};
#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 (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 GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", /* the name of the pads */

View file

@ -51,14 +51,16 @@ GST_DEBUG_CATEGORY_STATIC (goom2k1_debug);
#define DEFAULT_FPS_N 25
#define DEFAULT_FPS_D 1
#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 (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 GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", /* the name of the pads */

View file

@ -47,22 +47,20 @@
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",