frontends/vdpau: Fix cdef strengths and lr_unit_shift in AV1 decode
Fixes: f9358cb105 ("frontends/vdpau: Add support for VDPAU AV1 decoding.")
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28317>
This commit is contained in:
@@ -895,12 +895,14 @@ vlVdpDecoderRenderAV1(struct pipe_av1_picture_desc *picture,
|
||||
picture->picture_parameter.cdef_damping_minus_3 =
|
||||
picture_info->cdef_damping_minus_3;
|
||||
picture->picture_parameter.cdef_bits = picture_info->cdef_bits;
|
||||
memcpy(picture->picture_parameter.cdef_y_strengths,
|
||||
picture_info->cdef_y_strength,
|
||||
sizeof(picture->picture_parameter.cdef_y_strengths));
|
||||
memcpy(picture->picture_parameter.cdef_uv_strengths,
|
||||
picture_info->cdef_uv_strength,
|
||||
sizeof(picture->picture_parameter.cdef_uv_strengths));
|
||||
for (i = 0; i < ARRAY_SIZE(picture->picture_parameter.cdef_y_strengths); ++i) {
|
||||
picture->picture_parameter.cdef_y_strengths[i] =
|
||||
((picture_info->cdef_y_strength[i] & 0xf) << 2) +
|
||||
(picture_info->cdef_y_strength[i] >> 4);
|
||||
picture->picture_parameter.cdef_uv_strengths[i] =
|
||||
((picture_info->cdef_uv_strength[i] & 0xf) << 2) +
|
||||
(picture_info->cdef_uv_strength[i] >> 4);
|
||||
}
|
||||
|
||||
// Loop Restoration
|
||||
picture->picture_parameter.loop_restoration_fields.yframe_restoration_type =
|
||||
@@ -910,7 +912,7 @@ vlVdpDecoderRenderAV1(struct pipe_av1_picture_desc *picture,
|
||||
picture->picture_parameter.loop_restoration_fields.crframe_restoration_type =
|
||||
picture_info->lr_type[2];
|
||||
picture->picture_parameter.loop_restoration_fields.lr_unit_shift =
|
||||
1 - picture_info->lr_unit_size[0];
|
||||
picture_info->lr_unit_size[0] - 1;
|
||||
picture->picture_parameter.loop_restoration_fields.lr_uv_shift =
|
||||
picture_info->lr_unit_size[0] - picture_info->lr_unit_size[1];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user