On 2024-10-22 at 18:05 +02, Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx> wrote: > Hi Mikhail > > On Mon, Oct 21, 2024 at 05:29:33PM +0300, Mikhail Rudenko wrote: >> >> Hi, Sakari! >> >> On 2024-10-11 at 10:55 +03, Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> wrote: >> >> > Hello everyone, >> > >> > I've been recently working (with others) on sub-device streams support as >> > well as on internal pads. The two can be used to make sub-device >> > configuration more versatile. >> > >> > At the same time, the added interfaces are much more useful if we require >> > specific semantics of those interfaces, so that the user space knows >> > exactly what e.g. a given selection target signifies. However, as the same >> > selection rectangle could be used for a different purpose on a non-raw >> > sensor device, we need a way to tell how should the user space determine >> > how to use a given interface. >> > >> > I'm proposing to solve this problem by introducing sub-device >> > configuration models, and by the common raw sensor model, also present in >> > this patchset, in particular. >> > >> > This has been (and will, for some time, continue to be) the reason why I >> > have reviewed few sensor driver related patches lately. As we're >> > introducing a new interface, it's beneficial to be able to use that >> > interface right from the start, rather than trying to later on offer >> > compatibility support, which is almost always a fair amount of work with >> > less than desirable results in the driver. >> > >> > With this solved, I believe we can enable the use of the streams UAPI. >> > >> > Comments are welcome. >> > >> > The compiled documentation can be found in >> > <URL:https://www.retiisi.eu/~sailus/v4l2/tmp/meta-format/output/userspace-api/media/v4l/dev-subdev.html#sub-device-configuration-models> >> > and the patches here >> > <URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=metadata>, i.e. >> > they're on top of the metadata set. >> >> I've read the updated documentation you shared, and have a question >> concerning binning configuration. IIUC binning should be configured via >> set_selection(V4L2_SEL_TGT_COMPOSE). But I also see some existing > > set_selection(V4L2_SEL_TGT_COMPOSE) on the internal image pad, stream > #0 > >> drivers configure binning via set_fmt() (imx296) or both set_fmt() and >> set_selection(V4L2_SEL_TGT_COMPOSE) (imx274). What will be the right way > > Existing drivers have adopted creative solutions to allow control of > the binning factor but all of them are somewhat non-compliant with the > specs (we went in great lenght in looking at these in the media summit > 2 years ago). We didn't have internal pads at the time. > >> to add binning support to a driver I care about (ov4689), which >> presently does not implement any binning configuration at all? > > Now that you can use internal pads, I would follow what is described > in patch 3/4 of this series. Will do so, thanks! > Thanks > j > >> >> -- >> Best regards, >> Mikhail >> -- Best regards, Mikhail