[PATCH v2 04/10] drm/fourcc: Add DRM_FORMAT_Y10_LE32

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Wed Jan 15 11:11:53 UTC 2025


Hi,

On 15/01/2025 12:33, Geert Uytterhoeven wrote:
> Hi Tomi,
> 
> On Wed, Jan 15, 2025 at 10:04 AM Tomi Valkeinen
> <tomi.valkeinen at ideasonboard.com> wrote:
>> Add Y10_LE32, a 10 bit greyscale format, with 3 pixels packed into
>> 32-bit container.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
> 
> Thanks for your patch!
> 
>> --- a/include/uapi/drm/drm_fourcc.h
>> +++ b/include/uapi/drm/drm_fourcc.h
>> @@ -408,6 +408,7 @@ extern "C" {
>>   /* Greyscale formats */
>>
>>   #define DRM_FORMAT_Y8          fourcc_code('G', 'R', 'E', 'Y')  /* 8-bit Y-only */
>> +#define DRM_FORMAT_Y10_LE32    fourcc_code('Y', 'P', 'A', '4')  /* [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian */
> 
> R10_LE32? Or R10_PA4?

Can we discuss the "R" vs "Y" question under the cover letter? There's 
some more context about it in there.

I took the "LE32" from Gstreamer's format. Maybe it's a bit pointless.

I don't know if it makes sense to add the fourcc to the DRM format name. 
The fourcc is very limited. Rather, we could, say, have 
DRM_FORMAT_Y10_PACKED_32 (or "R", if you insist =).

> 
> Does LE32 have a meaning?  My first guess just reading the subject
> was wrong ("little endian  32-bit" ;-)

I'm not sure I follow. It's little-endian. The pixel group/unit is a 
32-bit number, where the leftmost pixel on the screen is in bits 9-0, 
and the padding is in bits 31-30, and stored in memory as little-endian.

  Tomi



More information about the dri-devel mailing list