[FFmpeg-devel] [PATCH v1 1/2] lavu/pixfmt: add new pixel format a2r10g10b10/a2b10g10r10

Carl Eugen Hoyos ceffmpeg at gmail.com
Sat Sep 28 04:01:34 EEST 2019


Am Sa., 28. Sept. 2019 um 02:14 Uhr schrieb Song, Ruiling
<ruiling.song at intel.com>:

> > Am Fr., 27. Sept. 2019 um 11:02 Uhr schrieb Sun, Xinpeng
> > <xinpeng.sun at intel.com>:
> >
> > > > > Add two 10 bit RGBA pixel format for hardware color space conversion
> > > > > support in VAAPI and QSV:
> > > > >
> > > > > 2:10:10:10 10 bit: A2R10G10B10
> > > > > 2:10:10:10 10 bit: A2B10G10R10
> > > >
> > > > Without more explanation, this patch is not ok.
> >
> > > The main reasons for adding these two format are as follows:
> > > 1. For most HDR monitors, A2R10G10B10 is used for display format for
> > > rendering. So this format is important to do 10bit RGB rendering support
> > > in ffmpeg.
> >
> > For which operating systems (and video drivers) is this true?
> Here:
> https://docs.microsoft.com/en-us/windows/win32/direct3d9/d3dformat
> and here:
> https://docs.microsoft.com/en-us/windows/win32/directshow/uncompressed-rgb-video-subtypes
>
> It is defined in Windows APIs. so I guess these are widely used 10bit RGB format on Windows?

But not for Linux drivers?
This sounds like another confirmation this patch has a small user-base for
a very important issue.

> > And which video players will profit from this filter?
> >
> > > 2. HW VPP can do both p010->a2r10g10b10 and a2r10g10b10->p010
> > > with this patch, which can provide support for hw encode pipeline
> > > using a2r10g10b10 as input.
> >
> > But if the pipeline (that you control, no?) would support GBRP10, not
> > only one (very) specific use case would be supported but all thinkable
> > use cases, or do I misunderstand?

> AFAIK, Intel GPU does not support planar RGB10 currently. May be we can add
> some format conversion between GBRP10 and the new added formats in swscale?

This would be the third-best (read: worse) solution.

> (I am not if this could help the thinkable use cases you mean.)

> And could you share your thought why supporting planar RGB10 is important?

Seriously?
Let me think...

Maybe users want to re-encode their HDR content with FFmpeg into something
that you can play with common video players?

Let me add that all answers (and the missing ones) so far made me more
convinced that this patch is not a good idea.

Carl Eugen


More information about the ffmpeg-devel mailing list