On Thu, Jun 16, 2022 at 09:52:10PM +0300, Laurent Pinchart wrote: > Add FourCCs for two missing permutations of the packed YUV 4:4:4 color For a second I thought this 4:4:4 is the bit packing, but it's the 444 sampling rate thing. Man formats are confusing. > components, namely AVUY and XVUY. > > These formats are needed by the NXP i.MX8 ISI. While the ISI is > supported by a V4L2 device (corresponding formats have been submitted to > V4L2), it is handled in userspace by libcamera, which uses DRM FourCCs > for pixel formats. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/uapi/drm/drm_fourcc.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index f1972154a594..399d950c53e3 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -205,7 +205,9 @@ extern "C" { I build script to make sure we don't accidentally assign duplicated codes would be nice, this is pain to check. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > #define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */ > > #define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */ > +#define DRM_FORMAT_AVUY8888 fourcc_code('A', 'V', 'U', 'Y') /* [31:0] A:Cr:Cb:Y 8:8:8:8 little endian */ > #define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */ > +#define DRM_FORMAT_XVUY8888 fourcc_code('X', 'V', 'U', 'Y') /* [31:0] X:Cr:Cb:Y 8:8:8:8 little endian */ > #define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */ > #define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */ > > -- > Regards, > > Laurent Pinchart > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch