[FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add AYUV pixel format

Fu, Linjie linjie.fu at intel.com
Thu Aug 29 17:15:56 EEST 2019


> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of Carl Eugen Hoyos
> Sent: Thursday, August 29, 2019 21:31
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add AYUV pixel format
> 
> 
> 
> > Am 29.08.2019 um 14:30 schrieb Hendrik Leppkes <h.leppkes at gmail.com>:
> >
> >> On Thu, Aug 29, 2019 at 1:47 PM Carl Eugen Hoyos <ceffmpeg at gmail.com>
> wrote:
> >>
> >>
> >>
> >> Am 29.08.2019 um 03:34 schrieb Fu, Linjie <linjie.fu at intel.com>:
> >>
> >>>> -----Original Message-----
> >>>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On
> Behalf
> >>>> Of Carl Eugen Hoyos
> >>>> Sent: Thursday, August 29, 2019 05:17
> >>>> To: FFmpeg development discussions and patches <ffmpeg-
> >>>> devel at ffmpeg.org>
> >>>> Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add AYUV pixel
> format
> >>>>
> >>>>>> Am Mi., 28. Aug. 2019 um 09:34 Uhr schrieb Fu, Linjie
> <linjie.fu at intel.com>:
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org]
> On
> >>>> Behalf
> >>>>>> Of Carl Eugen Hoyos
> >>>>>> Sent: Wednesday, August 28, 2019 14:51
> >>>>>> To: FFmpeg development discussions and patches <ffmpeg-
> >>>>>> devel at ffmpeg.org>
> >>>>>> Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add AYUV
> pixel
> >>>> format
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Am 28.08.2019 um 08:22 schrieb Linjie Fu <linjie.fu at intel.com>:
> >>>>>>>
> >>>>>>> Add support for packed 4:4:4 pixel format AYUV.
> >>>>>>>
> >>>>>>> It is the format that VAAPI/QSV uses when coping with 4:4:4
> >>>>>>> surfaces.
> >>>>>>
> >>>>>>> Alpha channel will be set to default value for HEVC REXT
> >>>>>>> hw decode.
> >>>>>>
> >>>>>> What is the „default value“?
> >>>>>
> >>>>> Default zero. (and it should be 255 for display)
> >>>>
> >>>> If this is not a bug in the driver, there is no alpha channel that can be
> used.
> >>>> Rename it to 0YUV and remove the alpha usage.
> >>>
> >>> From the pixel format level, adding AYUV format is for a more
> fundamental/common usage.
> >>
> >> Yes, but the new pixel format will only be accepted if it is needed for
> hardware compatibility.
> >> If the hardware only supports 0YUV, it cannot be used to argue in favour
> of a new AYUV format.
> >>
> >
> > AYUV is a standard format used on Windows and documented by Microsoft
> 
> > as the recommended 4:4:4 8-bit
> 
> Sorry, I missed this:
> This is not the format suggested in this posted patch.
> (It is the format I suggested.)
> 
> > format for all purposes. Its hardly a
> > niche format. Its perfectly appropriate to support it.

Got the concern.

If we need a reason to support this standard pixel format apart
from the hardware compatibility, it could be some requirements like CSC from
ARGB to YUV and don't want to lose the alpha channel information:
https://stackoverflow.com/questions/6023565/argb-to-yuv-color-spaces-in-net

"How to convert image beetween ARGB and YUV in c#?
I found formulas describing RGB to YUV conversion. So what should I do with alpha channel? "

Thus AYUV will make more sense.

- linjie



More information about the ffmpeg-devel mailing list