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 | #define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */ | 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 | /* 3 plane non-subsampled (444) YCbCr | 324 | /* 3 plane non-subsampled (444) YCbCr |
| 318 | * 16 bits per component, but only 10 bits are used and 6 bits are padded | 325 | * 16 bits per component, but only 10 bits are used and 6 bits are padded |
| 319 | * index 0: Y plane, [15:0] Y:x [10:6] little endian | 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 | * and UV. Some SAND-using hardware stores UV in a separate tiled | 861 | * and UV. Some SAND-using hardware stores UV in a separate tiled |
| 855 | * image from Y to reduce the column height, which is not supported | 862 | * image from Y to reduce the column height, which is not supported |
| 856 | * with these modifiers. | 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 | #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ | 870 | #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ |