mbox series

[v2,0/8] media: mtk-vcodec: vdec: support for MT8183

Message ID 20210225101612.2832444-1-acourbot@chromium.org
Headers show
Series media: mtk-vcodec: vdec: support for MT8183 | expand

Message

Alexandre Courbot Feb. 25, 2021, 10:16 a.m. UTC
Here is the second version is this patchset, although there has been such a
delay after the first one that probably nobody remembers it has even been sent.

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.

v4l2-compliance is also passing, minor a problem when testing requests on
MT8183: the test tries to call S_EXT_CTRLS on the first available control,
which happens to be V4L2_CID_MIN_BUFFERS_FOR_CAPTURE. Since this control is
read-only, the driver returns -EACCESS. I suppose this is a problem with
v4l2-compliance and not the driver.

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 (4):
  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    |   2 +
 .../platform/mtk-vcodec/mtk_vcodec_dec.c      |  66 +-
 .../platform/mtk-vcodec/mtk_vcodec_dec.h      |   9 +-
 .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c  |  44 +
 .../mtk-vcodec/mtk_vcodec_dec_stateful.c      |   1 +
 .../mtk-vcodec/mtk_vcodec_dec_stateless.c     | 427 +++++++++
 .../platform/mtk-vcodec/mtk_vcodec_drv.h      |   9 +
 .../mtk-vcodec/vdec/vdec_h264_req_if.c        | 808 ++++++++++++++++++
 .../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 +
 18 files changed, 1442 insertions(+), 11 deletions(-)
 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.0.617.g56c4b15f3c-goog