[PATCH] media: mediatek: vcodec: Enable HEVC main still picture decode

Nicolas Dufresne nicolas at ndufresne.ca
Tue Apr 22 13:54:51 PDT 2025


Le lundi 17 février 2025 à 14:28 -0500, Nicolas Dufresne a écrit :
> 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 at 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

Ran the test myself on MT8195 and can confirm it passes if you ignore
the profiles.

Reviewed-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>

> 
> 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,
> > 



More information about the Linux-mediatek mailing list