From: Steve Longerbeam <slongerbeam@gmail.com>
To: linux-media@vger.kernel.org
Cc: Steve Longerbeam <slongerbeam@gmail.com>
Subject: [PATCH v7 0/5] media: imx: Add Rec.709 and limited range encoding support
Date: Sat, 6 Apr 2019 16:08:58 -0700 [thread overview]
Message-ID: <20190406230903.16488-1-slongerbeam@gmail.com> (raw)
This patchset adds support for Rec.709 encoding and inverse encoding,
and encoding between both full-range and limited-range quantization
for both YUV and RGB, to ipu-ic. The imx-media driver can now support
both BT.601 and Rec.709 encoding, and limited and full-range quantization.
History:
v7:
- removed the run-time transformation of coefficients from full-range
to limited-range, and instead hard-code all the coefficient tables.
- moved the coefficient tables into a new module ipu-ic-csc.c.
- introduced ipu_ic_calc_csc() which pre-determines coefficients,
which are then passed to ipu_ic_task_init(_rsc)() as a filled
'struct ipu_ic_csc'.
- added support for limited-range RGB.
v6:
- tweak some of the coefficients slightly, they were not getting
rounded correctly.
- move the introduction of calc_csc_coeffs() to an earlier patch for
easier patch readability.
v5:
- the hard-coded encode coefficients now convert only between
full-range quantization. A new function is added to transform the
coefficients to limited-range at input or output.
- add a bug fix patch for saturation bit in TPMEM register.
- add a patch to fully describe input and output colorspace to
the IC task init functions.
- add imx_media_try_colorimetry(), called at all sink/source pad try_fmt.
v4:
- fix a compile error in init_csc(), reported by Tim Harvey.
v3:
- fix some inconsistent From: and Signed-off-by:'s.
No functional changes.
v2:
- rename ic_csc_rgb2rgb matrix to ic_csc_identity.
- only return "Unsupported YCbCr encoding" error if inf != outf,
since if inf == outf, the identity matrix can be used. Reported
by Tim Harvey.
- move ic_route check above default colorimetry checks, and fill default
colorspace for ic_route, otherwise it's not possible to set BT.709
encoding for ic routes.
Steve Longerbeam (5):
gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM
gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions
gpu: ipu-v3: ipu-ic-csc: Add support for limited range encoding
gpu: ipu-v3: ipu-ic-csc: Add support for Rec.709 encoding
media: imx: Try colorimetry at both sink and source pads
drivers/gpu/ipu-v3/Makefile | 4 +-
drivers/gpu/ipu-v3/ipu-ic-csc.c | 410 ++++++++++++++++++++
drivers/gpu/ipu-v3/ipu-ic.c | 138 +++----
drivers/gpu/ipu-v3/ipu-image-convert.c | 28 +-
drivers/staging/media/imx/imx-ic-prp.c | 6 +-
drivers/staging/media/imx/imx-ic-prpencvf.c | 42 +-
drivers/staging/media/imx/imx-media-csi.c | 19 +-
drivers/staging/media/imx/imx-media-utils.c | 73 ++--
drivers/staging/media/imx/imx-media-vdic.c | 5 +-
drivers/staging/media/imx/imx-media.h | 5 +-
drivers/staging/media/imx/imx7-media-csi.c | 8 +-
include/video/imx-ipu-v3.h | 56 ++-
12 files changed, 614 insertions(+), 180 deletions(-)
create mode 100644 drivers/gpu/ipu-v3/ipu-ic-csc.c
--
2.17.1
next reply other threads:[~2019-04-06 23:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-06 23:08 Steve Longerbeam [this message]
2019-04-06 23:08 ` [PATCH v7 1/5] gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM Steve Longerbeam
2019-04-06 23:09 ` [PATCH v7 2/5] gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions Steve Longerbeam
[not found] ` <20190408145233.7F26F214C6@mail.kernel.org>
2019-05-22 0:32 ` Steve Longerbeam
2019-04-06 23:09 ` [PATCH v7 3/5] gpu: ipu-v3: ipu-ic-csc: Add support for limited range encoding Steve Longerbeam
2019-04-06 23:09 ` [PATCH v7 4/5] gpu: ipu-v3: ipu-ic-csc: Add support for Rec.709 encoding Steve Longerbeam
2019-04-06 23:09 ` [PATCH v7 5/5] media: imx: Try colorimetry at both sink and source pads Steve Longerbeam
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=20190406230903.16488-1-slongerbeam@gmail.com \
--to=slongerbeam@gmail.com \
--cc=linux-media@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).