diff options
-rwxr-xr-x | src/i965_drv_video.c | 4 | ||||
-rw-r--r-- | 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 7f35f01..100ed9b 100755 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -676,7 +676,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 * |