[FFmpeg-devel] [PATCH v3 1/9] avutil/film_grain_params: add extra AFGS1 metadata
James Almer
jamrial at gmail.com
Fri Mar 15 14:18:03 EET 2024
On 3/15/2024 8:58 AM, Niklas Haas wrote:
> From: Niklas Haas <git at haasn.dev>
>
> In hindsight, it may have been better for this to be part of the common
> film grain struct, to avoid duplication of these fields between it and
> H274 (and to allow initialization by av_film_grain_params_alloc), but
> I can't add new fields before the union without breaking ABI, and having
> the union not be the last parameter will make future extensibility
> similarly difficult.
You could add them now at the end, and in the next major bump we simply
reorder the fields so the union is last again.
> ---
> doc/APIchanges | 4 ++++
> libavutil/film_grain_params.h | 15 +++++++++++++++
> libavutil/version.h | 2 +-
> 3 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/doc/APIchanges b/doc/APIchanges
> index cf58c8c5f0a..5a192b600af 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2024-03-07
>
> API changes, most recent first:
>
> +2024-03-08 - xxxxxxxxxx - lavu 59.2.100 - film_grain_params.h
> + Add AVFilmGrainAOMParams.color_range, color_primaries, color_trc,
> + color_space, width, height, subx, suby and bit_depth.
> +
> 2024-03-08 - xxxxxxxxxx - lavc 61.1.100 - avcodec.h
> Add AVCodecContext.[nb_]side_data_prefer_packet.
>
> diff --git a/libavutil/film_grain_params.h b/libavutil/film_grain_params.h
> index f3bd0a4a6a3..17fefeb06c3 100644
> --- a/libavutil/film_grain_params.h
> +++ b/libavutil/film_grain_params.h
> @@ -120,6 +120,21 @@ typedef struct AVFilmGrainAOMParams {
> * Signals to clip to limited color levels after film grain application.
> */
> int limit_output_range;
> +
> + /**
> + * Video characteristics metadata, only for AFGS1 streams.
> + */
> + enum AVColorRange color_range;
> + enum AVColorPrimaries color_primaries;
> + enum AVColorTransferCharacteristic color_trc;
> + enum AVColorSpace color_space;
> +
> + /**
> + * Intended display resolution and format, only for AFGS1 streams.
> + */
> + int width, height;
> + int subx, suby;
> + int bit_depth; /* or 0 if unknown */
> } AVFilmGrainAOMParams;
>
> /**
> diff --git a/libavutil/version.h b/libavutil/version.h
> index 09f8cdc2926..57cad02ec0a 100644
> --- a/libavutil/version.h
> +++ b/libavutil/version.h
> @@ -79,7 +79,7 @@
> */
>
> #define LIBAVUTIL_VERSION_MAJOR 59
> -#define LIBAVUTIL_VERSION_MINOR 1
> +#define LIBAVUTIL_VERSION_MINOR 2
> #define LIBAVUTIL_VERSION_MICRO 100
>
> #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
More information about the ffmpeg-devel
mailing list