[Libva] [PATCH] H.264: Support Constrained Baseline profile instead of Baseline profile

Xiang, Haihao haihao.xiang at intel.com
Sun Sep 8 18:10:51 PDT 2013


From: "Xiang, Haihao" <haihao.xiang at intel.com>

GENx doesn't support FMO/ASO, so remove the support
of Baseline profile for conformance testing. In addition, add the support
for Constrained Baseline profile.

Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/gen6_mfc.c           |    2 +-
 src/gen6_mfd.c           |    2 +-
 src/gen75_mfc.c          |    2 +-
 src/gen75_mfd.c          |    4 ++--
 src/gen7_mfc.c           |    2 +-
 src/gen7_mfd.c           |    4 ++--
 src/i965_decoder_utils.c |    2 +-
 src/i965_drv_video.c     |   16 ++++++++--------
 src/i965_encoder.c       |    4 ++--
 src/i965_media.c         |    6 +++---
 10 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/gen6_mfc.c b/src/gen6_mfc.c
index 1103e61..d85692d 100644
--- a/src/gen6_mfc.c
+++ b/src/gen6_mfc.c
@@ -1372,7 +1372,7 @@ gen6_mfc_pipeline(VADriverContextP ctx,
     VAStatus vaStatus;
 
     switch (profile) {
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = gen6_mfc_avc_encode_picture(ctx, encode_state, encoder_context);
diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c
index afbfc4c..b42193a 100755
--- a/src/gen6_mfd.c
+++ b/src/gen6_mfd.c
@@ -1883,7 +1883,7 @@ gen6_mfd_decode_picture(VADriverContextP ctx,
         gen6_mfd_mpeg2_decode_picture(ctx, decode_state, gen6_mfd_context);
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         gen6_mfd_avc_decode_picture(ctx, decode_state, gen6_mfd_context);
diff --git a/src/gen75_mfc.c b/src/gen75_mfc.c
index b3b6f88..9078289 100644
--- a/src/gen75_mfc.c
+++ b/src/gen75_mfc.c
@@ -2560,7 +2560,7 @@ static VAStatus gen75_mfc_pipeline(VADriverContextP ctx,
     VAStatus vaStatus;
 
     switch (profile) {
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = gen75_mfc_avc_encode_picture(ctx, encode_state, encoder_context);
diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c
index 11644d6..dc7c940 100644
--- a/src/gen75_mfd.c
+++ b/src/gen75_mfd.c
@@ -3191,7 +3191,7 @@ gen75_mfd_decode_picture(VADriverContextP ctx,
         gen75_mfd_mpeg2_decode_picture(ctx, decode_state, gen7_mfd_context);
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         gen75_mfd_avc_decode_picture(ctx, decode_state, gen7_mfd_context);
@@ -3285,7 +3285,7 @@ gen75_dec_hw_context_init(VADriverContextP ctx, struct object_config *obj_config
         gen75_mfd_mpeg2_context_init(ctx, gen7_mfd_context);
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         gen75_mfd_avc_context_init(ctx, gen7_mfd_context);
diff --git a/src/gen7_mfc.c b/src/gen7_mfc.c
index e35ca85..3997a3d 100644
--- a/src/gen7_mfc.c
+++ b/src/gen7_mfc.c
@@ -1105,7 +1105,7 @@ gen7_mfc_pipeline(VADriverContextP ctx,
     VAStatus vaStatus;
 
     switch (profile) {
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = gen6_mfc_avc_encode_picture(ctx, encode_state, encoder_context);
diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c
index 8e0d503..51a1850 100755
--- a/src/gen7_mfd.c
+++ b/src/gen7_mfd.c
@@ -2614,7 +2614,7 @@ gen7_mfd_decode_picture(VADriverContextP ctx,
         gen7_mfd_mpeg2_decode_picture(ctx, decode_state, gen7_mfd_context);
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         gen7_mfd_avc_decode_picture(ctx, decode_state, gen7_mfd_context);
@@ -2708,7 +2708,7 @@ gen7_dec_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
         gen7_mfd_mpeg2_context_init(ctx, gen7_mfd_context);
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         gen7_mfd_avc_context_init(ctx, gen7_mfd_context);
diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c
index 4ef09b5..eb130a9 100644
--- a/src/i965_decoder_utils.c
+++ b/src/i965_decoder_utils.c
@@ -679,7 +679,7 @@ intel_decoder_sanity_check_input(VADriverContextP ctx,
         vaStatus = intel_decoder_check_mpeg2_parameter(ctx, decode_state);
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = intel_decoder_check_avc_parameter(ctx, decode_state);
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 6e00f2e..94e25fc 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -364,7 +364,7 @@ i965_QueryConfigProfiles(VADriverContextP ctx,
 
     if (HAS_H264_DECODING(i965) ||
         HAS_H264_ENCODING(i965)) {
-        profile_list[i++] = VAProfileH264Baseline;
+        profile_list[i++] = VAProfileH264ConstrainedBaseline;
         profile_list[i++] = VAProfileH264Main;
         profile_list[i++] = VAProfileH264High;
     }
@@ -410,7 +410,7 @@ i965_QueryConfigEntrypoints(VADriverContextP ctx,
 
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         if (HAS_H264_DECODING(i965))
@@ -554,7 +554,7 @@ i965_CreateConfig(VADriverContextP ctx,
         }
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         if ((HAS_H264_DECODING(i965) && VAEntrypointVLD == entrypoint) ||
@@ -1596,7 +1596,7 @@ i965_CreateContext(VADriverContextP ctx,
     render_state->inited = 1;
 
     switch (obj_config->profile) {
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         if (!HAS_H264_DECODING(i965) &&
@@ -2020,7 +2020,7 @@ i965_BeginPicture(VADriverContextP ctx,
         vaStatus = VA_STATUS_SUCCESS;
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = VA_STATUS_SUCCESS;
@@ -4289,7 +4289,7 @@ i965_GetSurfaceAttributes(
                     if (obj_config->profile == VAProfileMPEG2Simple ||
                         obj_config->profile == VAProfileMPEG2Main) {
                         attrib_list[i].value.value.i = VA_FOURCC('I', '4', '2', '0');
-                    } else if (obj_config->profile == VAProfileH264Baseline ||
+                    } else if (obj_config->profile == VAProfileH264ConstrainedBaseline ||
                                obj_config->profile == VAProfileH264Main ||
                                obj_config->profile == VAProfileH264High) {
                         attrib_list[i].value.value.i = VA_FOURCC('N', 'V', '1', '2');
@@ -4326,7 +4326,7 @@ i965_GetSurfaceAttributes(
                             attrib_list[i].value.value.i = 0;                            
                             attrib_list[i].flags &= ~VA_SURFACE_ATTRIB_SETTABLE;
                         }
-                    } else if (obj_config->profile == VAProfileH264Baseline ||
+                    } else if (obj_config->profile == VAProfileH264ConstrainedBaseline ||
                                obj_config->profile == VAProfileH264Main ||
                                obj_config->profile == VAProfileH264High) {
                         if (attrib_list[i].value.value.i != VA_FOURCC('N', 'V', '1', '2')) {
@@ -4481,7 +4481,7 @@ i965_QuerySurfaceAttributes(VADriverContextP ctx,
             
             break;
 
-        case VAProfileH264Baseline:
+        case VAProfileH264ConstrainedBaseline:
         case VAProfileH264Main:
         case VAProfileH264High:
             attribs[i].type = VASurfaceAttribPixelFormat;
diff --git a/src/i965_encoder.c b/src/i965_encoder.c
index 73cd3e3..1e46a1a 100644
--- a/src/i965_encoder.c
+++ b/src/i965_encoder.c
@@ -267,7 +267,7 @@ intel_encoder_sanity_check_input(VADriverContextP ctx,
     VAStatus vaStatus;
 
     switch (profile) {
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         vaStatus = intel_encoder_check_avc_parameter(ctx, encode_state, encoder_context);
@@ -352,7 +352,7 @@ intel_enc_hw_context_init(VADriverContextP ctx,
         encoder_context->codec = CODEC_MPEG2;
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         encoder_context->codec = CODEC_H264;
diff --git a/src/i965_media.c b/src/i965_media.c
index 32cdf56..e6f1c16 100644
--- a/src/i965_media.c
+++ b/src/i965_media.c
@@ -257,7 +257,7 @@ i965_media_decode_init(VADriverContextP ctx,
         i965_media_mpeg2_decode_init(ctx, decode_state, media_context);
         break;
         
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         i965_media_h264_decode_init(ctx, decode_state, media_context);
@@ -348,7 +348,7 @@ g4x_dec_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
         i965_media_mpeg2_dec_context_init(ctx, media_context);
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
     case VAProfileVC1Simple:
@@ -378,7 +378,7 @@ ironlake_dec_hw_context_init(VADriverContextP ctx, struct object_config *obj_con
         i965_media_mpeg2_dec_context_init(ctx, media_context);
         break;
 
-    case VAProfileH264Baseline:
+    case VAProfileH264ConstrainedBaseline:
     case VAProfileH264Main:
     case VAProfileH264High:
         i965_media_h264_dec_context_init(ctx, media_context);
-- 
1.7.9.5



More information about the Libva mailing list