[FFmpeg-devel] [PATCH v2 2/3] libavcodec: add a new AV_CODEC_EXPORT_DATA_FILM_GRAIN flag and option

Lynne dev at lynne.ee
Fri Nov 13 00:17:32 EET 2020


Nov 12, 2020, 22:39 by jamrial at gmail.com:

> On 11/12/2020 2:42 PM, Lynne wrote:
>
>> This introduces a new field to allow decoders to export their film grain
>> parameters.
>> Will be used by the next patch.
>>
>> Patch attached.
>>
>> From d5d5e1e5f90938ac5cfa462efc13658ab411246b Mon Sep 17 00:00:00 2001
>> From: Lynne <dev at lynne.ee>
>> Date: Thu, 12 Nov 2020 17:46:09 +0100
>> Subject: [PATCH v2 2/3] libavcodec: add a new AV_CODEC_EXPORT_DATA_FILM_GRAIN
>>  flag and option
>>
>> This introduces a new field to allow decoders to export their film grain
>> parameters.
>> Will be used by the next patch.
>> ---
>>  doc/APIchanges             | 3 +++
>>  libavcodec/avcodec.h       | 5 +++++
>>  libavcodec/options_table.h | 1 +
>>  libavcodec/version.h       | 4 ++--
>>  4 files changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/doc/APIchanges b/doc/APIchanges
>> index 41248724d9..9d0ddb4ff6 100644
>> --- a/doc/APIchanges
>> +++ b/doc/APIchanges
>> @@ -15,6 +15,9 @@ libavutil:     2017-10-21
>>  API changes, most recent first:
>>  +2020-xx-xx - xxxxxxxxxx - lavc 58.113.100 - avcodec.h
>> +  Adds a new flag AV_CODEC_EXPORT_DATA_FILM_GRAIN for export_side_data.
>> +
>>  2020-xx-xx - xxxxxxxxxx - lavu 56.61.100 - film_grain_params.h
>>  Adds a new API for extracting codec film grain parameters as side data.
>>  Adds a new AVFrameSideDataType entry AV_FRAME_DATA_FILM_GRAIN_PARAMS for it.
>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>> index 20af3ef00d..5047da0f6a 100644
>> --- a/libavcodec/avcodec.h
>> +++ b/libavcodec/avcodec.h
>> @@ -410,6 +410,11 @@ typedef struct RcOverride{
>>  * Export the AVVideoEncParams structure through frame side data.
>>  */
>>  #define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
>> +/**
>> + * Decoding only.
>> + * Do not apply film grain, export it instead.
>> + */
>> +#define AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3)
>>  /**
>>  * Pan Scan area.
>> diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
>> index 66bda42663..77e1211ae0 100644
>> --- a/libavcodec/options_table.h
>> +++ b/libavcodec/options_table.h
>> @@ -83,6 +83,7 @@ static const AVOption avcodec_options[] = {
>>  {"mvs", "export motion vectors through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_MVS}, INT_MIN, INT_MAX, V|D, "export_side_data"},
>>  {"prft", "export Producer Reference Time through packet side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_PRFT}, INT_MIN, INT_MAX, A|V|S|E, "export_side_data"},
>>  {"venc_params", "export video encoding parameters through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS}, INT_MIN, INT_MAX, V|D, "export_side_data"},
>> +{"export_film_grain", "export film grain parameters through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_FILM_GRAIN}, INT_MIN, INT_MAX, V|D, "export_side_data"},
>>
>
> Just "film_grain". It's a flag for an option called export_side_data, so no need to be redundant.
>

Makes sense. Changed locally, thanks.


More information about the ffmpeg-devel mailing list