media: coda: allow encoder to set colorimetry on the output queue
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 8 Apr 2019 12:32:54 +0000 (08:32 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 22 Apr 2019 16:10:52 +0000 (12:10 -0400)
v4l2-compliance sets colorimetry on the output queue and then verifies
that querying colorimetry on the capture queue returns the same
configuration. For this to work, the encoder must allow setting context
colorimetry parameters on the output queue.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/coda/coda-common.c

index 943f003c26c43e5ead2b012a76c437e1f87e9d25..a89d92f5539f2fffa454eadf26b1d1f37b8a9bf7 100644 (file)
@@ -819,6 +819,11 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv,
        if (ret)
                return ret;
 
+       ctx->colorspace = f->fmt.pix.colorspace;
+       ctx->xfer_func = f->fmt.pix.xfer_func;
+       ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc;
+       ctx->quantization = f->fmt.pix.quantization;
+
        if (ctx->inst_type != CODA_INST_DECODER)
                return 0;
 
@@ -831,11 +836,6 @@ static int coda_s_fmt_vid_out(struct file *file, void *priv,
        }
        ctx->codec = codec;
 
-       ctx->colorspace = f->fmt.pix.colorspace;
-       ctx->xfer_func = f->fmt.pix.xfer_func;
-       ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc;
-       ctx->quantization = f->fmt.pix.quantization;
-
        dst_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE);
        if (!dst_vq)
                return -EINVAL;