Hi Steve, On 25/03/2020 18:34, Steve Longerbeam wrote: > The function init_mbus_colorimetry() is used to initialize the imx > subdevice mbus colorimetry to some sane defaults when the subdevice is > registered. Currently it guesses at a colorspace based on the passed > mbus pixel format. If the format is RGB, it chooses colorspace > V4L2_COLORSPACE_SRGB, and if the format is YUV, it chooses > V4L2_COLORSPACE_SMPTE170M. > > While that might be a good guess, it's not necessarily true that a RGB > pixel format encoding uses a SRGB colorspace, or that a YUV encoding > uses a SMPTE170M colorspace. Instead of making this dubious guess, > just default the colorspace to SRGB. > > Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx> > Signed-off-by: Steve Longerbeam <slongerbeam@xxxxxxxxx> > --- > drivers/staging/media/imx/imx-media-utils.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c > index fae981698c49..8344675bfd05 100644 > --- a/drivers/staging/media/imx/imx-media-utils.c > +++ b/drivers/staging/media/imx/imx-media-utils.c > @@ -236,8 +236,7 @@ static const struct imx_media_pixfmt ipu_rgb_formats[] = { > static void init_mbus_colorimetry(struct v4l2_mbus_framefmt *mbus, > const struct imx_media_pixfmt *fmt) > { > - mbus->colorspace = (fmt->cs == IPUV3_COLORSPACE_RGB) ? > - V4L2_COLORSPACE_SRGB : V4L2_COLORSPACE_SMPTE170M; > + mbus->colorspace = V4L2_COLORSPACE_SRGB; > mbus->xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(mbus->colorspace); > mbus->ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(mbus->colorspace); > mbus->quantization = The quantization is probably wrong as well since it checks fmt->cs. The first argument should just be 'true'. > In any case, this patch no longer applies after the imx utils patch series. Regards, Hans