linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] media: imx: Propagate quantization and encoding in CSI
@ 2020-02-28 23:26 Steve Longerbeam
  2020-02-29  6:10 ` Tim Harvey
  2020-03-02  9:31 ` Rui Miguel Silva
  0 siblings, 2 replies; 3+ messages in thread
From: Steve Longerbeam @ 2020-02-28 23:26 UTC (permalink / raw)
  To: linux-media; +Cc: Tim Harvey, Philipp Zabel, Steve Longerbeam

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>
---
 drivers/staging/media/imx/imx-media-csi.c  | 2 ++
 drivers/staging/media/imx/imx7-media-csi.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index b60ed4f22f6d..ac15b1e78f18 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -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:
diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index db30e2c70f2f..4692a3a77515 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -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,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] media: imx: Propagate quantization and encoding in CSI
  2020-02-28 23:26 [PATCH] media: imx: Propagate quantization and encoding in CSI Steve Longerbeam
@ 2020-02-29  6:10 ` Tim Harvey
  2020-03-02  9:31 ` Rui Miguel Silva
  1 sibling, 0 replies; 3+ messages in thread
From: Tim Harvey @ 2020-02-29  6:10 UTC (permalink / raw)
  To: Steve Longerbeam; +Cc: linux-media, Philipp Zabel

On Fri, Feb 28, 2020 at 3:27 PM Steve Longerbeam <slongerbeam@gmail.com> wrote:
>
> 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>
> ---
>  drivers/staging/media/imx/imx-media-csi.c  | 2 ++
>  drivers/staging/media/imx/imx7-media-csi.c | 2 ++
>  2 files changed, 4 insertions(+)
>
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index b60ed4f22f6d..ac15b1e78f18 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -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:
> diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
> index db30e2c70f2f..4692a3a77515 100644
> --- a/drivers/staging/media/imx/imx7-media-csi.c
> +++ b/drivers/staging/media/imx/imx7-media-csi.c
> @@ -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,
> --
> 2.17.1
>

Tested-by: Tim Harvey <tharvey@gateworks.com>

Tim

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] media: imx: Propagate quantization and encoding in CSI
  2020-02-28 23:26 [PATCH] media: imx: Propagate quantization and encoding in CSI Steve Longerbeam
  2020-02-29  6:10 ` Tim Harvey
@ 2020-03-02  9:31 ` Rui Miguel Silva
  1 sibling, 0 replies; 3+ messages in thread
From: Rui Miguel Silva @ 2020-03-02  9:31 UTC (permalink / raw)
  To: Steve Longerbeam; +Cc: linux-media, Tim Harvey, Philipp Zabel

Hi Steve,
On Fri, Feb 28, 2020 at 03:26:57PM -0800, Steve Longerbeam wrote:
> 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>

Thanks, for imx7:
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>

------
Cheers,
     Rui
> ---
>  drivers/staging/media/imx/imx-media-csi.c  | 2 ++
>  drivers/staging/media/imx/imx7-media-csi.c | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index b60ed4f22f6d..ac15b1e78f18 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -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:
> diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
> index db30e2c70f2f..4692a3a77515 100644
> --- a/drivers/staging/media/imx/imx7-media-csi.c
> +++ b/drivers/staging/media/imx/imx7-media-csi.c
> @@ -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,
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-02  9:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-28 23:26 [PATCH] media: imx: Propagate quantization and encoding in CSI Steve Longerbeam
2020-02-29  6:10 ` Tim Harvey
2020-03-02  9:31 ` Rui Miguel Silva

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).