libs: add gst_vaapi_video_format_from_va_fourcc() helper.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 24 Jul 2013 09:37:23 +0000 (11:37 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Fri, 23 Aug 2013 17:00:38 +0000 (19:00 +0200)
Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
VA fourcc value to a suitable GstVideoFormat.

gst-libs/gst/vaapi/video-format.c
gst-libs/gst/vaapi/video-format.h

index 68198a4..e3bbecb 100644 (file)
@@ -287,6 +287,30 @@ gst_vaapi_video_format_to_caps(GstVideoFormat format)
 }
 
 /**
+ * gst_vaapi_video_format_from_va_fourcc:
+ * @fourcc: a FOURCC value
+ *
+ * Converts a VA fourcc into the corresponding #GstVideoFormat. If no
+ * matching fourcc was found, then zero is returned.
+ *
+ * Return value: the #GstVideoFormat corresponding to the VA @fourcc
+ */
+GstVideoFormat
+gst_vaapi_video_format_from_va_fourcc(guint32 fourcc)
+{
+    const GstVideoFormatMap *m;
+
+    /* Note: VA fourcc values are now standardized and shall represent
+       a unique format. The associated VAImageFormat is just a hint to
+       determine RGBA component ordering */
+    for (m = gst_vaapi_video_formats; m->format; m++) {
+        if (m->va_format.fourcc == fourcc)
+            return m->format;
+    }
+    return GST_VIDEO_FORMAT_UNKNOWN;
+}
+
+/**
  * gst_vaapi_video_format_from_va_format:
  * @va_format: a #VAImageFormat
  *
index a3d7d5b..84e9c75 100644 (file)
@@ -47,6 +47,9 @@ GstCaps *
 gst_vaapi_video_format_to_caps(GstVideoFormat format);
 
 GstVideoFormat
+gst_vaapi_video_format_from_va_fourcc(guint32 fourcc);
+
+GstVideoFormat
 gst_vaapi_video_format_from_va_format(const VAImageFormat *va_format);
 
 const VAImageFormat *