summaryrefslogtreecommitdiff
path: root/src/i965_drv_video.c
diff options
context:
space:
mode:
authorpeng.chen <peng.c.chen@intel.com>2017-06-20 14:33:21 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2017-07-13 12:17:12 +0800
commit8e9b449ee437e459dfe5b757591417152dc28ec2 (patch)
tree7504e7707e8e0d889b310ebd68182e2afd8a40cd /src/i965_drv_video.c
parentd97d81bfcf912db1e266061cb333fac208edf48f (diff)
downloadlibva-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.c12
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;
}