OSDN Git Service

media: imx: Propagate quantization and encoding in CSI
authorSteve Longerbeam <slongerbeam@gmail.com>
Fri, 28 Feb 2020 23:26:57 +0000 (00:26 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 5 Mar 2020 21:47:05 +0000 (22:47 +0100)
Unlike the PRPENC and PRPVF subdevices, the CSI's cannot convert
quantization from sink to source, or do any kind of Y'CbCr <-> RGB
encoding. So the CSI's cannot allow quantization and ycbcr_enc to be
selectable by the user and must be propagated from sink to source.

Fixes: 4791bd7d6adc4 ("media: imx: Try colorimetry at both sink and source pads")

Reported-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
Tested-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/imx/imx-media-csi.c
drivers/staging/media/imx/imx7-media-csi.c

index b60ed4f..ac15b1e 100644 (file)
@@ -1459,6 +1459,8 @@ static void csi_try_fmt(struct csi_priv *priv,
                /* propagate colorimetry from sink */
                sdformat->format.colorspace = infmt->colorspace;
                sdformat->format.xfer_func = infmt->xfer_func;
+               sdformat->format.quantization = infmt->quantization;
+               sdformat->format.ycbcr_enc = infmt->ycbcr_enc;
 
                break;
        case CSI_SINK_PAD:
index db30e2c..4692a3a 100644 (file)
@@ -1013,6 +1013,8 @@ static int imx7_csi_try_fmt(struct imx7_csi *csi,
 
                sdformat->format.colorspace = in_fmt->colorspace;
                sdformat->format.xfer_func = in_fmt->xfer_func;
+               sdformat->format.quantization = in_fmt->quantization;
+               sdformat->format.ycbcr_enc = in_fmt->ycbcr_enc;
                break;
        case IMX7_CSI_PAD_SINK:
                *cc = imx_media_find_mbus_format(sdformat->format.code,