diff options
author | peng.chen <peng.c.chen@intel.com> | 2017-06-20 14:33:21 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2017-07-13 12:17:12 +0800 |
commit | 8e9b449ee437e459dfe5b757591417152dc28ec2 (patch) | |
tree | 7504e7707e8e0d889b310ebd68182e2afd8a40cd /src/i965_drv_video.c | |
parent | d97d81bfcf912db1e266061cb333fac208edf48f (diff) | |
download | libva-intel-driver-8e9b449ee437e459dfe5b757591417152dc28ec2.tar.gz |
Add HEVC ROI attributes for VAConfigAttribEncROI
Fixes #179
Signed-off-by: peng.chen <peng.c.chen@intel.com>
Diffstat (limited to 'src/i965_drv_video.c')
-rw-r--r-- | src/i965_drv_video.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index fd38045d..93f7d137 100644 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -1084,6 +1084,8 @@ i965_GetConfigAttributes(VADriverContextP ctx, case VAConfigAttribEncROI: if (entrypoint == VAEntrypointEncSlice || entrypoint == VAEntrypointEncSliceLP) { + VAConfigAttribValEncROI *roi_config = + (VAConfigAttribValEncROI *) & (attrib_list[i].value); if (profile == VAProfileH264ConstrainedBaseline || profile == VAProfileH264Main || @@ -1093,10 +1095,6 @@ i965_GetConfigAttributes(VADriverContextP ctx, entrypoint == VAEntrypointEncSlice) attrib_list[i].value = 0; else { - - 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; @@ -1108,6 +1106,12 @@ i965_GetConfigAttributes(VADriverContextP ctx, roi_config->bits.roi_rc_qp_delat_support = 1; } } + } else if (profile == VAProfileHEVCMain || + profile == VAProfileHEVCMain10) { + roi_config->bits.num_roi_regions = + I965_MAX_NUM_ROI_REGIONS; + roi_config->bits.roi_rc_priority_support = 1; + roi_config->bits.roi_rc_qp_delat_support = 1; } else { attrib_list[i].value = 0; } |