From b677ae3cb677ccfa2ed9555af254c5d47b102a5c Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 27 Jun 2018 16:57:29 -0400 Subject: [PATCH] v4l2object: Really always set colorimetry This fixes patch dd1c5aed656e07e3dad01f83410f3af16cfb14cf which pretended to always set colorimetry but the patch was incomplete. This is again best effort considering the spec says that for CAPTURE you may only read this value. --- sys/v4l2/gstv4l2object.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index fa47e1b..ee6ebdb 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -3449,23 +3449,21 @@ gst_v4l2_object_set_format_full (GstV4l2Object * v4l2object, GstCaps * caps, } #endif - if (V4L2_TYPE_IS_OUTPUT (v4l2object->type)) { - if (is_mplane) { - format.fmt.pix_mp.colorspace = colorspace; - format.fmt.pix_mp.quantization = range; - format.fmt.pix_mp.ycbcr_enc = matrix; - format.fmt.pix_mp.xfer_func = transfer; - } else { - format.fmt.pix.colorspace = colorspace; - format.fmt.pix.quantization = range; - format.fmt.pix.ycbcr_enc = matrix; - format.fmt.pix.xfer_func = transfer; - } - - GST_DEBUG_OBJECT (v4l2object->dbg_obj, "Desired colorspace is %d:%d:%d:%d", - colorspace, range, matrix, transfer); + if (is_mplane) { + format.fmt.pix_mp.colorspace = colorspace; + format.fmt.pix_mp.quantization = range; + format.fmt.pix_mp.ycbcr_enc = matrix; + format.fmt.pix_mp.xfer_func = transfer; + } else { + format.fmt.pix.colorspace = colorspace; + format.fmt.pix.quantization = range; + format.fmt.pix.ycbcr_enc = matrix; + format.fmt.pix.xfer_func = transfer; } + GST_DEBUG_OBJECT (v4l2object->dbg_obj, "Desired colorspace is %d:%d:%d:%d", + colorspace, range, matrix, transfer); + if (try_only) { if (v4l2object->ioctl (fd, VIDIOC_TRY_FMT, &format) < 0) goto try_fmt_failed; -- 2.7.4