[Libva] [PATCH libva-intel-driver 12/18] Encoding: Add one flag to indicate whether ROI is supported in one encode context

Zhao, Yakui yakui.zhao at intel.com
Mon Jan 12 05:01:35 PST 2015


From: Zhao Yakui <yakui.zhao at intel.com>

Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
---
 src/i965_encoder.c |    7 +++++--
 src/i965_encoder.h |    2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/i965_encoder.c b/src/i965_encoder.c
index d924f5a..b88c64e 100644
--- a/src/i965_encoder.c
+++ b/src/i965_encoder.c
@@ -560,6 +560,7 @@ intel_enc_hw_context_init(VADriverContextP ctx,
         break;
     }
 
+    encoder_context->context_roi = 0;
     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;
@@ -569,8 +570,10 @@ intel_enc_hw_context_init(VADriverContextP ctx,
                 WARN_ONCE("Don't support CBR for MPEG-2 encoding\n");
                 encoder_context->rate_control_mode &= ~VA_RC_CBR;
             }
-
-            break;
+        }
+        if (obj_config->attrib_list[i].type == VAConfigAttribEncROI) {
+            if (encoder_context->codec == CODEC_H264)
+                encoder_context->context_roi = 1;
         }
     }
 
diff --git a/src/i965_encoder.h b/src/i965_encoder.h
index 721031f..10b93f2 100644
--- a/src/i965_encoder.h
+++ b/src/i965_encoder.h
@@ -46,6 +46,8 @@ struct intel_encoder_context
     unsigned int quality_level;
     unsigned int quality_range;
     unsigned int soft_batch_force:1;
+    /* Check whether the context is created with ROI supported */
+    unsigned int context_roi:1;
     void *vme_context;
     void *mfc_context;
     void (*vme_context_destroy)(void *vme_context);
-- 
1.7.10.1



More information about the Libva mailing list