Hi Steve and Philipp, On Mon, Apr 6, 2020 at 1:40 PM Steve Longerbeam <slongerbeam@xxxxxxxxx> wrote: > > From: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > Merge yuv_formats and rgb_formats into a single array. Always loop over > all entries, skipping those that do not match the requested search > criteria. This simplifies the code, lets us get rid of the manual > counting of array entries, and stops accidentally ignoring some non-mbus > RGB formats. > > Before: > > $ v4l2-ctl -d /dev/video14 --list-formats-out > ioctl: VIDIOC_ENUM_FMT > Type: Video Output > > [0]: 'UYVY' (UYVY 4:2:2) > [1]: 'YUYV' (YUYV 4:2:2) > [2]: 'YU12' (Planar YUV 4:2:0) > [3]: 'YV12' (Planar YVU 4:2:0) > [4]: '422P' (Planar YUV 4:2:2) > [5]: 'NV12' (Y/CbCr 4:2:0) > [6]: 'NV16' (Y/CbCr 4:2:2) > [7]: 'RGBP' (16-bit RGB 5-6-5) > [8]: 'RGB3' (24-bit RGB 8-8-8) > [9]: 'BX24' (32-bit XRGB 8-8-8-8) > > After: > > $ v4l2-ctl -d /dev/video14 --list-formats-out > ioctl: VIDIOC_ENUM_FMT > Type: Video Output > > [0]: 'UYVY' (UYVY 4:2:2) > [1]: 'YUYV' (YUYV 4:2:2) > [2]: 'YU12' (Planar YUV 4:2:0) > [3]: 'YV12' (Planar YVU 4:2:0) > [4]: '422P' (Planar YUV 4:2:2) > [5]: 'NV12' (Y/CbCr 4:2:0) > [6]: 'NV16' (Y/CbCr 4:2:2) > [7]: 'RGBP' (16-bit RGB 5-6-5) > [8]: 'RGB3' (24-bit RGB 8-8-8) > [9]: 'BGR3' (24-bit BGR 8-8-8) > [10]: 'BX24' (32-bit XRGB 8-8-8-8) > [11]: 'XR24' (32-bit BGRX 8-8-8-8) > [12]: 'RX24' (32-bit XBGR 8-8-8-8) > [13]: 'XB24' (32-bit RGBX 8-8-8-8) > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > [Make loop counters unsigned] > [Decrement index instead of adding a counter] > [Return directly from within loop instead of breaking] > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > [Fix colorspace comparison error] > Signed-off-by: Steve Longerbeam <slongerbeam@xxxxxxxxx> This fixes a bug with an IC conversion pipeline. Could we have a Fixes tag for this one, so that it can be applied to stable? Tested on a imx6q-sabresd: Tested-by: Fabio Estevam <festevam@xxxxxxxxx>