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 943f003..a89d92f 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;