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
next 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.