[Pkg-gstreamer-commits] [gstreamer-vaapi] 53/176: utils: h264: add more profiles.

Vincent Cheng vcheng at moszumanska.debian.org
Tue Jun 3 08:09:27 UTC 2014


This is an automated email from the git hooks/post-receive script.

vcheng pushed a commit to branch upstream
in repository gstreamer-vaapi.

commit 416ab33e347c0cd011ec37bff5d6e0fca90afb0b
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Tue Dec 10 11:13:01 2013 +0100

    utils: h264: add more profiles.
    
    Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
    profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
    multiview profiles (H.10.1.1, H.10.1.2).
    
    Document "Constrained Baseline" and "High 10" profiles.
---
 gst-libs/gst/vaapi/gstvaapiprofile.h    | 36 +++++++++++++++++++++++++---
 gst-libs/gst/vaapi/gstvaapiutils_h264.c | 42 +++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/gst-libs/gst/vaapi/gstvaapiprofile.h b/gst-libs/gst/vaapi/gstvaapiprofile.h
index 750249d..aa83e35 100644
--- a/gst-libs/gst/vaapi/gstvaapiprofile.h
+++ b/gst-libs/gst/vaapi/gstvaapiprofile.h
@@ -85,11 +85,33 @@ typedef enum {
  * @GST_VAAPI_PROFILE_H263_BASELINE:
  *   H.263 baseline profile
  * @GST_VAAPI_PROFILE_H264_BASELINE:
- *   H.264 (MPEG-4 Part-10) baseline profile
+ *   H.264 (MPEG-4 Part-10) baseline profile [A.2.1]
+ * @GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE:
+ *   H.264 (MPEG-4 Part-10) constrained baseline profile [A.2.1.1]
  * @GST_VAAPI_PROFILE_H264_MAIN:
- *   H.264 (MPEG-4 Part-10) main profile
+ *   H.264 (MPEG-4 Part-10) main profile [A.2.2]
+ * @GST_VAAPI_PROFILE_H264_EXTENDED:
+ *   H.264 (MPEG-4 Part 10) extended profile [A.2.3]
  * @GST_VAAPI_PROFILE_H264_HIGH:
- *   H.264 (MPEG-4 Part-10) high profile
+ *   H.264 (MPEG-4 Part-10) high profile [A.2.4]
+ * @GST_VAAPI_PROFILE_H264_HIGH10:
+ *   H.264 (MPEG-4 Part-10) high 10 profile [A.2.5], or high 10 intra
+ *   profile [A.2.8], depending on constraint_set3_flag
+ * @GST_VAAPI_PROFILE_H264_HIGH_422:
+ *   H.264 (MPEG-4 Part-10) high 4:2:2 profile [A.2.6], or high 4:2:2
+ *   intra profile [A.2.9], depending on constraint_set3_flag
+ * @GST_VAAPI_PROFILE_H264_HIGH_444:
+ *   H.264 (MPEG-4 Part-10) high 4:4:4 predictive profile [A.2.7], or
+ *   high 4:4:4 intra profile [A.2.10], depending on constraint_set3_flag
+ * @GST_VAAPI_PROFILE_H264_SCALABLE_BASELINE:
+ *   H.264 (MPEG-4 Part-10) scalable baseline profile [G.10.1.1]
+ * @GST_VAAPI_PROFILE_H264_SCALABLE_HIGH:
+ *   H.264 (MPEG-4 Part-10) scalable high profile [G.10.1.2], or scalable
+ *   high intra profile [G.10.1.3], depending on constraint_set3_flag
+ * @GST_VAAPI_PROFILE_H264_MULTIVIEW_HIGH:
+ *   H.264 (MPEG-4 Part-10) multiview high profile [H.10.1.1]
+ * @GST_VAAPI_PROFILE_H264_STEREO_HIGH:
+ *   H.264 (MPEG-4 Part-10) stereo high profile [H.10.1.2]
  * @GST_VAAPI_PROFILE_VC1_SIMPLE:
  *   VC-1 simple profile
  * @GST_VAAPI_PROFILE_VC1_MAIN:
@@ -115,8 +137,16 @@ typedef enum {
     GST_VAAPI_PROFILE_H264_CONSTRAINED_BASELINE =
                                               GST_VAAPI_MAKE_PROFILE(H264,9),
     GST_VAAPI_PROFILE_H264_MAIN             = GST_VAAPI_MAKE_PROFILE(H264,2),
+    GST_VAAPI_PROFILE_H264_EXTENDED         = GST_VAAPI_MAKE_PROFILE(H264,10),
     GST_VAAPI_PROFILE_H264_HIGH             = GST_VAAPI_MAKE_PROFILE(H264,3),
     GST_VAAPI_PROFILE_H264_HIGH10           = GST_VAAPI_MAKE_PROFILE(H264,7),
+    GST_VAAPI_PROFILE_H264_HIGH_422         = GST_VAAPI_MAKE_PROFILE(H264,4),
+    GST_VAAPI_PROFILE_H264_HIGH_444         = GST_VAAPI_MAKE_PROFILE(H264,8),
+    GST_VAAPI_PROFILE_H264_SCALABLE_BASELINE =
+                                              GST_VAAPI_MAKE_PROFILE(H264,5),
+    GST_VAAPI_PROFILE_H264_SCALABLE_HIGH    = GST_VAAPI_MAKE_PROFILE(H264,6),
+    GST_VAAPI_PROFILE_H264_MULTIVIEW_HIGH   = GST_VAAPI_MAKE_PROFILE(H264,11),
+    GST_VAAPI_PROFILE_H264_STEREO_HIGH      = GST_VAAPI_MAKE_PROFILE(H264,15),
     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),
diff --git a/gst-libs/gst/vaapi/gstvaapiutils_h264.c b/gst-libs/gst/vaapi/gstvaapiutils_h264.c
index b7d2f43..54d8dd7 100644
--- a/gst-libs/gst/vaapi/gstvaapiutils_h264.c
+++ b/gst-libs/gst/vaapi/gstvaapiutils_h264.c
@@ -62,12 +62,33 @@ gst_vaapi_utils_h264_get_profile (guint8 profile_idc)
     case GST_H264_PROFILE_MAIN:
       profile = GST_VAAPI_PROFILE_H264_MAIN;
       break;
+    case GST_H264_PROFILE_EXTENDED:
+      profile = GST_VAAPI_PROFILE_H264_EXTENDED;
+      break;
     case GST_H264_PROFILE_HIGH:
       profile = GST_VAAPI_PROFILE_H264_HIGH;
       break;
     case GST_H264_PROFILE_HIGH10:
       profile = GST_VAAPI_PROFILE_H264_HIGH10;
       break;
+    case GST_H264_PROFILE_HIGH_422:
+      profile = GST_VAAPI_PROFILE_H264_HIGH_422;
+      break;
+    case GST_H264_PROFILE_HIGH_444:
+      profile = GST_VAAPI_PROFILE_H264_HIGH_444;
+      break;
+    case GST_H264_PROFILE_SCALABLE_BASELINE:
+      profile = GST_VAAPI_PROFILE_H264_SCALABLE_BASELINE;
+      break;
+    case GST_H264_PROFILE_SCALABLE_HIGH:
+      profile = GST_VAAPI_PROFILE_H264_SCALABLE_HIGH;
+      break;
+    case GST_H264_PROFILE_MULTIVIEW_HIGH:
+      profile = GST_VAAPI_PROFILE_H264_MULTIVIEW_HIGH;
+      break;
+    case GST_H264_PROFILE_STEREO_HIGH:
+      profile = GST_VAAPI_PROFILE_H264_STEREO_HIGH;
+      break;
     default:
       g_assert (0 && "unsupported profile_idc value");
       profile = GST_VAAPI_PROFILE_UNKNOWN;
@@ -90,12 +111,33 @@ gst_vaapi_utils_h264_get_profile_idc (GstVaapiProfile profile)
     case GST_VAAPI_PROFILE_H264_MAIN:
       profile_idc = GST_H264_PROFILE_MAIN;
       break;
+    case GST_VAAPI_PROFILE_H264_EXTENDED:
+      profile_idc = GST_H264_PROFILE_EXTENDED;
+      break;
     case GST_VAAPI_PROFILE_H264_HIGH:
       profile_idc = GST_H264_PROFILE_HIGH;
       break;
     case GST_VAAPI_PROFILE_H264_HIGH10:
       profile_idc = GST_H264_PROFILE_HIGH10;
       break;
+    case GST_VAAPI_PROFILE_H264_HIGH_422:
+      profile_idc = GST_H264_PROFILE_HIGH_422;
+      break;
+    case GST_VAAPI_PROFILE_H264_HIGH_444:
+      profile_idc = GST_H264_PROFILE_HIGH_444;
+      break;
+    case GST_VAAPI_PROFILE_H264_SCALABLE_BASELINE:
+      profile_idc = GST_H264_PROFILE_SCALABLE_BASELINE;
+      break;
+    case GST_VAAPI_PROFILE_H264_SCALABLE_HIGH:
+      profile_idc = GST_H264_PROFILE_SCALABLE_HIGH;
+      break;
+    case GST_VAAPI_PROFILE_H264_MULTIVIEW_HIGH:
+      profile_idc = GST_H264_PROFILE_MULTIVIEW_HIGH;
+      break;
+    case GST_VAAPI_PROFILE_H264_STEREO_HIGH:
+      profile_idc = GST_H264_PROFILE_STEREO_HIGH;
+      break;
     default:
       g_assert (0 && "unsupported GstVaapiProfile value");
       profile_idc = 0;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gstreamer/gstreamer-vaapi.git



More information about the Pkg-gstreamer-commits mailing list