[FFmpeg-devel] [PATCH 1/4] avutil: add support for CUVA HDR Vivid metadata

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Feb 15 09:08:51 EET 2022


lance.lmwang at gmail.com:
> From: Limin Wang <lance.lmwang at gmail.com>
> 
> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> ---
>  libavutil/Makefile                     |   2 +
>  libavutil/frame.c                      |   1 +
>  libavutil/frame.h                      |   7 +
>  libavutil/hdr_dynamic_vivid_metadata.c |  47 ++++++
>  libavutil/hdr_dynamic_vivid_metadata.h | 285 +++++++++++++++++++++++++++++++++
>  libavutil/version.h                    |   2 +-
>  6 files changed, 343 insertions(+), 1 deletion(-)
>  create mode 100644 libavutil/hdr_dynamic_vivid_metadata.c
>  create mode 100644 libavutil/hdr_dynamic_vivid_metadata.h
> 
> diff --git a/libavutil/Makefile b/libavutil/Makefile
> index d17876d..a8d7587 100644
> --- a/libavutil/Makefile
> +++ b/libavutil/Makefile
> @@ -34,6 +34,7 @@ HEADERS = adler32.h                                                     \
>            frame.h                                                       \
>            hash.h                                                        \
>            hdr_dynamic_metadata.h                                        \
> +          hdr_dynamic_vivid_metadata.h                                  \
>            hmac.h                                                        \
>            hwcontext.h                                                   \
>            hwcontext_cuda.h                                              \
> @@ -130,6 +131,7 @@ OBJS = adler32.o                                                        \
>         frame.o                                                          \
>         hash.o                                                           \
>         hdr_dynamic_metadata.o                                           \
> +       hdr_dynamic_vivid_metadata.o                                     \
>         hmac.o                                                           \
>         hwcontext.o                                                      \
>         imgutils.o                                                       \
> diff --git a/libavutil/frame.c b/libavutil/frame.c
> index 8997c85..b035e28 100644
> --- a/libavutil/frame.c
> +++ b/libavutil/frame.c
> @@ -723,6 +723,7 @@ const char *av_frame_side_data_name(enum AVFrameSideDataType type)
>      case AV_FRAME_DATA_SPHERICAL:                   return "Spherical Mapping";
>      case AV_FRAME_DATA_ICC_PROFILE:                 return "ICC profile";
>      case AV_FRAME_DATA_DYNAMIC_HDR_PLUS: return "HDR Dynamic Metadata SMPTE2094-40 (HDR10+)";
> +    case AV_FRAME_DATA_DYNAMIC_HDR_VIVID: return "HDR Dynamic Metadata CUVA 005.1 2021 (Vivid)";
>      case AV_FRAME_DATA_REGIONS_OF_INTEREST: return "Regions Of Interest";
>      case AV_FRAME_DATA_VIDEO_ENC_PARAMS:            return "Video encoding parameters";
>      case AV_FRAME_DATA_SEI_UNREGISTERED:            return "H.26[45] User Data Unregistered SEI message";
> diff --git a/libavutil/frame.h b/libavutil/frame.h
> index 18e239f..32cde3c 100644
> --- a/libavutil/frame.h
> +++ b/libavutil/frame.h
> @@ -158,6 +158,13 @@ enum AVFrameSideDataType {
>      AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
>  
>      /**
> +     * HDR Vivid dynamic metadata associated with a video frame. The payload is
> +     * an AVDynamicHDRVivid type and contains information for color
> +     * volume transform - CUVA 005.1-2021.
> +     */
> +    AV_FRAME_DATA_DYNAMIC_HDR_VIVID,
> +

Always add at the end. You are breaking ABI otherwise.

> +    /**
>       * Regions Of Interest, the data is an array of AVRegionOfInterest type, the number of
>       * array element is implied by AVFrameSideData.size / AVRegionOfInterest.self_size.
>       */


More information about the ffmpeg-devel mailing list