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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox