mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 08:50:13 +01:00
pipe: Add pipe_enc_cap_roi.log2_roi_min_block_pixel_size
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844>
This commit is contained in:
parent
295ecc8d96
commit
17cdbc5729
2 changed files with 16 additions and 4 deletions
|
|
@ -571,13 +571,20 @@ vlVaGetConfigAttributes(VADriverContextP ctx, VAProfile profile, VAEntrypoint en
|
|||
|
||||
case VAConfigAttribEncROI:
|
||||
{
|
||||
int roi_support = pscreen->get_video_param(pscreen, ProfileToPipe(profile),
|
||||
union pipe_enc_cap_roi roi_pipe_caps = {};
|
||||
roi_pipe_caps.value = pscreen->get_video_param(pscreen, ProfileToPipe(profile),
|
||||
PIPE_VIDEO_ENTRYPOINT_ENCODE,
|
||||
PIPE_VIDEO_CAP_ENC_ROI);
|
||||
if (roi_support <= 0)
|
||||
if (roi_pipe_caps.value <= 0)
|
||||
value = VA_ATTRIB_NOT_SUPPORTED;
|
||||
else
|
||||
value = roi_support;
|
||||
{
|
||||
VAConfigAttribValEncROI roi_va_caps = {};
|
||||
roi_va_caps.bits.num_roi_regions = roi_pipe_caps.bits.num_roi_regions;
|
||||
roi_va_caps.bits.roi_rc_priority_support = roi_pipe_caps.bits.roi_rc_priority_support;
|
||||
roi_va_caps.bits.roi_rc_qp_delta_support = roi_pipe_caps.bits.roi_rc_qp_delta_support;
|
||||
value = roi_va_caps.value;
|
||||
}
|
||||
} break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -2405,7 +2405,12 @@ union pipe_enc_cap_roi {
|
|||
* because ROI delta QP is always required when VAConfigAttribRateControl == VA_RC_CQP.
|
||||
*/
|
||||
uint32_t roi_rc_qp_delta_support : 1;
|
||||
uint32_t reserved : 22;
|
||||
/*
|
||||
* Indicates the minimum driver granularity to set a ROI region with a specific QP value.
|
||||
* In other words, the QP delta block granularity pixel size of the hardware encoder.
|
||||
*/
|
||||
uint32_t log2_roi_min_block_pixel_size : 4;
|
||||
uint32_t reserved : 18;
|
||||
|
||||
} bits;
|
||||
uint32_t value;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue