mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 17:51:16 +00:00
vah265enc: Correct the value of cu_qp_delta flag and depth
According to libva API description, cu_qp_delta in VAConfigAttribValEncHEVCFeatures is supposed to be used as a flag not the value of depth. And if flag enabled, diff_cu_qp_delta_depth should be decided by log2_diff_max_min_luma_coding_block_size. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5068>
This commit is contained in:
parent
809a984b91
commit
ebea1219a9
1 changed files with 9 additions and 3 deletions
|
@ -4137,9 +4137,15 @@ _h265_setup_encoding_features (GstVaH265Enc * self)
|
|||
self->features.transform_skip_enabled_flag =
|
||||
(features.bits.transform_skip != 0);
|
||||
|
||||
self->features.cu_qp_delta_enabled_flag =
|
||||
(self->rc.rc_ctrl_mode != VA_RC_CQP);
|
||||
self->features.diff_cu_qp_delta_depth = features.bits.cu_qp_delta;
|
||||
if (self->rc.rc_ctrl_mode != VA_RC_CQP)
|
||||
self->features.cu_qp_delta_enabled_flag = !!features.bits.cu_qp_delta;
|
||||
else
|
||||
self->features.cu_qp_delta_enabled_flag = 0;
|
||||
|
||||
if (self->features.cu_qp_delta_enabled_flag) {
|
||||
self->features.diff_cu_qp_delta_depth =
|
||||
self->features.log2_diff_max_min_luma_coding_block_size;
|
||||
}
|
||||
|
||||
/* TODO: use weighted pred */
|
||||
self->features.weighted_pred_flag = FALSE;
|
||||
|
|
Loading…
Reference in a new issue