* [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.