diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2017-12-26 16:25:54 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2018-01-29 12:40:02 +0800 |
commit | 277c90798e9865e794743bcffd2ee9cd7b425c3d (patch) | |
tree | 818cc37f0d16cd6a8cba962d7c3d389fb2d246e5 | |
parent | 05eba9435c821f8fc1840593b923d3b43fade550 (diff) | |
download | libva-intel-driver-277c90798e9865e794743bcffd2ee9cd7b425c3d.tar.gz |
Add a flag for VP9 BRC mode in struct hw_codec_info
Use this new flag to check the supported BRC mode
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
-rw-r--r-- | src/i965_device_info.c | 6 | ||||
-rw-r--r-- | src/i965_drv_video.c | 4 | ||||
-rw-r--r-- | src/i965_drv_video.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/i965_device_info.c b/src/i965_device_info.c index 4676a840..7db2d567 100644 --- a/src/i965_device_info.c +++ b/src/i965_device_info.c @@ -502,6 +502,8 @@ static struct hw_codec_info kbl_hw_codec_info = { .lp_h264_brc_mode = VA_RC_CQP, .h264_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR | VA_RC_MB, + .vp9_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR, + .num_filters = 5, .filters = { { VAProcFilterNoiseReduction, I965_RING_VEBOX }, @@ -567,6 +569,8 @@ static struct hw_codec_info glk_hw_codec_info = { .lp_h264_brc_mode = VA_RC_CQP, .h264_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR | VA_RC_MB, + .vp9_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR, + .num_filters = 5, .filters = { { VAProcFilterNoiseReduction, I965_RING_VEBOX }, @@ -631,6 +635,8 @@ static struct hw_codec_info cfl_hw_codec_info = { .lp_h264_brc_mode = VA_RC_CQP, .h264_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR | VA_RC_MB, + .vp9_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR, + .num_filters = 5, .filters = { { VAProcFilterNoiseReduction, I965_RING_VEBOX }, diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index 16ce1e98..748735ab 100644 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -968,10 +968,12 @@ i965_get_rc_attributes(VADriverContextP ctx, VAProfile profile, VAEntrypoint ent rc_attribs |= VA_RC_CBR; if (profile == VAProfileVP8Version0_3 || - profile == VAProfileVP9Profile0 || profile == VAProfileHEVCMain) rc_attribs |= VA_RC_VBR; + if (profile == VAProfileVP9Profile0) + rc_attribs = i965->codec_info->vp9_brc_mode; + if (profile == VAProfileH264ConstrainedBaseline || profile == VAProfileH264Main || profile == VAProfileH264High || diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h index 6e7139f4..56dcd7fa 100644 --- a/src/i965_drv_video.h +++ b/src/i965_drv_video.h @@ -502,6 +502,7 @@ struct hw_codec_info { unsigned int lp_h264_brc_mode; unsigned int h264_brc_mode; + unsigned int vp9_brc_mode; unsigned int num_filters; struct i965_filter filters[VAProcFilterCount]; |