mbox series

[v6,0/7] media: imx: Add support for BT.709 encoding

Message ID 20190307233356.23748-1-slongerbeam@gmail.com (mailing list archive)
Headers show
Series media: imx: Add support for BT.709 encoding | expand

Message

Steve Longerbeam March 7, 2019, 11:33 p.m. UTC
This patchset adds support for the BT.709 encoding and inverse encoding
matrices to the ipu_ic task init functions. The imx-media driver can
now support both BT.601 and BT.709 encoding.

History:
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 (7):
  gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM
  gpu: ipu-v3: ipu-ic: Fix BT.601 coefficients
  gpu: ipu-v3: ipu-ic: Fully describe colorspace conversions
  gpu: ipu-v3: ipu-ic: Add support for Rec.709 encoding
  gpu: ipu-v3: ipu-ic: Add support for limited range encoding
  media: imx: Try colorimetry at both sink and source pads
  media: imx: Allow BT.709 encoding for IC routes

 drivers/gpu/ipu-v3/ipu-ic.c                 | 487 +++++++++++++++++---
 drivers/gpu/ipu-v3/ipu-image-convert.c      |  27 +-
 drivers/staging/media/imx/imx-ic-prp.c      |   6 +-
 drivers/staging/media/imx/imx-ic-prpencvf.c |  30 +-
 drivers/staging/media/imx/imx-media-csi.c   |  19 +-
 drivers/staging/media/imx/imx-media-utils.c |  70 +--
 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                  |  37 +-
 10 files changed, 547 insertions(+), 147 deletions(-)