[Libva] [PATCH 7/7] Remove gen7 only limitation for encoding configuration

Zhong Li zhong.li at intel.com
Thu Jul 24 02:47:30 PDT 2014


Since all generations from gen6 can support avc encoding configuration,
remove gen7 only limitation.
MVC also can be support with little change, but it is low priority,
it will be support when necessary and this function is stable.

Signed-off-by: Zhong Li <zhong.li at intel.com>
---
 src/i965_drv_video.c |    4 +++-
 src/i965_encoder.c   |    8 ++------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 592d932..59f9947 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -678,7 +678,9 @@ i965_GetConfigAttributes(VADriverContextP ctx,
 	case VAConfigAttribEncQualityRange:
 	    if (entrypoint == VAEntrypointEncSlice) {
 		attrib_list[i].value = 1;
-                if(IS_GEN7(i965->intel.device_info))
+                if (profile == VAProfileH264ConstrainedBaseline ||
+                    profile == VAProfileH264Main ||
+                    profile == VAProfileH264High )
                     attrib_list[i].value = ENCODER_QUALITY_RANGE;
 		break;
 	    }
diff --git a/src/i965_encoder.c b/src/i965_encoder.c
index f1c1f3d..f66d889 100644
--- a/src/i965_encoder.c
+++ b/src/i965_encoder.c
@@ -375,6 +375,7 @@ intel_enc_hw_context_init(VADriverContextP ctx,
     case VAProfileH264Main:
     case VAProfileH264High:
         encoder_context->codec = CODEC_H264;
+        encoder_context->quality_range = ENCODER_QUALITY_RANGE;
         break;
 
     case VAProfileH264StereoHigh:
@@ -424,13 +425,8 @@ gen6_enc_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
 struct hw_context *
 gen7_enc_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
 {
-    struct intel_encoder_context *encoder_context;
 
-    encoder_context = (struct intel_encoder_context *)intel_enc_hw_context_init(ctx, obj_config, gen7_vme_context_init, gen7_mfc_context_init);
-
-    encoder_context->quality_range = ENCODER_QUALITY_RANGE;
-
-    return (struct hw_context *)encoder_context;
+    return intel_enc_hw_context_init(ctx, obj_config, gen7_vme_context_init, gen7_mfc_context_init);
 }
 
 struct hw_context *
-- 
1.7.9.5



More information about the Libva mailing list