[Question] AMD Ryzen 6000 series (Yellow Carp/Rembrandt) supported video codecs at HW decoding
I have a question about the video codecs that AMD Ryzen 6000 series (Yellow Carp/Rembrandt) support at HW decoding.
It seems to me that there is a discrepancy in that information between the official specs and the open source driver.
The AMDGPU driver assumes Yellow Carp APU to support [MPEG4_AVC, HEVC, VP9, JPEG] decoding and not [MPEG2, MPEG4, VC1, AV1] decoding.
/* Yellow Carp*/
static const struct amdgpu_video_codec_info yc_video_codecs_decode_array[] = {
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
};
static const struct amdgpu_video_codecs yc_video_codecs_decode = {
.codec_count = ARRAY_SIZE(yc_video_codecs_decode_array),
.codec_array = yc_video_codecs_decode_array,
};
linux/nv.c at master · torvalds/linux
The Mesa3D/RadeonSI driver returns false if codec
is [MPEG12, MPEG4, VC1] and family
is [Beige_Goby, Yellow_Carp, GFX1036] in the function si_get_video_param
.1,2
switch (param) {
case PIPE_VIDEO_CAP_SUPPORTED:
if (codec < PIPE_VIDEO_FORMAT_MPEG4_AVC &&
sscreen->info.family >= CHIP_BEIGE_GOBY)
return false;
if (codec != PIPE_VIDEO_FORMAT_JPEG &&
!(sscreen->info.has_video_hw.uvd_decode ||
sscreen->info.has_video_hw.vcn_decode))
return false;
src/gallium/drivers/radeonsi/si_get.c · main · Mesa / mesa · GitLab
However, the official specs states that Ryzen 6000 series (Yellow Carp/Rembrandt) supports [MPEG2, VC1] decoding3, and the news release states that AV1 decoding is supported.45
Also RadeonFeature states that Ryzen 6000 series (Yellow Carp/Rembrandt) supports [MPEG2, MPEG4, VC1] decoding.
Which Ryzen 6000 (Yellow Carp/Rembrandt) supports video codec information is correct?