Relation between gstreamer pipeline and device tree modes

As an example, for the OV5693 sensor, one valid pipeline for gstreamer would be the following one:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),  width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1' ! nvoverlaysink -e

Anyway, observing the device tree of the OV5693 sensor (/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-modules/tegra186-camera-e3326-a00.dtsi) there are some modes defined, corresponding to 2592x1944, 2592x1458 and 1280x720. Taking this into account, how is the aforementioned pipeline working if it is not concurrent with any of the modes of the device tree? How are these related?

hello euskadi,

camera library allocate the capture buffers depends-on the input resolution request, it will choose the best match sensor modes for streaming. the way to determine sensor mode is checking the same aspect ratio.
for example,
ov5693 has 4:3 and 16:9 sensor modes.
since the GST input parameter is 1920x1080, A.K.A. 16:9 aspect ratio.
during initialization, it will skip first sensor mode, 2592x1944 (4:3). and choose second sensor mode, 2592x1458 (16:9).
VIC engine also kick-in for down-scaling 2592x1458 and fill-in the 1920x1080 capture request.