mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
v4l2object: Always tell capture queue that we want to set the CSC
Not all drivers supports it, but in general we want to try and match the negotiated caps, so lets always try to set the CSC. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7540>
This commit is contained in:
parent
2fe83fa2de
commit
86dddfa61c
1 changed files with 4 additions and 0 deletions
|
@ -3898,12 +3898,16 @@ gst_v4l2_object_set_format_full (GstV4l2Object * v4l2object, GstCaps * caps,
|
||||||
format.fmt.pix_mp.quantization = range;
|
format.fmt.pix_mp.quantization = range;
|
||||||
format.fmt.pix_mp.ycbcr_enc = matrix;
|
format.fmt.pix_mp.ycbcr_enc = matrix;
|
||||||
format.fmt.pix_mp.xfer_func = transfer;
|
format.fmt.pix_mp.xfer_func = transfer;
|
||||||
|
if (V4L2_TYPE_IS_CAPTURE (v4l2object->type))
|
||||||
|
format.fmt.pix_mp.flags |= V4L2_PIX_FMT_FLAG_SET_CSC;
|
||||||
} else {
|
} else {
|
||||||
format.fmt.pix.priv = V4L2_PIX_FMT_PRIV_MAGIC;
|
format.fmt.pix.priv = V4L2_PIX_FMT_PRIV_MAGIC;
|
||||||
format.fmt.pix.colorspace = colorspace;
|
format.fmt.pix.colorspace = colorspace;
|
||||||
format.fmt.pix.quantization = range;
|
format.fmt.pix.quantization = range;
|
||||||
format.fmt.pix.ycbcr_enc = matrix;
|
format.fmt.pix.ycbcr_enc = matrix;
|
||||||
format.fmt.pix.xfer_func = transfer;
|
format.fmt.pix.xfer_func = transfer;
|
||||||
|
if (V4L2_TYPE_IS_CAPTURE (v4l2object->type))
|
||||||
|
format.fmt.pix.flags |= V4L2_PIX_FMT_FLAG_SET_CSC;
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (v4l2object->dbg_obj, "Desired colorspace is %d:%d:%d:%d",
|
GST_DEBUG_OBJECT (v4l2object->dbg_obj, "Desired colorspace is %d:%d:%d:%d",
|
||||||
|
|
Loading…
Reference in a new issue