radeon/uvd: fix VC-1 simple/main profile decode v2
We just needed to set the extra width/height fields to get this working. v2 (chk): rebased, CC stable added, commit message added, fixed coding style Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
ed55def44f
commit
6bad554d98
|
@ -947,6 +947,12 @@ static void ruvd_end_frame(struct pipe_video_codec *decoder,
|
|||
dec->msg->body.decode.width_in_samples = dec->base.width;
|
||||
dec->msg->body.decode.height_in_samples = dec->base.height;
|
||||
|
||||
if ((picture->profile == PIPE_VIDEO_PROFILE_VC1_SIMPLE) ||
|
||||
(picture->profile == PIPE_VIDEO_PROFILE_VC1_MAIN)) {
|
||||
dec->msg->body.decode.width_in_samples = align(dec->msg->body.decode.width_in_samples, 16) / 16;
|
||||
dec->msg->body.decode.height_in_samples = align(dec->msg->body.decode.height_in_samples, 16) / 16;
|
||||
}
|
||||
|
||||
dec->msg->body.decode.dpb_size = dec->dpb.res->buf->size;
|
||||
dec->msg->body.decode.bsd_size = bs_size;
|
||||
dec->msg->body.decode.db_pitch = dec->base.width;
|
||||
|
|
|
@ -244,8 +244,7 @@ int rvid_get_video_param(struct pipe_screen *screen,
|
|||
return codec != PIPE_VIDEO_FORMAT_MPEG4;
|
||||
return true;
|
||||
case PIPE_VIDEO_FORMAT_VC1:
|
||||
/* FIXME: VC-1 simple/main profile is broken */
|
||||
return profile == PIPE_VIDEO_PROFILE_VC1_ADVANCED;
|
||||
return true;
|
||||
case PIPE_VIDEO_FORMAT_HEVC:
|
||||
/* Carrizo only supports HEVC Main */
|
||||
return rscreen->family >= CHIP_CARRIZO &&
|
||||
|
|
Loading…
Reference in New Issue