[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aa7da75fa2a9e087cbbda17bc19dcab2080030c7.camel@mediatek.com>
Date: Sat, 16 Aug 2025 01:58:58 +0000
From: Kyrie Wu (吴晗) <Kyrie.Wu@...iatek.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
George Sun (孙林) <George.Sun@...iatek.com>,
Tiffany Lin (林慧珊) <tiffany.lin@...iatek.com>,
"nhebert@...omium.org" <nhebert@...omium.org>, "linux-media@...r.kernel.org"
<linux-media@...r.kernel.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "mchehab@...nel.org" <mchehab@...nel.org>,
"nicolas.dufresne@...labora.com" <nicolas.dufresne@...labora.com>,
"hverkuil@...all.nl" <hverkuil@...all.nl>,
Kyrie Wu (吴晗) <Kyrie.Wu@...iatek.com>,
Yunfei Dong (董云飞) <Yunfei.Dong@...iatek.com>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
Irui Wang (王瑞) <Irui.Wang@...iatek.com>,
"robh@...nel.org" <robh@...nel.org>, "sebastian.fricke@...labora.com"
<sebastian.fricke@...labora.com>, "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "matthias.bgg@...il.com"
<matthias.bgg@...il.com>, "christophe.jaillet@...adoo.fr"
<christophe.jaillet@...adoo.fr>, "krzk+dt@...nel.org" <krzk+dt@...nel.org>,
"arnd@...db.de" <arnd@...db.de>,
Andrew-CT Chen (陳智迪)
<Andrew-CT.Chen@...iatek.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
CC: "andrzejtp2010@...il.com" <andrzejtp2010@...il.com>,
"neil.armstrong@...aro.org" <neil.armstrong@...aro.org>
Subject: Re: [PATCH v2 0/8] Enable video decoder & encoder for MT8189
On Mon, 2025-08-11 at 10:43 -0400, Nicolas Dufresne wrote:
> Hi,
>
> Le lundi 11 août 2025 à 11:26 +0800, Kyrie Wu a écrit :
> > This series have the follow changing:
> > Firstly add mt8189 video decoder compatible, profile and level to
> > support
> > MT8189 kernel driver.
> > Secondly fix some bugs, including vp 4K profile2 and media device
> > node
> > number bug.
> > Lastly, add mt8189 video encoder compatible.
> >
> > This series has been tested with MT8189 tast test.
>
> As requested previously, please provide summary of the fluster tests
> results.
> This has been a requirement for quite some time now. This will serve
> as
> reference if this board get added to Kernel CI, which utilize fluster
> for
> decoder coverage. The tast tests are unfortunately bound to ChromeOS
> (or Android
> eventually as the first get decommission) and is very hard to
> reproduce with a
> mainline kernel.
>
> regards,
> Nicolas
Dear Nicolas,
I apologize for not including the fluster test results,
as I believe the v4l2-cpmpliance test already proves
the decoder is fully functional. I will include the fluster test
results in the next version.
Thanks.
Regards,
Kyrie.
>
> > Encoding and decoding worked for this chip.
> >
> > Patches 1-2 Add decoder compatible.
> > Patches 3 Add profile and level supporting.
> > Patches 4 Add core-only VP9 decoding supporting.
> > Patches 5-6 fix some bugs.
> > Patches 7-8 Adds encoder compatible.
> >
> > ---
> > v4l2-compliance test results:
> > v4l2-compliance -d /dev/video2
> > v4l2-compliance 1.28.1, 64 bits, 64-bit time_t
> >
> > Compliance test for mtk-vcodec-enc device /dev/video2:
> >
> > Driver Info:
> > Driver name : mtk-vcodec-enc
> > Card type : MT8189 video encoder
> > Bus info : platform:17020000.video-codec
> > Driver version : 6.6.88
> > Capabilities : 0x84204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Device Capabilities
> > Device Caps : 0x04204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Detected Stateful Encoder
> >
> > Required ioctls:
> > test VIDIOC_QUERYCAP: OK
> > test invalid ioctls: OK
> >
> > Allow for multiple opens:
> > test second /dev/video2 open: OK
> > test VIDIOC_QUERYCAP: OK
> > test VIDIOC_G/S_PRIORITY: OK
> > test for unlimited opens: OK
> >
> > Debug ioctls:
> > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> > test VIDIOC_LOG_STATUS: OK (Not Supported)
> >
> > Input ioctls:
> > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> > test VIDIOC_ENUMAUDIO: OK (Not Supported)
> > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDIO: OK (Not Supported)
> > Inputs: 0 Audio Inputs: 0 Tuners: 0
> >
> > Output ioctls:
> > test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> > Outputs: 0 Audio Outputs: 0 Modulators: 0
> >
> > Input/Output configuration ioctls:
> > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> > test VIDIOC_G/S_EDID: OK (Not Supported)
> >
> > Control ioctls:
> > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> > test VIDIOC_QUERYCTRL: OK
> > test VIDIOC_G/S_CTRL: OK
> > test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> > fail: v4l2-test-controls.cpp(1171): node-
> > >codec_mask &
> > STATEFUL_ENCODER
> > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
> > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> > Standard Controls: 16 Private Controls: 0
> >
> > Format ioctls:
> > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> > test VIDIOC_G/S_PARM: OK
> > test VIDIOC_G_FBUF: OK (Not Supported)
> > test VIDIOC_G_FMT: OK
> > test VIDIOC_TRY_FMT: OK
> > test VIDIOC_S_FMT: OK
> > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> > test Cropping: OK
> > test Composing: OK (Not Supported)
> > test Scaling: OK (Not Supported)
> >
> > Codec ioctls:
> > test VIDIOC_(TRY_)ENCODER_CMD: OK
> > test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> > test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
> >
> > Buffer ioctls:
> > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> > test CREATE_BUFS maximum buffers: OK
> > test VIDIOC_REMOVE_BUFS: OK
> > test VIDIOC_EXPBUF: OK
> > test Requests: OK (Not Supported)
> >
> > Total for mtk-vcodec-enc device /dev/video2: 47, Succeeded: 46,
> > Failed: 1,
> > Warnings: 0
> >
> > v4l2-compliance -d /dev/video3
> > v4l2-compliance 1.28.1, 64 bits, 64-bit time_t
> >
> > Compliance test for mtk-vcodec-dec device /dev/video3:
> >
> > Driver Info:
> > Driver name : mtk-vcodec-dec
> > Card type : MT8189 video decoder
> > Bus info : platform:16000000.video-codec
> > Driver version : 6.6.88
> > Capabilities : 0x84204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Device Capabilities
> > Device Caps : 0x04204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Detected Stateless Decoder
> > Media Driver Info:
> > Driver name : mtk-vcodec-dec
> > Model : mtk-vcodec-dec
> > Serial :
> > Bus info : platform:16000000.video-codec
> > Media version : 6.6.88
> > Hardware revision: 0x00000000 (0)
> > Driver version : 6.6.88
> > Interface Info:
> > ID : 0x0300000c
> > Type : V4L Video
> > Entity Info:
> > ID : 0x00000001 (1)
> > Name : mtk-vcodec-dec-source
> > Function : V4L2 I/O
> > Pad 0x01000002 : 0: Source
> > Link 0x02000008: to remote pad 0x1000004 of entity 'mtk-
> > vcodec-dec-
> > proc' (Video Decoder): Data, Enabled, Immutable
> >
> > Required ioctls:
> > test MC information (see 'Media Driver Info' above): OK
> > test VIDIOC_QUERYCAP: OK
> > test invalid ioctls: OK
> >
> > Allow for multiple opens:
> > test second /dev/video3 open: OK
> > test VIDIOC_QUERYCAP: OK
> > test VIDIOC_G/S_PRIORITY: OK
> > test for unlimited opens: OK
> >
> > Debug ioctls:
> > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> > test VIDIOC_LOG_STATUS: OK (Not Supported)
> >
> > Input ioctls:
> > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> > test VIDIOC_ENUMAUDIO: OK (Not Supported)
> > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDIO: OK (Not Supported)
> > Inputs: 0 Audio Inputs: 0 Tuners: 0
> >
> > Output ioctls:
> > test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> > Outputs: 0 Audio Outputs: 0 Modulators: 0
> >
> > Input/Output configuration ioctls:
> > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> > test VIDIOC_G/S_EDID: OK (Not Supported)
> >
> > Control ioctls:
> > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> > test VIDIOC_QUERYCTRL: OK
> > test VIDIOC_G/S_CTRL: OK
> > test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> > Standard Controls: 15 Private Controls: 2
> > Standard Compound Controls: 13 Private Compound Controls: 0
> >
> > Format ioctls:
> > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> > test VIDIOC_G/S_PARM: OK (Not Supported)
> > test VIDIOC_G_FBUF: OK (Not Supported)
> > test VIDIOC_G_FMT: OK
> > test VIDIOC_TRY_FMT: OK
> > test VIDIOC_S_FMT: OK
> > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> > test Cropping: OK (Not Supported)
> > test Composing: OK
> > test Scaling: OK (Not Supported)
> >
> > Codec ioctls:
> > test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> > test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> > test VIDIOC_(TRY_)DECODER_CMD: OK
> >
> > Buffer ioctls:
> > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> > test CREATE_BUFS maximum buffers: OK
> > test VIDIOC_REMOVE_BUFS: OK
> > test VIDIOC_EXPBUF: OK
> > test Requests: OK
> >
> > Total for mtk-vcodec-dec device /dev/video3: 48, Succeeded: 48,
> > Failed: 0,
> > Warnings: 0
> >
> > scp upstream link:
> >
https://patchwork.kernel.org/project/linux-mediatek/patch/20250811015922.32680-1-huayu.zong@mediatek.com/
> >
> > Changes compared with v1:
> > --add v4l2-compliance test results
> > --add scp upstream link
> > --add HW difference discriptions for dt-bindings commit messages
> >
> > This series patches dependent on:
> > [1]
> >
https://patchwork.linuxtv.org/project/linux-media/cover/20250510075357.11761-1-yunfei.dong@mediatek.com/
> > [2]
> >
https://patchwork.linuxtv.org/project/linux-media/cover/20250528063633.14054-1-irui.wang@mediatek.com/
> >
> > Kyrie Wu (8):
> > dt-bindings: media: mediatek: decoder: Add MT8189
> > mediatek,vcodec-decoder
> > media: mediatek: vcodec: add decoder compatible to support MT8189
> > media: mediatek: vcodec: add profile and level supporting for
> > MT8189
> > media: mediatek: vcodec: Add core-only VP9 decoding support for
> > MT8189
> > media: mediatek: vcodec: fix vp9 4096x2176 fail for profile2
> > media: mediatek: vcodec: fix media device node number
> > dt-bindings: media: Add MT8189 mediatek,vcodec-encoder
> > media: mediatek: encoder: Add MT8189 encoder compatible data
> >
> > .../media/mediatek,vcodec-encoder.yaml | 2 ++
> > .../media/mediatek,vcodec-subdev-decoder.yaml | 1 +
> > .../vcodec/decoder/mtk_vcodec_dec_drv.c | 9 +++++-
> > .../vcodec/decoder/mtk_vcodec_dec_drv.h | 1 +
> > .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 4 +++
> > .../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 32 ++++++++++++---
> > ----
> > .../vcodec/encoder/mtk_vcodec_enc_drv.c | 14 ++++++++
> > 7 files changed, 50 insertions(+), 13 deletions(-)
Powered by blists - more mailing lists