LF-3773 media: isi: m2m: only fill colorspace when userspace don't touch them
authorGuoniu.zhou <guoniu.zhou@nxp.com>
Thu, 13 May 2021 01:50:02 +0000 (09:50 +0800)
committerGuoniu.zhou <guoniu.zhou@nxp.com>
Thu, 13 May 2021 07:19:58 +0000 (15:19 +0800)
Only fill colorspace, ycbcr_enc, xfer_func and quantization when userspace
don't touch them.

Signed-off-by: Bing Song <bing.song@nxp.com>
Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
drivers/staging/media/imx/imx8-isi-m2m.c

index a263775..1e2071e 100644 (file)
@@ -689,10 +689,14 @@ static int mxc_isi_m2m_try_fmt_vid_cap(struct file *file, void *fh,
        if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
                return -EINVAL;
 
-       pix->colorspace = isi_m2m->colorspace;
-       pix->ycbcr_enc  = isi_m2m->ycbcr_enc;
-       pix->xfer_func  = isi_m2m->xfer_func;
-       pix->quantization = isi_m2m->quant;
+       if (!pix->colorspace)
+               pix->colorspace = isi_m2m->colorspace;
+       if (!pix->ycbcr_enc)
+               pix->ycbcr_enc  = isi_m2m->ycbcr_enc;
+       if (!pix->xfer_func)
+               pix->xfer_func  = isi_m2m->xfer_func;
+       if (!pix->quantization)
+               pix->quantization = isi_m2m->quant;
 
        return isi_m2m_try_fmt(&isi_m2m->dst_f, f);
 }