Adds a format that is 3 10bit YUV 4:2:0 samples packed into a 32bit word (with 2 spare bits). Supported on Broadcom BCM2711 chips.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -314,6 +314,13 @@ extern "C" { · 313 unmodified lines | ||
| 314 | 314 | */ |
| 315 | 315 | #define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */ |
| 316 | 316 | |
| 317 | +/* 2 plane YCbCr420. | |
| 318 | + * 3 10 bit components and 2 padding bits packed into 4 bytes. | |
| 319 | + * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian | |
| 320 | + * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian | |
| 321 | + */ | |
| 322 | +#define DRM_FORMAT_P030 fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */ | |
| 323 | + | |
| 317 | 324 | /* 3 plane non-subsampled (444) YCbCr |
| 318 | 325 | * 16 bits per component, but only 10 bits are used and 6 bits are padded |
| 319 | 326 | * index 0: Y plane, [15:0] Y:x [10:6] little endian |
| @@ -854,6 +861,10 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) · 534 unmodified lines | ||
| 854 | 861 | * and UV. Some SAND-using hardware stores UV in a separate tiled |
| 855 | 862 | * image from Y to reduce the column height, which is not supported |
| 856 | 863 | * with these modifiers. |
| 864 | + * | |
| 865 | + * The DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT modifier is also | |
| 866 | + * supported for DRM_FORMAT_P030 where the columns remain as 128 bytes | |
| 867 | + * wide, but as this is a 10 bpp format that translates to 96 pixels. | |
| 857 | 868 | */ |
| 858 | 869 | |
| 859 | 870 | #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ |