All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam@gmail.com>
To: linux-media@vger.kernel.org
Cc: Steve Longerbeam <slongerbeam@gmail.com>
Subject: [PATCH v8 0/5] media: imx: Add Rec.709 and limited range encoding support
Date: Tue, 21 May 2019 18:03:12 -0700	[thread overview]
Message-ID: <20190522010317.23710-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:
v8:
- removed the Fixes: and cc: stable in patch "Fully describe colorspace
  conversions". This patch is too difficult to backport to stable trees.
  No functional changes in this version.

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


             reply	other threads:[~2019-05-22  1:03 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-22  1:03 Steve Longerbeam [this message]
2019-05-22  1:03 ` [PATCH v8 1/5] gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03 ` [PATCH v8 2/5] gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03 ` [PATCH v8 3/5] gpu: ipu-v3: ipu-ic-csc: Add support for limited range encoding Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03 ` [PATCH v8 4/5] gpu: ipu-v3: ipu-ic-csc: Add support for Rec.709 encoding Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-22  1:03 ` [PATCH v8 5/5] media: imx: Try colorimetry at both sink and source pads Steve Longerbeam
2019-05-22  1:03   ` Steve Longerbeam
2019-05-27  9:47   ` Hans Verkuil
2019-05-27  9:47     ` Hans Verkuil
2019-06-14 14:10   ` Philipp Zabel
2019-06-14 14:10     ` Philipp Zabel
2019-10-22  1:44   ` Laurent Pinchart
2019-10-22  1:44     ` Laurent Pinchart
2019-10-22  1:44     ` Laurent Pinchart
2019-10-22  3:26     ` Steve Longerbeam
2019-10-22  3:26       ` Steve Longerbeam
2019-10-22  3:26       ` Steve Longerbeam
2019-10-22  3:55       ` Steve Longerbeam
2019-10-22  3:55         ` Steve Longerbeam
2019-10-22  3:55         ` Steve Longerbeam
2019-10-22 13:34     ` Rui Miguel Silva
2019-10-22 13:34       ` Rui Miguel Silva
2019-10-22 13:34       ` Rui Miguel Silva
2019-10-22 16:26       ` Steve Longerbeam
2019-10-22 16:26         ` Steve Longerbeam
2019-10-22 16:26         ` Steve Longerbeam
2019-10-23  9:07         ` Rui Miguel Silva
2019-10-23  9:07           ` Rui Miguel Silva
2019-10-23  9:07           ` Rui Miguel Silva

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=20190522010317.23710-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 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.