summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gst-libs/gst/video/video.h27
2 files changed, 34 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 73f46db3..6c202c9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2004-07-16 Wim Taymans <wim@fluendo.com>
+ * gst-libs/gst/video/video.h:
+ Added 32 bits RGBA. Not sure if we should use another mime-type
+ for alpha rgb. Currently the presence of the alpha_mask property
+ signals an alpha channel.
+
+2004-07-16 Wim Taymans <wim@fluendo.com>
+
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
FPS seems to be 0.0 to MAX everywhere else.
diff --git a/gst-libs/gst/video/video.h b/gst-libs/gst/video/video.h
index cb8727a9..6875f636 100644
--- a/gst-libs/gst/video/video.h
+++ b/gst-libs/gst/video/video.h
@@ -61,6 +61,19 @@
#define GST_VIDEO_FPS_RANGE "(double) [ 0, max ]"
/* consider the next 2 protected */
+#define __GST_VIDEO_CAPS_MAKE_32A(R, G, B, A) \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 32, " \
+ "depth = (int) 32, " \
+ "endianness = (int) BIG_ENDIAN, " \
+ "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_32 ", " \
+ "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_32 ", " \
+ "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_32 ", " \
+ "alpha_mask = (int) " GST_VIDEO_BYTE ## A ## _MASK_32 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
+ "framerate = " GST_VIDEO_FPS_RANGE
+
#define __GST_VIDEO_CAPS_MAKE_32(R, G, B) \
"video/x-raw-rgb, " \
"bpp = (int) 32, " \
@@ -108,6 +121,20 @@
#define GST_VIDEO_CAPS_xBGR \
__GST_VIDEO_CAPS_MAKE_32 (4, 3, 2)
+/* 32 bit alpha */
+
+#define GST_VIDEO_CAPS_RGBA \
+ __GST_VIDEO_CAPS_MAKE_32A (1, 2, 3, 4)
+
+#define GST_VIDEO_CAPS_ARGB \
+ __GST_VIDEO_CAPS_MAKE_32A (2, 3, 4, 1)
+
+#define GST_VIDEO_CAPS_BGRA \
+ __GST_VIDEO_CAPS_MAKE_32A (3, 2, 1, 4)
+
+#define GST_VIDEO_CAPS_ABGR \
+ __GST_VIDEO_CAPS_MAKE_32A (4, 3, 2, 1)
+
/* note: the macro name uses the order on BE systems */
#if G_BYTE_ORDER == G_BIG_ENDIAN
#define GST_VIDEO_CAPS_xRGB_HOST_ENDIAN \