This patch series adds support for the H.264 stateless decoder found in MT8183. It depends on the MT8183 encoder support series [1] and should thus be applied on top of it.
Contrary to MT8173 which is stateful, MT8183 is a stateless decoder. So the first patches take care of splitting the stateful-relevant code into its own source file, and to add support for the stateless API. Then support for sending the H.264 decoder is added, taking advantage of the H.264 helper functions to build the reference lists. No regressions to v4l2-compliance have been introduced by this series for MT8173, and we could also confirm that decoding was still working as expected on this chip. Following this series will be another one that fixes the remaining v4l2-compliance issues for both encoder and decoder. [1] https://lkml.org/lkml/2020/6/26/152 Alexandre Courbot (4): media: mtk-vcodec: vdec: handle firmware version field media: mtk-vcodec: support version 2 of decoder firmware ABI media: add Mediatek's MM21 format dt-bindings: media: document mediatek,mt8183-vcodec-dec Yunfei Dong (5): media: mtk-vcodec: vdec: move stateful ops into their own file media: mtk-vcodec: vdec: support stateless API media: mtk-vcodec: vdec: support stateless H.264 decoding media: mtk-vcodec: vdec: add media device if using stateless api media: mtk-vcodec: enable MT8183 decoder .../bindings/media/mediatek-vcodec.txt | 1 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/mtk-vcodec/Makefile | 3 + .../platform/mtk-vcodec/mtk_vcodec_dec.c | 763 +++-------------- .../platform/mtk-vcodec/mtk_vcodec_dec.h | 28 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 54 +- .../mtk-vcodec/mtk_vcodec_dec_stateful.c | 634 ++++++++++++++ .../mtk-vcodec/mtk_vcodec_dec_stateless.c | 469 ++++++++++ .../platform/mtk-vcodec/mtk_vcodec_drv.h | 50 ++ .../mtk-vcodec/vdec/vdec_h264_req_if.c | 802 ++++++++++++++++++ .../media/platform/mtk-vcodec/vdec_drv_if.c | 3 + .../media/platform/mtk-vcodec/vdec_drv_if.h | 1 + .../media/platform/mtk-vcodec/vdec_ipi_msg.h | 23 +- .../media/platform/mtk-vcodec/vdec_vpu_if.c | 43 +- .../media/platform/mtk-vcodec/vdec_vpu_if.h | 5 + drivers/media/v4l2-core/v4l2-ioctl.c | 1 + include/uapi/linux/videodev2.h | 1 + 17 files changed, 2226 insertions(+), 657 deletions(-) create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateful.c create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_if.c -- 2.27.0.212.ge8ba1cc988-goog