From: Alexandre Courbot <acourbot@chromium.org> To: Tiffany Lin <tiffany.lin@mediatek.com>, Andrew-CT Chen <andrew-ct.chen@mediatek.com>, Rob Herring <robh+dt@kernel.org>, Yunfei Dong <yunfei.dong@mediatek.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>, Hans Verkuil <hverkuil-cisco@xs4all.nl>, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, Alexandre Courbot <acourbot@chromium.org> Subject: [PATCH v4 00/15] media: mtk-vcodec: support for MT8183 decoder Date: Tue, 27 Apr 2021 20:15:11 +0900 [thread overview] Message-ID: <20210427111526.1772293-1-acourbot@chromium.org> (raw) 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 noticed. 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 v3: * Stop checking that controls are set for every request. * Add V4L2_CID_STATELESS_H264_START_CODE control. * Stop mapping OUTPUT buffers and getting the NAL type from them, use the nal_ref_idc field instead. * Make V4L2_CID_MIN_BUFFERS_FOR_CAPTURE control stateful-only. * Set vb2_buffer's field to V4L2_FIELD_NONE in buffer validation hook. Changes since v2: * 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 | 818 +++--------------- .../platform/mtk-vcodec/mtk_vcodec_dec.h | 28 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 66 +- .../mtk-vcodec/mtk_vcodec_dec_stateful.c | 667 ++++++++++++++ .../mtk-vcodec/mtk_vcodec_dec_stateless.c | 370 ++++++++ .../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 | 780 +++++++++++++++++ .../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, 2293 insertions(+), 723 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.31.1.498.g6c1eba8ee3d-goog
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Courbot <acourbot@chromium.org> To: Tiffany Lin <tiffany.lin@mediatek.com>, Andrew-CT Chen <andrew-ct.chen@mediatek.com>, Rob Herring <robh+dt@kernel.org>, Yunfei Dong <yunfei.dong@mediatek.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>, Hans Verkuil <hverkuil-cisco@xs4all.nl>, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, Alexandre Courbot <acourbot@chromium.org> Subject: [PATCH v4 00/15] media: mtk-vcodec: support for MT8183 decoder Date: Tue, 27 Apr 2021 20:15:11 +0900 [thread overview] Message-ID: <20210427111526.1772293-1-acourbot@chromium.org> (raw) 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 noticed. 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 v3: * Stop checking that controls are set for every request. * Add V4L2_CID_STATELESS_H264_START_CODE control. * Stop mapping OUTPUT buffers and getting the NAL type from them, use the nal_ref_idc field instead. * Make V4L2_CID_MIN_BUFFERS_FOR_CAPTURE control stateful-only. * Set vb2_buffer's field to V4L2_FIELD_NONE in buffer validation hook. Changes since v2: * 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 | 818 +++--------------- .../platform/mtk-vcodec/mtk_vcodec_dec.h | 28 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 66 +- .../mtk-vcodec/mtk_vcodec_dec_stateful.c | 667 ++++++++++++++ .../mtk-vcodec/mtk_vcodec_dec_stateless.c | 370 ++++++++ .../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 | 780 +++++++++++++++++ .../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, 2293 insertions(+), 723 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.31.1.498.g6c1eba8ee3d-goog _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
next reply other threads:[~2021-04-27 11:15 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-27 11:15 Alexandre Courbot [this message] 2021-04-27 11:15 ` [PATCH v4 00/15] media: mtk-vcodec: support for MT8183 decoder Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 01/15] media: mtk-vcodec: vdec: move stateful ops into their own file Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 02/15] media: mtk-vcodec: vdec: handle firmware version field Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 03/15] media: mtk-vcodec: support version 2 of decoder firmware ABI Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 04/15] media: add Mediatek's MM21 format Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-29 7:16 ` Hans Verkuil 2021-04-29 7:16 ` Hans Verkuil 2021-04-27 11:15 ` [PATCH v4 05/15] media: mtk-vcodec: vdec: support stateless API Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-29 7:27 ` Hans Verkuil 2021-04-29 7:27 ` Hans Verkuil 2021-05-13 9:20 ` Alexandre Courbot 2021-05-13 9:20 ` Alexandre Courbot 2021-04-29 12:10 ` Dafna Hirschfeld 2021-04-29 12:10 ` Dafna Hirschfeld 2021-05-13 9:21 ` Alexandre Courbot 2021-05-13 9:21 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 06/15] media: mtk-vcodec: vdec: support stateless H.264 decoding Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 07/15] media: mtk-vcodec: vdec: add media device if using stateless api Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-29 7:28 ` Hans Verkuil 2021-04-29 7:28 ` Hans Verkuil 2021-05-13 8:05 ` Alexandre Courbot 2021-05-13 8:05 ` Alexandre Courbot 2021-05-13 15:07 ` Nicolas Dufresne 2021-05-13 15:07 ` Nicolas Dufresne 2021-05-17 4:35 ` Hsin-Yi Wang 2021-05-17 4:35 ` Hsin-Yi Wang 2021-05-19 5:23 ` Alexandre Courbot 2021-05-19 5:23 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 08/15] dt-bindings: media: document mediatek,mt8183-vcodec-dec Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 08/15] dt-bindings: media: document mediatek, mt8183-vcodec-dec Alexandre Courbot 2021-05-04 12:55 ` [PATCH v4 08/15] dt-bindings: media: document mediatek,mt8183-vcodec-dec Alexandre Courbot 2021-05-04 12:55 ` [PATCH v4 08/15] dt-bindings: media: document mediatek, mt8183-vcodec-dec Alexandre Courbot 2021-05-04 14:48 ` [PATCH v4 08/15] dt-bindings: media: document mediatek,mt8183-vcodec-dec Rob Herring 2021-05-04 14:48 ` [PATCH v4 08/15] dt-bindings: media: document mediatek, mt8183-vcodec-dec Rob Herring 2021-04-27 11:15 ` [PATCH v4 09/15] media: mtk-vcodec: enable MT8183 decoder Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 10/15] media: mtk-vcodec: vdec: use helpers in VIDIOC_(TRY_)DECODER_CMD Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 11/15] media: mtk-vcodec: vdec: Support H264 profile control Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 12/15] media: mtk-vcodec: vdec: clamp OUTPUT resolution to hardware limits Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 13/15] media: mtk-vcodec: make flush buffer reusable by encoder Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-27 11:15 ` [PATCH v4 14/15] media: mtk-vcodec: venc: support START and STOP commands Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-08-04 12:53 ` Dafna Hirschfeld 2021-08-04 12:53 ` Dafna Hirschfeld 2021-08-05 9:56 ` Dafna Hirschfeld 2021-08-05 9:56 ` Dafna Hirschfeld 2021-04-27 11:15 ` [PATCH v4 15/15] media: mtk-vcodec: venc: make sure buffer exists in list before removing Alexandre Courbot 2021-04-27 11:15 ` Alexandre Courbot 2021-04-29 7:35 ` [PATCH v4 00/15] media: mtk-vcodec: support for MT8183 decoder Hans Verkuil 2021-04-29 7:35 ` Hans Verkuil 2021-05-13 8:06 ` Alexandre Courbot 2021-05-13 8:06 ` Alexandre Courbot 2021-04-29 12:07 ` Dafna Hirschfeld 2021-04-29 12:07 ` Dafna Hirschfeld 2021-05-13 8:21 ` Alexandre Courbot 2021-05-13 8:21 ` Alexandre Courbot 2021-07-19 11:43 ` Dafna Hirschfeld 2021-07-19 11:43 ` Dafna Hirschfeld
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210427111526.1772293-1-acourbot@chromium.org \ --to=acourbot@chromium.org \ --cc=andrew-ct.chen@mediatek.com \ --cc=hverkuil-cisco@xs4all.nl \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=mchehab@kernel.org \ --cc=robh+dt@kernel.org \ --cc=tiffany.lin@mediatek.com \ --cc=yunfei.dong@mediatek.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.