[FFmpeg-devel] [PATCH] Update HDR10+ metadata structure.

James Almer jamrial at gmail.com
Thu Feb 20 23:33:11 EET 2020


On 2/20/2020 5:02 PM, Vittorio Giovara wrote:
> On Mon, Feb 10, 2020 at 3:14 PM Mohammad Izadi <moh.izadi at gmail.com> wrote:
> 
>> From: Mohammad Izadi <izadi at google.com>
>>
>> Trying to read HDR10+ metadata from HEVC/SEI and pass it to packet side
>> data in the follow-up CLs.
>> ---
>>  libavutil/hdr_dynamic_metadata.c | 165 +++++++++++++++++++++++++++++++
>>  libavutil/hdr_dynamic_metadata.h |  13 ++-
>>  libavutil/version.h              |   2 +-
>>  3 files changed, 178 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavutil/hdr_dynamic_metadata.c
>> b/libavutil/hdr_dynamic_metadata.c
>> index 0fa1ee82de..f24bcb40f5 100644
>> --- a/libavutil/hdr_dynamic_metadata.c
>> +++ b/libavutil/hdr_dynamic_metadata.c
>> @@ -19,8 +19,17 @@
>>   */
>>
>>  #include "hdr_dynamic_metadata.h"
>> +#include "libavcodec/get_bits.h"
>>
> 
> wait is it ok to use libavcodec headers in libavutil? while it's fine at
> compilation time since it is an inlined header, I don't think it's a good
> idea to freely use such functions in this way: what I would do is rather
> implement the parsing in libavcodec, store the fields in a structure
> defined in libavutil and then use this new structure in here

This seems excessive only to use a bitstream reader to read a bunch of
fields in a buffer.

get_bits.h is included in lavf, so i don't see why it couldn't be used
in lavu. As you said it's inlined.

> 
> 
>>  #include "mem.h"
>>
>> +static const int32_t luminance_den = 1;
>> +static const int32_t peak_luminance_den = 15;
>> +static const int32_t rgb_den = 100000;
>> +static const int32_t fraction_pixel_den = 1000;
>> +static const int32_t knee_point_den = 4095;
>> +static const int32_t bezier_anchor_den = 1023;
>> +static const int32_t saturation_weight_den = 8;
>>
> 
> These fields could also be stored in the structure i mentioned, rather then
> having them declared as static here.
> 



More information about the ffmpeg-devel mailing list