[FFmpeg-devel] [PATCH v10 1/6] lavu/frame: Add Dolby Vision metadata side data type
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Mon Jan 3 10:45:55 EET 2022
Niklas Haas:
> On Mon, 03 Jan 2022 01:27:22 +0100 Niklas Haas <ffmpeg at haasn.xyz> wrote:
>> +/**
>> + * Dolby Vision RPU data mapping parameters.
>> + *
>> + * @note sizeof(AVDOVIDataMapping) is not part of the public ABI.
>> + */
>> +typedef struct AVDOVIDataMapping {
>> + uint8_t vdr_rpu_id;
>> + uint8_t mapping_color_space;
>> + uint8_t mapping_chroma_format_idc;
>> + AVDOVIReshapingCurve curves[3]; /* per component */
>> +
>> + /* Non-linear inverse quantization */
>> + enum AVDOVINLQMethod nlq_method_idc;
>> + uint32_t num_x_partitions;
>> + uint32_t num_y_partitions;
>> + AVDOVINLQParams nlq[3]; /* per component */
>> +} AVDOVIDataMapping;
>
> It just occurred to me that we also cannot make AVDOVIReshapingCurve or
> AVDOVINLQParams extensible if we're going to store them in an array.
>
> So I think that locks us into making these structs fixed size, avoiding
> the issue altogether, but probably making future extensions to this API
> somewhat uglier.
>
> Thoughts?
Future extensions are still possible by adding e.g.
"AVDOVIReshapingCurveExtension curves_ext[3]" (which is probably what
you meant by uglier), so I am ok with this approach.
(Hopefully we won't need multiple extensions...).
- Andreas
More information about the ffmpeg-devel
mailing list