[Libva] [PATCH][libva-intel-driver] ConfigAttribEncROI: check entrypoint on VAGetConfigAttrib

Daniel Charles daniel.charles at intel.com
Wed Oct 12 22:45:11 UTC 2016


The attribute VAConfigAttribEncROI has to check that the entrypoint
is actually a VAEntrypointEncSlice or VAEntrypointEncSliceLP

Signed-off-by: Daniel Charles <daniel.charles at intel.com>
---
 src/i965_drv_video.c | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index c9357f5..3a33356 100644
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -984,22 +984,29 @@ i965_GetConfigAttributes(VADriverContextP ctx,
             break;
 
         case VAConfigAttribEncROI:
-            if (profile == VAProfileH264ConstrainedBaseline ||
-                profile == VAProfileH264Main ||
-                profile == VAProfileH264High) {
-                VAConfigAttribValEncROI *roi_config = (VAConfigAttribValEncROI *)&(attrib_list[i].value);
-
-                if(entrypoint == VAEntrypointEncSliceLP) {
-                    roi_config->bits.num_roi_regions = 3;
-                    roi_config->bits.roi_rc_priority_support = 0;
-                    roi_config->bits.roi_rc_qp_delat_support = 0;
-                } else {
-                    roi_config->bits.num_roi_regions = I965_MAX_NUM_ROI_REGIONS;
-                    roi_config->bits.roi_rc_priority_support = 0;
-                    roi_config->bits.roi_rc_qp_delat_support = 1;
+            if (entrypoint == VAEntrypointEncSlice ||
+                entrypoint == VAEntrypointEncSliceLP) {
+
+                if (profile == VAProfileH264ConstrainedBaseline ||
+                    profile == VAProfileH264Main ||
+                    profile == VAProfileH264High) {
+
+                    VAConfigAttribValEncROI *roi_config =
+                        (VAConfigAttribValEncROI *)&(attrib_list[i].value);
+
+                    if(entrypoint == VAEntrypointEncSliceLP) {
+                        roi_config->bits.num_roi_regions = 3;
+                        roi_config->bits.roi_rc_priority_support = 0;
+                        roi_config->bits.roi_rc_qp_delat_support = 0;
+                    } else {
+                        roi_config->bits.num_roi_regions =
+                            I965_MAX_NUM_ROI_REGIONS;
+                        roi_config->bits.roi_rc_priority_support = 0;
+                        roi_config->bits.roi_rc_qp_delat_support = 1;
+                    }
+                }else {
+                    attrib_list[i].value = 0;
                 }
-            }else {
-                attrib_list[i].value = 0;
             }
 
             break;
-- 
2.5.5



More information about the Libva mailing list