Fixed CBR mode missed issue in SNB.
authorZhou Chang <chang.zhou@intel.com>
Wed, 28 Mar 2012 06:37:50 +0000 (14:37 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 29 Mar 2012 00:16:53 +0000 (08:16 +0800)
src/i965_encoder.c

index 0840fce..7cfb966 100644 (file)
@@ -153,10 +153,19 @@ gen6_enc_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
 {
     struct intel_driver_data *intel = intel_driver_data(ctx);
     struct intel_encoder_context *encoder_context = calloc(1, sizeof(struct intel_encoder_context));
+    int i;
 
     encoder_context->base.destroy = intel_encoder_context_destroy;
     encoder_context->base.run = intel_encoder_end_picture;
     encoder_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
+    encoder_context->rate_control_mode = VA_RC_NONE;
+
+    for (i = 0; i < obj_config->num_attribs; i++) {
+        if (obj_config->attrib_list[i].type == VAConfigAttribRateControl) {
+            encoder_context->rate_control_mode = obj_config->attrib_list[i].value;
+            break;
+        }
+    }
 
     gen6_vme_context_init(ctx, encoder_context);
     assert(encoder_context->vme_context);