Ben Bridgwater wrote:
>
> FUKUCHI Kentarou wrote:
> >
> > Hi all,
> >
> > V4L Kernel API reference (/usr/src/linux/Documentation/video4linux/API.html)
> > claims that VIDEO_PALETTE_YUV422 is a format that packs YUV values into 8 bits.
> > But bttv-driver maps YUV422 to BT848_COLOR_FMT_YUY2, and thats format is
> > different from the description of API reference.
> >
> > Why? In which way should I implement v4l driver?
>
> IMO you should follow bttv to avoid breaking applications, but we should
> deprecate the bad V4L_PALETTE names (the two below) and replace them
> with correct ones.
>
> There are two packed YUV formats whose V4L names are wrong:
>
> VIDEO_PALETTE_YUV422 --> bttv YUY2
> VIDEO_PALETTE_YUYV --> bttv Y41P
>
> VIDEO_PALETTE_YUV422 as a name is ambiguous as there are many possible
> 4:2:2 planar Y,U.V component orderings (and of course they're all 16
> bpp, as 4:2:2 implies). YUY2 is only one of the possible 4:2:2 formats
> (which, adding to the confusion, has component order Y,U,Y,V!),
>
> VIDEO_PALETTE_YUYV as a mapping to Y41P is obviously wrong, but that's
> the way bttv has always been, and AFAIK this is a Bt848 only mode anyway
> (although other drivers could create it in software, I guess).
>
> So... I'd recomment you follow bttv, but that we should also introduce
> synonyms VIDEO_PALETTE_YUY2 and VIDEO_PALETTE_Y41P and deprecate the old
> names. I believe V4L2 already uses these names (or at least
> non-ambiguous ones that make sense).
>
> Ben
Alan, would you accept this as a patch for videodev.h ?
--- videodev.h Sat May 12 21:57:26 2001
+++ videodev-new.h Sat May 26 10:49:06 2001
@@ -126,6 +126,8 @@
#define VIDEO_PALETTE_RGB32 5 /* 32bit RGB */
#define VIDEO_PALETTE_RGB555 6 /* 555 15bit RGB */
-#define VIDEO_PALETTE_YUV422 7 /* YUV422 capture */
-#define VIDEO_PALETTE_YUYV 8
+#define VIDEO_PALETTE_YUY2 7 /* 4:2:2 YUYV */
+#define VIDEO_PALETTE_YUV422 VIDEO_PALETTE_YUY2 /* deprecated */
+#define VIDEO_PALETTE_Y41P 8 /* 4:1:1 UYVYUYVYYYYY */
+#define VIDEO_PALETTE_YUYV VIDEO_PALETTE_Y41P /* deprecated */
#define VIDEO_PALETTE_UYVY 9 /* The great thing about
standards is ... */
#define VIDEO_PALETTE_YUV420 10
Ben
_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list