Hi Philipp,

Thanks for the reply.   Please see me comments inline:

-----Original Message-----
From: Philipp Zabel [mailto:p.za...@pengutronix.de] 
Sent: Monday, August 07, 2017 8:14 AM
To: Jeff Mouroux <jmour...@xilinx.com>
Cc: daniel.vet...@intel.com; jani.nik...@linux.intel.com; 
seanp...@chromium.org; airl...@linux.ie; dri-devel@lists.freedesktop.org; Jeff 
Mouroux <jmour...@xilinx.com>
Subject: Re: [PATCH v1 1/2] uapi: drm: Add fourcc codes needed by Xilinx Video 
IP

Hi Jeffrey,

On Fri, 2017-08-04 at 11:49 -0700, Jeffrey Mouroux wrote:
> The Xilinx Video Mixer andn Xilinx Video Framebuffer DMA IP
> support video memory formats that are not represented in the
> current DRM fourcc library.  This patch adds those missing
> fourcc codes.
> 
> Signed-off-by: Jeffrey Mouroux <jmour...@xilinx.com>
> ---
>  include/uapi/drm/drm_fourcc.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
> index ef20abb..3e80130 100644
> --- a/include/uapi/drm/drm_fourcc.h
> +++ b/include/uapi/drm/drm_fourcc.h
> @@ -112,6 +112,14 @@
>  #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_AVUY              fourcc_code('A', 'V', 'U', 'Y') /* 
> [31:0] A:Cr:Cb:Y 8:8:8:8 little endian */
> +#define DRM_FORMAT_VUY888    fourcc_code('V', 'U', '2', '4') /* [23:0] 
> Cr:Cb:Y little endian */
> +#define DRM_FORMAT_XVUY8888  fourcc_code('X', 'V', '2', '4') /* [31:0] 
> x:Cr:Cb:Y 8:8:8:8 little endian */
> +#define DRM_FORMAT_XVUY2101010       fourcc_code('X', 'V', '3', '0') /* 
> [31:0] x:Cr:Cb:Y 2:10:10:10 little endian */
> +
> +/* Grey scale */
> +#define DRM_FORMAT_Y8                fourcc_code('G', 'R', 'E', 'Y') /* 8  
> Greyscale */

That would be useful for me as well.

> +#define DRM_FORMAT_Y10               fourcc_code('Y', '1', '0', ' ') /* 10 
> Greyscale */

It is not clear to me from the description, how this should be laid out
in memory. Is it padded to 16 bits? Packed?
[Jeff Mouroux]  I expect this is 2:10:10:10 (i.e. x:Y2:Y1:Y0).   I can clarify 
in the comments for v2.

>  /*
>   * 2 plane YCbCr
> @@ -126,6 +134,7 @@
>  #define DRM_FORMAT_NV61              fourcc_code('N', 'V', '6', '1') /* 2x1 
> subsampled Cb:Cr plane */
>  #define DRM_FORMAT_NV24              fourcc_code('N', 'V', '2', '4') /* 
> non-subsampled Cr:Cb plane */
>  #define DRM_FORMAT_NV42              fourcc_code('N', 'V', '4', '2') /* 
> non-subsampled Cb:Cr plane */
> +#define DRM_FORMAT_XV15              fourcc_code('X', 'V', '2', '0') /* 2x2 
> subsampled Cb:Cr plane 2:10:10:10 */

Same here.
[Jeff Mouroux] The chroma plane is described but I suppose the luma is what's 
missing.  The luma should work just like
Y10 (2:10:10:10 as in x:Y2:Y1:Y0).  I didn't want the comment string to be too 
long but can reference Y10 layout for luma
if that would help.

regards
Philipp

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to