All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergey Khimich <serghox@gmail.com>
To: linux-media@vger.kernel.org
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-kernel@vger.kernel.org,
	Vladimir Yakovlev <vovchkir@gmail.com>,
	Maksim Turok <turok.m7@gmail.com>
Subject: [PATCH 00/18] coda988 video codec support
Date: Fri, 14 Mar 2025 18:29:21 +0300	[thread overview]
Message-ID: <20250314152939.2759573-1-serghox@gmail.com> (raw)

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


             reply	other threads:[~2025-03-14 15:29 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-14 15:29 Sergey Khimich [this message]
2025-03-14 15:29 ` [PATCH 01/18] media: coda: Add print if irq isn't present Sergey Khimich
2025-05-23 23:40   ` Nicolas Dufresne
2025-05-23 23:43     ` Nicolas Dufresne
2025-03-14 15:29 ` [PATCH 02/18] media: coda: Use get_array to work use multiple reset Sergey Khimich
2025-03-16 11:44   ` Krzysztof Kozlowski
2025-03-14 15:29 ` [PATCH 03/18] dt-bindings: media: coda: Fix resets count Sergey Khimich
2025-03-16 11:42   ` Krzysztof Kozlowski
     [not found]     ` <CABd6DqVZiW4ybyfBi4qgkP7RjRLpaAc4G1n+nBJzTW8fLh3sVQ@mail.gmail.com>
2025-03-24 13:52       ` Krzysztof Kozlowski
2025-03-14 15:29 ` [PATCH 04/18] media: coda: Add check result after reset Sergey Khimich
2025-03-14 15:29 ` [PATCH 05/18] media: coda: using threaded_irq for 0 (bit) interrupt Sergey Khimich
2025-05-23 23:49   ` Nicolas Dufresne
2025-03-14 15:29 ` [PATCH 06/18] media: coda: Add reset device before getting interrupt Sergey Khimich
2025-03-14 15:29 ` [PATCH 07/18] media: coda: Add fake IRQ check Sergey Khimich
2025-05-23 23:57   ` Nicolas Dufresne
2025-03-14 15:29 ` [PATCH 08/18] media: coda: Add log to finish_encode if buffer is too small Sergey Khimich
2025-05-24  0:03   ` Nicolas Dufresne
2025-03-14 15:29 ` [PATCH 09/18] media: coda: Fix max h.264 level for CODA_DX6 Sergey Khimich
2025-05-24  0:07   ` Nicolas Dufresne
2025-03-14 15:29 ` [PATCH 10/18] media: coda: Remove double setting of stop flag Sergey Khimich
2025-03-14 15:29 ` [PATCH 11/18] media: coda: Print size of encoded buff in other place Sergey Khimich
2025-03-14 15:29 ` [PATCH 12/18] media: coda: Fix loglevel for seq mismatch print Sergey Khimich
2025-03-14 15:29 ` [PATCH 13/18] media: coda: Fix support for all mpeg4 levels Sergey Khimich
2025-03-14 15:29 ` [PATCH 14/18] media: coda: Fix handling wrong format in coda_try_fmt Sergey Khimich
2025-03-14 15:29 ` [PATCH 15/18] media: coda: Use v4l2_ctrl to set gamma for h264enc Sergey Khimich
2025-03-14 15:29 ` [PATCH 16/18] media: coda: Update default velues of QP for mpeg4 I/P Sergey Khimich
2025-03-14 15:29 ` [PATCH 17/18] media: coda: Use preferred usleep_range than udelay Sergey Khimich
2025-03-14 15:29 ` [PATCH 18/18] media: coda: add support coda988 enc and dec Sergey Khimich
2025-03-17  0:12 ` [PATCH 00/18] coda988 video codec support jackson.lee
2025-03-25  1:44   ` jackson.lee
2025-04-08 18:41 ` Nicolas Dufresne

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=20250314152939.2759573-1-serghox@gmail.com \
    --to=serghox@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=turok.m7@gmail.com \
    --cc=vovchkir@gmail.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: link
Be 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.