Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 23 Apr 2010 10:58:19 +0000 (10:58 +0000)
committergb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 23 Apr 2010 10:58:19 +0000 (10:58 +0000)
gst-libs/gst/vaapi/gstvaapiprofile.h

index 614ec6a..4746f69 100644 (file)
@@ -50,6 +50,17 @@ enum _GstVaapiCodec {
 };
 
 /**
+ * GST_VAAPI_MAKE_PROFILE:
+ * @codec: the #GstVaapiCodec without the GST_VAAPI_CODEC_ prefix
+ * @sub_id: a non-zero sub-codec id
+ *
+ * Macro that evaluates to the profile composed from @codec and
+ * @sub_id.
+ */
+#define GST_VAAPI_MAKE_PROFILE(codec, sub_id) \
+    (GST_VAAPI_CODEC_##codec | GST_MAKE_FOURCC(0,0,0,sub_id))
+
+/**
  * GstVaapiProfile:
  * @GST_VAAPI_PROFILE_MPEG1:
  *   MPEG-1
@@ -81,19 +92,19 @@ enum _GstVaapiCodec {
  * The set of all profiles for #GstVaapiProfile.
  */
 enum _GstVaapiProfile {
-    GST_VAAPI_PROFILE_MPEG1                     = GST_VAAPI_CODEC_MPEG1|1,
-    GST_VAAPI_PROFILE_MPEG2_SIMPLE              = GST_VAAPI_CODEC_MPEG2|1,
-    GST_VAAPI_PROFILE_MPEG2_MAIN                = GST_VAAPI_CODEC_MPEG2|2,
-    GST_VAAPI_PROFILE_MPEG4_SIMPLE              = GST_VAAPI_CODEC_MPEG4|1,
-    GST_VAAPI_PROFILE_MPEG4_ADVANCED_SIMPLE     = GST_VAAPI_CODEC_MPEG4|2,
-    GST_VAAPI_PROFILE_MPEG4_MAIN                = GST_VAAPI_CODEC_MPEG4|3,
-    GST_VAAPI_PROFILE_H263_BASELINE             = GST_VAAPI_CODEC_H263|1,
-    GST_VAAPI_PROFILE_H264_BASELINE             = GST_VAAPI_CODEC_H264|1,
-    GST_VAAPI_PROFILE_H264_MAIN                 = GST_VAAPI_CODEC_H264|2,
-    GST_VAAPI_PROFILE_H264_HIGH                 = GST_VAAPI_CODEC_H264|3,
-    GST_VAAPI_PROFILE_VC1_SIMPLE                = GST_VAAPI_CODEC_VC1|1,
-    GST_VAAPI_PROFILE_VC1_MAIN                  = GST_VAAPI_CODEC_VC1|2,
-    GST_VAAPI_PROFILE_VC1_ADVANCED              = GST_VAAPI_CODEC_VC1|3,
+    GST_VAAPI_PROFILE_MPEG1                 = GST_VAAPI_MAKE_PROFILE(MPEG1,1),
+    GST_VAAPI_PROFILE_MPEG2_SIMPLE          = GST_VAAPI_MAKE_PROFILE(MPEG2,1),
+    GST_VAAPI_PROFILE_MPEG2_MAIN            = GST_VAAPI_MAKE_PROFILE(MPEG2,2),
+    GST_VAAPI_PROFILE_MPEG4_SIMPLE          = GST_VAAPI_MAKE_PROFILE(MPEG4,1),
+    GST_VAAPI_PROFILE_MPEG4_ADVANCED_SIMPLE = GST_VAAPI_MAKE_PROFILE(MPEG4,2),
+    GST_VAAPI_PROFILE_MPEG4_MAIN            = GST_VAAPI_MAKE_PROFILE(MPEG4,3),
+    GST_VAAPI_PROFILE_H263_BASELINE         = GST_VAAPI_MAKE_PROFILE(H263,1),
+    GST_VAAPI_PROFILE_H264_BASELINE         = GST_VAAPI_MAKE_PROFILE(H264,1),
+    GST_VAAPI_PROFILE_H264_MAIN             = GST_VAAPI_MAKE_PROFILE(H264,2),
+    GST_VAAPI_PROFILE_H264_HIGH             = GST_VAAPI_MAKE_PROFILE(H264,3),
+    GST_VAAPI_PROFILE_VC1_SIMPLE            = GST_VAAPI_MAKE_PROFILE(VC1,1),
+    GST_VAAPI_PROFILE_VC1_MAIN              = GST_VAAPI_MAKE_PROFILE(VC1,2),
+    GST_VAAPI_PROFILE_VC1_ADVANCED          = GST_VAAPI_MAKE_PROFILE(VC1,3),
 };
 
 /**