[PATCH v9 0/9] Enable video decoder & encoder for MT8189

Kyrie Wu
2026-04-24T03:05:49Z

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.
Encoding and decoding worked for this chip.

Patches 1 Add decoder compatible.
Patches 1 fix decoder chip model.
Patches 3-4 Add profile, level and probability size supporting.
Patches 6 add decoder platform data to support MT8189.
Patches 5 & 7 fix some bugs.
Patches 8-9 Adds encoder compatible.

---
H264 test results:
./fluster.py run -d GStreamer-H.264-V4L2SL-Gst1.0 -j2 -t 90
JVT-AVC_V1 Ran 96/135 tests successfully

VP9 test results:
./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0 -j2 -t 90
VP9-TEST-VECTORS Ran 276/305 tests successfully

v4l2-compliance test results:
Compliance test for mtk-vcodec-enc device /dev/video2:
Total for mtk-vcodec-enc device /dev/video2: 47, Succeeded: 46, Failed: 1, Warnings: 0
Compliance test for mtk-vcodec-dec device /dev/video3:
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/
dtsi upstream link:
https://lore.kernel.org/linux-mediatek/20251030134541.784011-12-jh.hsu@mediatek.com/T/#m847e35de0a5b18fac0ca0624a8559d84964ad5c7

Changes compared with v8:
--Rebased on top of the latest media tree

Changes compared with v7:
--relocate the patches set
--refactor decoder platform data patch
--fix commit message errors

Changes compared with v6:
--refactor the patches of set compatible data, profile and level
--add reviewer to commit messages
--fix commit message errors

Changes compared with v5:
--refactor the patches of set compatible data, profile and level
--add reviewer to commit messages
--fix commit message errors

Changes compared with v4:
--update H264 & vp9 fluster test results
--update vp9 single core decoder prob size setting and commit messages

Changes compared with v3:
--add reviewer to commit messages
--Rebased on top of the latest media tree

Changes compared with v2:
--add H264 fluster test results
--reorder compatible string for dt-bindings

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/patch/20260328051630.7937-2-yunfei.dong@mediatek.com/
[2]
https://patchwork.linuxtv.org/project/linux-media/patch/20260423073345.27402-2-irui.wang@mediatek.com/

Kyrie Wu (9):
dt-bindings: media: mediatek: decoder: Add MT8189
mediatek,vcodec-decoder
media: mediatek: decoder: Add a new platform data member
media: mediatek: vcodec: Refactor Decoder profile & level Handling
media: mediatek: vcodec: Add VP9 Probability Size Configuration
media: mediatek: vcodec: Fix vp9 4096x2176 fail for profile2
media: mediatek: vcodec: add decoder compatible to support MT8189
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 | 5 +-
.../mediatek/vcodec/decoder/mtk_vcodec_dec.c | 2 +-
.../mediatek/vcodec/decoder/mtk_vcodec_dec.h | 6 +
.../vcodec/decoder/mtk_vcodec_dec_drv.c | 46 ++--
.../vcodec/decoder/mtk_vcodec_dec_drv.h | 35 ++-
.../vcodec/decoder/mtk_vcodec_dec_hw.c | 2 +-
.../vcodec/decoder/mtk_vcodec_dec_stateful.c | 14 +
.../vcodec/decoder/mtk_vcodec_dec_stateless.c | 239 ++++++++++++------
.../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 14 +-
.../vcodec/encoder/mtk_vcodec_enc_drv.c | 14 +
11 files changed, 253 insertions(+), 126 deletions(-)

--
2.45.2