On Sun, Mar 19, 2017 at 11:37:15AM -0700, Steve Longerbeam wrote:
On 03/19/2017 05:14 AM, Russell King - ARM Linux wrote:
Right now, CSI doesn't do that - it only looks at the width, height,Correct, there is currently no propagation of the colorimetry
code, and field.
parameters (colorspace, ycbcr_enc, quantization, and xfer_func).
For the most part, those are just ignored ATM. Philipp Zabel did
do some work earlier to start propagating those, but that's still
TODO.
Look at csi_try_fmt() - it validates the source pad againstI think we've got other bugs though that haven't been picked up by anyI don't believe that is correct. csi_try_fmt() for the source pads calls
review - csi_try_fmt() adjusts the format using the _current_
configuration of the sink pad, even when using V4L2_SUBDEV_FORMAT_TRY.
This seems wrong according to the docs: the purpose of the try
mechanism is to be able to setup the _entire_ pipeline using the TRY
mechanism to work out whether the configuration works, before then
setting for real. If we're validating the TRY formats against the
live configuration, then we're not doing that.
__csi_get_fmt(priv, cfg, CSI_SINK_PAD, sdformat->which) to get
the sink format, and for the TRY trial-run from csi_set_fmt(),
sdformat->which will be set to TRY, so the returned sink format
is the TRY format.
priv->crop, which is the actively live cropping rectangle, not the
one which has been configured for the TRY trial-run.
Also, as I mention elsewhere, I believe the way we're doing scaling
is completely wrong...