[PATCH v3 00/15] media: mtk-vcodec: support for MT8183 decoder
From: Alexandre Courbot
Date: Fri Feb 26 2021 - 05:03:10 EST
Please ignore the v2 of this series since I neglected a final check on
it and realized later it did not compile. >_<
This series adds support for the stateless API into mtk-vcodec, by first
separating the stateful ops into their own source file, and introducing
a new set of ops suitable for stateless decoding. As such, support for
stateful decoders should remain completely unaffected.
This series has been tested with both MT8183 and MT8173. Decoding was
working for both chips, and in the case of MT8173 no regression has been
spotted.
Patches 1-9 add MT8183 support to the decoder using the stateless API.
MT8183 only support H.264 acceleration.
Patches 10-15 are follow-ups that further improve compliance for the
decoder and encoder, by fixing support for commands on both. Patch 11
also makes sure that supported H.264 profiles are exported on MT8173.
Changes since v2:
* Actually compiles (duh),
* Add follow-up patches fixing support for START/STOP commands for the
encoder, and stateful decoder.
Alexandre Courbot (8):
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
media: mtk-vcodec: vdec: use helpers in VIDIOC_(TRY_)DECODER_CMD
media: mtk-vcodec: vdec: clamp OUTPUT resolution to hardware limits
media: mtk-vcodec: make flush buffer reusable by encoder
media: mtk-vcodec: venc: support START and STOP commands
Hirokazu Honda (1):
media: mtk-vcodec: vdec: Support H264 profile control
Hsin-Yi Wang (1):
media: mtk-vcodec: venc: make sure buffer exists in list before
removing
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 +
.../media/v4l/pixfmt-reserved.rst | 7 +
drivers/media/platform/Kconfig | 2 +
drivers/media/platform/mtk-vcodec/Makefile | 3 +
.../platform/mtk-vcodec/mtk_vcodec_dec.c | 800 +++--------------
.../platform/mtk-vcodec/mtk_vcodec_dec.h | 30 +-
.../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 66 +-
.../mtk-vcodec/mtk_vcodec_dec_stateful.c | 647 ++++++++++++++
.../mtk-vcodec/mtk_vcodec_dec_stateless.c | 427 +++++++++
.../platform/mtk-vcodec/mtk_vcodec_drv.h | 58 +-
.../platform/mtk-vcodec/mtk_vcodec_enc.c | 135 ++-
.../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 4 +
.../mtk-vcodec/vdec/vdec_h264_req_if.c | 807 ++++++++++++++++++
.../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 +
20 files changed, 2360 insertions(+), 704 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.30.1.766.gb4fecdf3b7-goog