[FFmpeg-devel] [PATCH] lavu/pixfmt: add packed RGBA float16 format

Timo Rothenpieler timo at rothenpieler.org
Mon Aug 8 01:26:23 EEST 2022


On 08.08.2022 00:25, Thomas Volkert wrote:
> Hi Timo,
> 
> 
> Am 07.08.2022 um 22:14 schrieb Timo Rothenpieler:
>> This is the default format of the Windows compositor and what DXGI
>> Desktop Duplication will give you for any kind of HDR output.
>> ---
>>   libavutil/pixdesc.c              | 28 ++++++++++++++++++++++++++++
>>   libavutil/pixfmt.h               |  5 +++++
>>   libavutil/version.h              |  4 ++--
>>   tests/ref/fate/imgutils          |  2 ++
>>   tests/ref/fate/sws-pixdesc-query | 13 +++++++++++++
>>   5 files changed, 50 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
>> index e078fd5320..f7558ff8b9 100644
>> --- a/libavutil/pixdesc.c
>> +++ b/libavutil/pixdesc.c
>> @@ -2504,6 +2504,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>>           },
>>           .flags = AV_PIX_FMT_FLAG_ALPHA,
>>       },
>> +    [AV_PIX_FMT_RGBAF16BE] = {
>> +        .name = "rgbaf16be",
>> +        .nb_components = 4,
>> +        .log2_chroma_w = 0,
>> +        .log2_chroma_h = 0,
>> +        .comp = {
>> +            { 0, 8, 0, 0, 16 },       /* R */
>> +            { 0, 8, 2, 0, 16 },       /* G */
>> +            { 0, 8, 4, 0, 16 },       /* B */
>> +            { 0, 8, 6, 0, 16 },       /* A */
>> +        },
>> +        .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB |
>> +                 AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_FLOAT,
>> +    },
>> +    [AV_PIX_FMT_RGBAF16LE] = {
>> +        .name = "rgbaf16le",
>> +        .nb_components = 4,
>> +        .log2_chroma_w = 0,
>> +        .log2_chroma_h = 0,
>> +        .comp = {
>> +            { 0, 8, 0, 0, 16 },       /* R */
>> +            { 0, 8, 2, 0, 16 },       /* G */
>> +            { 0, 8, 4, 0, 16 },       /* B */
>> +            { 0, 8, 6, 0, 16 },       /* A */
>> +        },
>> +        .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA |
>> +                 AV_PIX_FMT_FLAG_FLOAT,
>> +    },
>>   };
> 
> [..]
> 
> 
> maybe I have missed something, but I wonder how this is different to 
> AV_PIX_FMT_RGBA64LE and AV_PIX_FMT_RGBA64BE?
> 
> BR, Thomas.

It's Float.


More information about the ffmpeg-devel mailing list