v4l2object: non-default colorimetry broken for v4l2h264enc
@pH5
Submitted by Philipp Zabel Link to original bug (#791471)
Description
Created attachment 365355
v4l2object: Validate colorimetry in S_FMT only if skip_try_fmt_probes is set
Since commit 558e9f4e ("v4l2object: Validate colorimetry in S/TRY_FMT"), trying to set a supported but non-default colorimetry on the sink pad of a v4l2h264enc element fails with an error message:
ERROR: from element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0:
Device '/dev/video14' does not support bt601 colorimetry
This currently causes a pipeline like:
videotestsrc ! v4l2h264enc ! fakesink
to fail when using the coda v4l2 driver, because bt601 is negotiated whereas the output queue defaults to bt709.
(probed caps: colorimetry=(string){ bt709, bt601, smpte240m, ... })
The same happens when forcing any non-default colorimetry:
videotestsrc ! video/x-raw,colorimetry=smpte240m ! v4l2h264enc ! fakesink
Patch 365355, "v4l2object: Validate colorimetry in S_FMT only if skip_try_fmt_probes is set":
0001-v4l2object-Validate-colorimetry-in-S_FMT-only-if-ski.patch