Message ID | 20250211-enable_hevc_still_picture-v1-1-0c06c0c9add2@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: mediatek: vcodec: Enable HEVC main still picture decode | expand |
Hi Nathan, Le mardi 11 février 2025 à 16:34 -0800, Nathan Hebert a écrit : > Mediatek devices that support HEVC also support the main still picture > profile, but today, the main still picture profile is excluded. > > This removes the skip mask for HEVC, and enables the main still > picture profile decoding. > > Signed-off-by: Nathan Hebert <nhebert@chromium.org> > --- > On Mediatek devices that support HEVC decoding, HEVC Main Still Picture > profile is also supported by the SOC and firmware. However, this > capability is turned off in the vcodec driver. > > This removes the code that disables HEVC Main Still Picture profile > decoding. Validation of the decoder has been done via V4L2-backed > Android CTS tests on an MT8196 device. While its nice to know that you are working on upcoming SoC, we need confirmation that this is working on all the upstream stateless decoders supported: 8183, 8186, 8192, 8195. Ideally testing on 8188, which I can see has merged support without the linux-firmware file to go with it. I'll wait for that and Yunfei's ack before picking it. Yunfei, please fix the situation with 8188 in linux-firmware, and CC me. regards, Nicolas > --- > .../media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > index afa224da0f41..d873159b9b30 100644 > --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > @@ -152,8 +152,6 @@ static const struct mtk_stateless_control mtk_stateless_controls[] = { > .id = V4L2_CID_MPEG_VIDEO_HEVC_PROFILE, > .def = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, > .max = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10, > - .menu_skip_mask = > - BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE), > }, > .codec_type = V4L2_PIX_FMT_HEVC_SLICE, > }, > > --- > base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04 > change-id: 20250211-enable_hevc_still_picture-26b35eb08270 > > Best regards,
aLe lundi 17 février 2025 à 13:45 -0500, Nicolas Dufresne a écrit : > Hi Nathan, > > Le mardi 11 février 2025 à 16:34 -0800, Nathan Hebert a écrit : > > Mediatek devices that support HEVC also support the main still picture > > profile, but today, the main still picture profile is excluded. > > > > This removes the skip mask for HEVC, and enables the main still > > picture profile decoding. > > > > Signed-off-by: Nathan Hebert <nhebert@chromium.org> > > --- > > On Mediatek devices that support HEVC decoding, HEVC Main Still Picture > > profile is also supported by the SOC and firmware. However, this > > capability is turned off in the vcodec driver. > > > > This removes the code that disables HEVC Main Still Picture profile > > decoding. Validation of the decoder has been done via V4L2-backed > > Android CTS tests on an MT8196 device. > > While its nice to know that you are working on upcoming SoC, we need > confirmation that this is working on all the upstream stateless > decoders supported: 8183, 8186, 8192, 8195. Ideally testing on 8188, > which I can see has merged support without the linux-firmware file to > go with it. > > I'll wait for that and Yunfei's ack before picking it. Yunfei, please > fix the situation with 8188 in linux-firmware, and CC me. In case this is useful, we recommend providing fluster scores for the codec, which in that case runs some public ITU conformance vectors. Since most of the testing has been done with GStreamer, you may be able to find old report and confirm it it works. GStreamer does not currently filter the profile/level (on my todo), so it will try anyway. IPRED_B_Nokia_3 is the one vector in the base suite that expose that profile. resources/JCT-VC-HEVC_V1/IPRED_B_Nokia_3/IPRED_B_Nokia_3.bit Stream #0:0: Video: hevc (Main Still Picture), none, 1920x1080, 25 fps, 1200k tbr, 1200k tbn regards, Nicolas > > regards, > Nicolas > > > --- > > .../media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > > index afa224da0f41..d873159b9b30 100644 > > --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > > +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c > > @@ -152,8 +152,6 @@ static const struct mtk_stateless_control mtk_stateless_controls[] = { > > .id = V4L2_CID_MPEG_VIDEO_HEVC_PROFILE, > > .def = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, > > .max = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10, > > - .menu_skip_mask = > > - BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE), > > }, > > .codec_type = V4L2_PIX_FMT_HEVC_SLICE, > > }, > > > > --- > > base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04 > > change-id: 20250211-enable_hevc_still_picture-26b35eb08270 > > > > Best regards, >
diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c index afa224da0f41..d873159b9b30 100644 --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c @@ -152,8 +152,6 @@ static const struct mtk_stateless_control mtk_stateless_controls[] = { .id = V4L2_CID_MPEG_VIDEO_HEVC_PROFILE, .def = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, .max = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10, - .menu_skip_mask = - BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE), }, .codec_type = V4L2_PIX_FMT_HEVC_SLICE, },
Mediatek devices that support HEVC also support the main still picture profile, but today, the main still picture profile is excluded. This removes the skip mask for HEVC, and enables the main still picture profile decoding. Signed-off-by: Nathan Hebert <nhebert@chromium.org> --- On Mediatek devices that support HEVC decoding, HEVC Main Still Picture profile is also supported by the SOC and firmware. However, this capability is turned off in the vcodec driver. This removes the code that disables HEVC Main Still Picture profile decoding. Validation of the decoder has been done via V4L2-backed Android CTS tests on an MT8196 device. --- .../media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c | 2 -- 1 file changed, 2 deletions(-) --- base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04 change-id: 20250211-enable_hevc_still_picture-26b35eb08270 Best regards,