[PATCH v2 1/2] drm_fourcc: Add new P010, P016 video format

Clint Taylor clinton.a.taylor at intel.com
Mon Jan 23 21:16:35 UTC 2017


On 01/04/2017 06:00 PM, Ayaka wrote:
>
>
> 從我的 iPad 傳送
>
>> Daniel Stone <daniel at fooishbar.org> 於 2017年1月5日 上午1:02 寫道:
>>
>> Hi Randy,
>>
>>> On 4 January 2017 at 16:29, Randy Li <ayaka at soulik.info> wrote:
>>> index 90d2cc8..23c8e99 100644
>>> --- a/drivers/gpu/drm/drm_fourcc.c
>>> +++ b/drivers/gpu/drm/drm_fourcc.c
>>> @@ -165,6 +165,9 @@ const struct drm_format_info *__drm_format_info(u32 format)
>>>                { .format = DRM_FORMAT_UYVY,            .depth = 0,  .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
>>>                { .format = DRM_FORMAT_VYUY,            .depth = 0,  .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
>>>                { .format = DRM_FORMAT_AYUV,            .depth = 0,  .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
>>> +               /* FIXME a pixel in Y for P010 is 10 bits */
>>> +               { .format = DRM_FORMAT_P010,            .depth = 0,  .num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2 },
>>
>> It seems like P010 stores each Y component in a 16-bit value, with the
>> bottom 6 bits ignored. So I think cpp here should be 2.
> No, the rest bits are used to store the next pixel. The P010 is just a 10 bits color depth pixel format.

The reviewer is correct. In P010 and P016 the memory layout is identical 
as the luma and each Chroma channel are stored as words. .cpp = { 2, 4, 
0 } for both P010 and P016.

-Clint

>>
>> Cheers,
>> Daniel
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>



More information about the dri-devel mailing list