On 27/05/2021 12:10, Alexandre Courbot wrote: > On Thu, May 27, 2021 at 5:08 PM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: >> >> Hi Alexandre, >> >> On 19/05/2021 16:29, Alexandre Courbot wrote: >>> 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-5 fix a few compliance issues with the decoder and encoder, most >>> notably by adding support for the START and STOP command for the latter. These >>> patches were last in the previous series but have been moved to the beginning so >>> they can be applied sooner. >>> >>> Patches 6-9 separates the "stateful" part of the driver into its own file and >>> add support for the new firmware and pixel format used by MT8183. >>> >>> Patches 10-14 add support for H.264 stateless decoding and MT8183. >>> >>> Changes since v4: >>> * Moved compliance fix patches to the head of the series. >>> * Select MEDIA_CONTROLLER_REQUEST_API. >>> * Properly capitalize MM21's format description string. >>> * Reorganize stateless code as suggested by Hans. >>> * Fix compilation errors when DEBUG is defined. >>> * Merge double-free fixup patch into the patch that introduced the issue (was >>> a separate patch coming right after the one introducing the issue). >>> >>> 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: 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 >>> 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 >>> >>> Hirokazu Honda (1): >>> media: mtk-vcodec: vdec: Support H264 profile control >>> >>> 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 >> >> Running scripts/checkpatch.pl --strict over this patch series gives >> a lot of warnings and checks. A lot of these look like they are easy >> to fix and reasonable. > > Apologies, I forgot to use --strict. It's not pretty indeed. I've > fixed most of the problems reported ; a few are more tricky or would > require extra cleanup patches like converting e.g. uint32_t to u32 > when adding a member to a struct, which would make sense if we convert > all members of the struct (or better, the whole driver) separately. > Hopefully these can be overlooked for the time being. Fair enough, just mention that in the cover letter. Regards, Hans >