Hi Sergey Can you share the result of fluster test for h264 and vp8 decoder? Thanks Jackson > -----Original Message----- > From: Sergey Khimich <serghox@xxxxxxxxx> > Sent: Saturday, March 15, 2025 12:29 AM > To: linux-media@xxxxxxxxxxxxxxx > Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>; Mauro Carvalho Chehab > <mchehab@xxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Vladimir Yakovlev > <vovchkir@xxxxxxxxx>; Maksim Turok <turok.m7@xxxxxxxxx> > Subject: [PATCH 00/18] coda988 video codec support > > Hello! > > This is the implementation of the Chips&Media "CODA988" video codec > support within v4l2 driver for coda. Support for the following codecs was > implemented: > * h264: decoder & encoder > * h263: decoder & encoder > * mpeg4: decoder & encoder > * vp8dec: decoder > > Support for the following formates was implemented: > * yuv420p(I420) > * yvu420p(YV12) > * NV12 > * NV21 > > Also the following features and fixes were implemented for coda988: > * special config for mem_ctrl > * special config for encoder header (sps and pps) > * special set profile_idc > * special set RC config > * special set QP > * special set slice mode > * special set Motion Extimation (ME) > * v4l2_ctrl for h264 profile > * v4l2_ctrl for h264 level > * v4l2_ctrl for h.264 RC mode > * v4l2_ctrl for h.264 skipFrame > * v4l2_ctrl for h.264 i-frame min/max qp > * v4l2_ctrl for h.264 p-frame min/max qp > * v4l2_ctrl for h.264 entropy mode > * v4l2_ctrl for h.264 8x8transform > * v4l2_ctrl for h.264 i-frame period > * v4l2_ctrl for h.264 Access Unit Delimiter(AUD) > * v4l2_ctrl for h.264 me x/y search range > * v4l2_ctrl for h.264 intra refresh period > * v4l2_ctrl for h.263 intra/inter qp > * v4l2_ctrl for h.263 min/max qp > * v4l2_ctrl for mpeg4 min/max qp > > During adding support for "CODA988" we also did some extra work related to > refactoring and improvement of generic part of C&M coda > driver: > * Improve error checking for probe, irq-handle and etc. > * Update work with resets > * Replace hard_irq by threaded_irq > * Remove double setting of stop flag > * Improve some prints > * Fix loglevel to avoid performance failure > * Fix support of MPEG4 levels > * Fix setting gamma for h264enc > * Update default velues of QP for mpeg4 I/P > * Other minor fixes > > Sergey Khimich (18): > media: coda: Add print if irq isn't present > media: coda: Use get_array to work use multiple reset > dt-bindings: media: coda: Fix resets count > media: coda: Add check result after reset > media: coda: using threaded_irq for 0 (bit) interrupt > media: coda: Add reset device before getting interrupt > media: coda: Add fake IRQ check > media: coda: Add log to finish_encode if buffer is too small > media: coda: Fix max h.264 level for CODA_DX6 > media: coda: Remove double setting of stop flag > media: coda: Print size of encoded buff in other place > media: coda: Fix loglevel for seq mismatch print > media: coda: Fix support for all mpeg4 levels > media: coda: Fix handling wrong format in coda_try_fmt > media: coda: Use v4l2_ctrl to set gamma for h264enc > media: coda: Update default velues of QP for mpeg4 I/P > media: coda: Use preferred usleep_range than udelay > media: coda: add support coda988 enc and dec > > .../devicetree/bindings/media/coda.yaml | 2 +- > .../platform/chips-media/coda/coda-bit.c | 1114 ++++++++++++++--- > .../platform/chips-media/coda/coda-common.c | 430 ++++++- > .../platform/chips-media/coda/coda-gdi.c | 149 +++ > .../platform/chips-media/coda/coda-h264.c | 10 + > .../media/platform/chips-media/coda/coda.h | 41 +- > .../platform/chips-media/coda/coda_regs.h | 157 +++ > .../media/platform/chips-media/coda/trace.h | 16 + > 8 files changed, 1703 insertions(+), 216 deletions(-) > > -- > 2.30.2 >