* [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations @ 2022-06-16 18:52 Laurent Pinchart 2022-06-24 21:16 ` Daniel Vetter 2022-07-18 8:01 ` Maxime Ripard 0 siblings, 2 replies; 6+ messages in thread From: Laurent Pinchart @ 2022-06-16 18:52 UTC (permalink / raw) To: dri-devel; +Cc: Thomas Zimmermann Add FourCCs for two missing permutations of the packed YUV 4:4:4 color 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@ideasonboard.com> --- 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" { #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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations 2022-06-16 18:52 [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations Laurent Pinchart @ 2022-06-24 21:16 ` Daniel Vetter 2022-06-24 21:37 ` Laurent Pinchart 2022-07-18 8:01 ` Maxime Ripard 1 sibling, 1 reply; 6+ messages in thread From: Daniel Vetter @ 2022-06-24 21:16 UTC (permalink / raw) To: Laurent Pinchart; +Cc: Thomas Zimmermann, dri-devel 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@ideasonboard.com> > --- > 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@ffwll.ch> > #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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations 2022-06-24 21:16 ` Daniel Vetter @ 2022-06-24 21:37 ` Laurent Pinchart 2022-06-24 21:50 ` Daniel Vetter 0 siblings, 1 reply; 6+ messages in thread From: Laurent Pinchart @ 2022-06-24 21:37 UTC (permalink / raw) To: Daniel Vetter; +Cc: Thomas Zimmermann, dri-devel Hi Daniel, On Fri, Jun 24, 2022 at 11:16:46PM +0200, Daniel Vetter wrote: > 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@ideasonboard.com> > > --- > > 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. Do you mean something like cat include/uapi/drm/drm_fourcc.h | \ grep '#define DRM_FORMAT_.*fourcc_code' | \ sed 's/.*fourcc_code(\([^)]*\)).*/\1/' | \ sort | \ uniq -c | \ grep -qv '^ \+1 ' && echo "Duplicate 4CC !!" ? Where could this live ? > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > > #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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations 2022-06-24 21:37 ` Laurent Pinchart @ 2022-06-24 21:50 ` Daniel Vetter 2022-06-24 22:41 ` Laurent Pinchart 0 siblings, 1 reply; 6+ messages in thread From: Daniel Vetter @ 2022-06-24 21:50 UTC (permalink / raw) To: Laurent Pinchart; +Cc: Thomas Zimmermann, dri-devel On Sat, Jun 25, 2022 at 12:37:23AM +0300, Laurent Pinchart wrote: > Hi Daniel, > > On Fri, Jun 24, 2022 at 11:16:46PM +0200, Daniel Vetter wrote: > > 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@ideasonboard.com> > > > --- > > > 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. > > Do you mean something like > > cat include/uapi/drm/drm_fourcc.h | \ > grep '#define DRM_FORMAT_.*fourcc_code' | \ > sed 's/.*fourcc_code(\([^)]*\)).*/\1/' | \ > sort | \ > uniq -c | \ > grep -qv '^ \+1 ' && echo "Duplicate 4CC !!" > > ? > > Where could this live ? Can we stuff it into Kbuild as a check? -Daniel > > > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > > > > #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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations 2022-06-24 21:50 ` Daniel Vetter @ 2022-06-24 22:41 ` Laurent Pinchart 0 siblings, 0 replies; 6+ messages in thread From: Laurent Pinchart @ 2022-06-24 22:41 UTC (permalink / raw) To: Daniel Vetter; +Cc: Thomas Zimmermann, dri-devel On Fri, Jun 24, 2022 at 11:50:06PM +0200, Daniel Vetter wrote: > On Sat, Jun 25, 2022 at 12:37:23AM +0300, Laurent Pinchart wrote: > > Hi Daniel, > > > > On Fri, Jun 24, 2022 at 11:16:46PM +0200, Daniel Vetter wrote: > > > 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@ideasonboard.com> > > > > --- > > > > 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. > > > > Do you mean something like > > > > cat include/uapi/drm/drm_fourcc.h | \ > > grep '#define DRM_FORMAT_.*fourcc_code' | \ > > sed 's/.*fourcc_code(\([^)]*\)).*/\1/' | \ > > sort | \ > > uniq -c | \ > > grep -qv '^ \+1 ' && echo "Duplicate 4CC !!" > > > > ? > > > > Where could this live ? > > Can we stuff it into Kbuild as a check? Sounds like a good idea. Anyone know how to do so ? > > > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > > > > > > #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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations 2022-06-16 18:52 [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations Laurent Pinchart 2022-06-24 21:16 ` Daniel Vetter @ 2022-07-18 8:01 ` Maxime Ripard 1 sibling, 0 replies; 6+ messages in thread From: Maxime Ripard @ 2022-07-18 8:01 UTC (permalink / raw) To: dri-devel, laurent.pinchart; +Cc: Maxime Ripard, tzimmermann On Thu, 16 Jun 2022 21:52:10 +0300, Laurent Pinchart wrote: > Add FourCCs for two missing permutations of the packed YUV 4:4:4 color > 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. > > [...] Applied to drm/drm-misc (drm-misc-next). Thanks! Maxime ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-07-18 8:01 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-16 18:52 [PATCH] drm/fourcc: Add formats for packed YUV 4:4:4 AVUY and XVUY permutations Laurent Pinchart 2022-06-24 21:16 ` Daniel Vetter 2022-06-24 21:37 ` Laurent Pinchart 2022-06-24 21:50 ` Daniel Vetter 2022-06-24 22:41 ` Laurent Pinchart 2022-07-18 8:01 ` Maxime Ripard
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.