[Mesa-dev] [RFC 0/2] mesa/st: support for YUV EGLImages

Roland Scheidegger sroland at vmware.com
Mon Sep 5 18:04:51 UTC 2016


Am 05.09.2016 um 18:37 schrieb Ilia Mirkin:
> On Mon, Sep 5, 2016 at 12:32 PM, Rob Clark <robdclark at gmail.com> wrote:
>>>>  + single plane (interleaved) YUV formats?  And seems like android
>>>>    wants YV12 (which is I420 with the 2nd and 3rd planes swapped).
>>>>    In general I don't want to go too crazy and add every YUV format
>>>>    under the sun, but try and limit it to the must-have formats.
>>>
>>> Have you considered using PIPE_FORMAT_R8G8_R8B8_UNORM and the BGR version?
>>
>> Hmm, no.. (I also don't support it in freedreno, so not entirely sure
>> what that format is.)
>>
>> How did you expect that to help?
> 
> It's the UYVY/YUYV sampler formats (i.e. single-plane YUV formats). I
> don't think they do the YUV -> RGB conversion, but you just get the
> relevant YUV values. From the docs:
> 
> """
> Format names with an embedded underscore are subsampled. R8G8_B8G8 is
> a single 32-bit block of two pixels, where the R and B values are
> repeated in both pixels.
> """
> 
> Supported on nouveau, and I think a few other drivers.

FWIW these are required by d3d10, so afaik all newer desktop gpus
implement them natively.

Roland



More information about the mesa-dev mailing list