This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 070bd112be00dd7f74a3bc02cbf73603ef9ae327
Author:     James Almer <[email protected]>
AuthorDate: Fri May 29 18:33:38 2026 -0300
Commit:     James Almer <[email protected]>
CommitDate: Tue Jun 2 19:50:39 2026 -0300

    avcodec/h2645_sei: use the ITU-T T35 parsing helpers
    
    Signed-off-by: James Almer <[email protected]>
---
 libavcodec/Makefile       |   9 +-
 libavcodec/h2645_sei.c    | 294 +++++-----------------------------------------
 libavcodec/h2645_sei.h    |   9 +-
 libavcodec/h264_sei.c     |   1 -
 libavcodec/h264_slice.c   |   5 +-
 libavcodec/hevc/hevcdec.c |  22 ++--
 libavcodec/hevc/refs.c    |   5 +-
 libavcodec/vvc/dec.c      |   2 +-
 libavcodec/vvc/refs.c     |   5 +-
 9 files changed, 56 insertions(+), 296 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index bdda6364f5..e68d2db15d 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -115,10 +115,9 @@ OBJS-$(CONFIG_H264PARSE)               += h264_parse.o 
h264_ps.o h264data.o \
                                           h2645data.o h2645_parse.o h2645_vui.o
 OBJS-$(CONFIG_H264PRED)                += h264pred.o
 OBJS-$(CONFIG_H264QPEL)                += h264qpel.o
-OBJS-$(CONFIG_H264_SEI)                += h264_sei.o h2645_sei.o 
aom_film_grain.o
+OBJS-$(CONFIG_H264_SEI)                += h264_sei.o h2645_sei.o
 OBJS-$(CONFIG_HEVCPARSE)               += h2645data.o h2645_parse.o h2645_vui.o
-OBJS-$(CONFIG_HEVC_SEI)                += h2645_sei.o aom_film_grain.o \
-                                          dynamic_hdr_vivid.o
+OBJS-$(CONFIG_HEVC_SEI)                += h2645_sei.o
 OBJS-$(CONFIG_HPELDSP)                 += hpeldsp.o
 OBJS-$(CONFIG_HUFFMAN)                 += huffman.o
 OBJS-$(CONFIG_HUFFYUVDSP)              += huffyuvdsp.o
@@ -462,7 +461,7 @@ OBJS-$(CONFIG_HCA_DECODER)             += hcadec.o
 OBJS-$(CONFIG_HCOM_DECODER)            += hcom.o
 OBJS-$(CONFIG_HDR_DECODER)             += hdrdec.o
 OBJS-$(CONFIG_HDR_ENCODER)             += hdrenc.o
-OBJS-$(CONFIG_HEVC_DECODER)            += aom_film_grain.o h274.o
+OBJS-$(CONFIG_HEVC_DECODER)            += h274.o
 OBJS-$(CONFIG_HEVC_AMF_ENCODER)        += amfenc_hevc.o
 OBJS-$(CONFIG_HEVC_AMF_DECODER)        += amfdec.o
 OBJS-$(CONFIG_HEVC_CUVID_DECODER)      += cuviddec.o
@@ -838,7 +837,7 @@ OBJS-$(CONFIG_VP9_V4L2M2M_DECODER)     += v4l2_m2m_dec.o
 OBJS-$(CONFIG_VQA_DECODER)             += vqavideo.o
 OBJS-$(CONFIG_VQC_DECODER)             += vqcdec.o
 OBJS-$(CONFIG_VVC_DECODER)             += executor.o h2645data.o
-OBJS-$(CONFIG_VVC_SEI)                 += h2645_sei.o aom_film_grain.o h274.o
+OBJS-$(CONFIG_VVC_SEI)                 += h2645_sei.o h274.o
 OBJS-$(CONFIG_WADY_DPCM_DECODER)       += dpcm.o
 OBJS-$(CONFIG_WAVARC_DECODER)          += wavarc.o
 OBJS-$(CONFIG_WAVPACK_DECODER)         += wavpack.o wavpackdata.o dsd.o
diff --git a/libavcodec/h2645_sei.c b/libavcodec/h2645_sei.c
index c9fb25b1da..edd990335d 100644
--- a/libavcodec/h2645_sei.c
+++ b/libavcodec/h2645_sei.c
@@ -28,7 +28,6 @@
 #include "libavutil/ambient_viewing_environment.h"
 #include "libavutil/buffer.h"
 #include "libavutil/display.h"
-#include "libavutil/hdr_dynamic_metadata.h"
 #include "libavutil/film_grain_params.h"
 #include "libavutil/mastering_display_metadata.h"
 #include "libavutil/mem.h"
@@ -38,7 +37,6 @@
 #include "atsc_a53.h"
 #include "avcodec.h"
 #include "decode.h"
-#include "dynamic_hdr_vivid.h"
 #include "get_bits.h"
 #include "golomb.h"
 #include "h2645_sei.h"
@@ -48,240 +46,22 @@
 #define IS_HEVC(codec_id) (CONFIG_HEVC_SEI && (CONFIG_H264_SEI || 
CONFIG_VVC_SEI ) ? codec_id == AV_CODEC_ID_HEVC : CONFIG_HEVC_SEI)
 #define IS_VVC(codec_id)  (CONFIG_VVC_SEI  && (CONFIG_H264_SEI || 
CONFIG_HEVC_SEI) ? codec_id == AV_CODEC_ID_VVC  : CONFIG_VVC_SEI )
 
-#if CONFIG_HEVC_SEI
-static int decode_registered_user_data_dynamic_hdr_plus(HEVCSEIDynamicHDRPlus 
*s,
-                                                        GetByteContext *gb)
-{
-    size_t meta_size;
-    int err;
-    AVDynamicHDRPlus *metadata = av_dynamic_hdr_plus_alloc(&meta_size);
-    if (!metadata)
-        return AVERROR(ENOMEM);
-
-    err = av_dynamic_hdr_plus_from_t35(metadata, gb->buffer,
-                                       bytestream2_get_bytes_left(gb));
-    if (err < 0) {
-        av_free(metadata);
-        return err;
-    }
-
-    av_buffer_unref(&s->info);
-    s->info = av_buffer_create((uint8_t *)metadata, meta_size, NULL, NULL, 0);
-    if (!s->info) {
-        av_free(metadata);
-        return AVERROR(ENOMEM);
-    }
-
-    return 0;
-}
-
-static int 
decode_registered_user_data_dynamic_hdr_vivid(HEVCSEIDynamicHDRVivid *s,
-                                                         GetByteContext *gb)
-{
-    size_t meta_size;
-    int err;
-    AVDynamicHDRVivid *metadata = av_dynamic_hdr_vivid_alloc(&meta_size);
-    if (!metadata)
-        return AVERROR(ENOMEM);
-
-    err = ff_parse_itu_t_t35_to_dynamic_hdr_vivid(metadata,
-                                                  gb->buffer, 
bytestream2_get_bytes_left(gb));
-    if (err < 0) {
-        av_free(metadata);
-        return err;
-    }
-
-    av_buffer_unref(&s->info);
-    s->info = av_buffer_create((uint8_t *)metadata, meta_size, NULL, NULL, 0);
-    if (!s->info) {
-        av_free(metadata);
-        return AVERROR(ENOMEM);
-    }
-
-    return 0;
-}
-#endif
-
-static int decode_registered_user_data_lcevc(HEVCSEILCEVC *s,
-                                             GetByteContext *gb)
-{
-    int size = bytestream2_get_bytes_left(gb);
-
-    av_buffer_unref(&s->info);
-    s->info = av_buffer_alloc(size);
-    if (!s->info)
-        return AVERROR(ENOMEM);
-
-    bytestream2_get_bufferu(gb, s->info->data, size);
-    return 0;
-}
-
-static int decode_registered_user_data_afd(H2645SEIAFD *h, GetByteContext *gb)
-{
-    int flag;
-
-    if (bytestream2_get_bytes_left(gb) <= 0)
-        return AVERROR_INVALIDDATA;
-
-    flag = !!(bytestream2_get_byteu(gb) & 0x40); // active_format_flag
-
-    if (flag) {
-        if (bytestream2_get_bytes_left(gb) <= 0)
-            return AVERROR_INVALIDDATA;
-        h->active_format_description = bytestream2_get_byteu(gb) & 0xF;
-        h->present                   = 1;
-    }
-
-    return 0;
-}
-
-static int decode_registered_user_data_closed_caption(H2645SEIA53Caption *h,
-                                                      GetByteContext *gb)
-{
-    return ff_parse_a53_cc(&h->buf_ref, gb->buffer,
-                           bytestream2_get_bytes_left(gb));
-}
-
 static int decode_registered_user_data(H2645SEI *h, GetByteContext *gb,
                                        enum AVCodecID codec_id, void *logctx)
 {
-    int country_code, provider_code = -1;
-
-    if (bytestream2_get_bytes_left(gb) < 3)
-        return AVERROR_INVALIDDATA;
-
-    country_code = bytestream2_get_byteu(gb); // itu_t_t35_country_code
-    if (country_code == 0xFF) {
-        if (bytestream2_get_bytes_left(gb) < 3)
-            return AVERROR_INVALIDDATA;
-
-        bytestream2_skipu(gb, 1);  // itu_t_t35_country_code_extension_byte
-    }
-
-    /* itu_t_t35_payload_byte follows */
-
-    switch (country_code) {
-    case ITU_T_T35_COUNTRY_CODE_US:
-        provider_code = bytestream2_get_be16u(gb);
-
-        switch (provider_code) {
-        case ITU_T_T35_PROVIDER_CODE_ATSC: {
-            uint32_t user_identifier;
-
-            if (bytestream2_get_bytes_left(gb) < 4)
-                return AVERROR_INVALIDDATA;
-
-            user_identifier = bytestream2_get_be32u(gb);
-            switch (user_identifier) {
-            case MKBETAG('D', 'T', 'G', '1'):       // afd_data
-                return decode_registered_user_data_afd(&h->afd, gb);
-            case MKBETAG('G', 'A', '9', '4'):       // closed captions
-                return 
decode_registered_user_data_closed_caption(&h->a53_caption, gb);
-            default:
-                av_log(logctx, AV_LOG_VERBOSE,
-                       "Unsupported User Data Registered ITU-T T35 SEI message 
(atsc user_identifier = 0x%04x)\n",
-                       user_identifier);
-                break;
-            }
-            break;
-        }
-#if CONFIG_HEVC_SEI
-        case ITU_T_T35_PROVIDER_CODE_AOM: {
-            const uint16_t aom_grain_provider_oriented_code = 0x0001;
-            uint16_t provider_oriented_code;
-
-            if (!IS_HEVC(codec_id))
-                break;
-
-            if (bytestream2_get_bytes_left(gb) < 2)
-                return AVERROR_INVALIDDATA;
-
-            provider_oriented_code = bytestream2_get_byteu(gb);
-            if (provider_oriented_code == aom_grain_provider_oriented_code) {
-                return ff_aom_parse_film_grain_sets(&h->aom_film_grain,
-                                                    gb->buffer,
-                                                    
bytestream2_get_bytes_left(gb));
-            }
-            break;
-        }
-        case ITU_T_T35_PROVIDER_CODE_SAMSUNG: {
-            // A/341 Amendment - 2094-40
-            const uint16_t smpte2094_40_provider_oriented_code = 0x0001;
-            const uint8_t smpte2094_40_application_identifier = 0x04;
-            uint16_t provider_oriented_code;
-            uint8_t application_identifier;
-
-            if (!IS_HEVC(codec_id))
-                break;
-
-            if (bytestream2_get_bytes_left(gb) < 3)
-                return AVERROR_INVALIDDATA;
-
-            provider_oriented_code = bytestream2_get_be16u(gb);
-            application_identifier = bytestream2_get_byteu(gb);
-            if (provider_oriented_code == smpte2094_40_provider_oriented_code 
&&
-                application_identifier == smpte2094_40_application_identifier) 
{
-                return 
decode_registered_user_data_dynamic_hdr_plus(&h->dynamic_hdr_plus, gb);
-            }
-            break;
-        }
-#endif
-        default:
-            break;
-        }
-        break;
-    case ITU_T_T35_COUNTRY_CODE_UK:
-        bytestream2_skipu(gb, 1); // t35_uk_country_code_second_octet
-        if (bytestream2_get_bytes_left(gb) < 2)
-            return AVERROR_INVALIDDATA;
-
-        provider_code = bytestream2_get_be16u(gb);
-
-        switch (provider_code) {
-        case ITU_T_T35_PROVIDER_CODE_VNOVA:
-            if (bytestream2_get_bytes_left(gb) < 2)
-                return AVERROR_INVALIDDATA;
-
-            return decode_registered_user_data_lcevc(&h->lcevc, gb);
-        default:
-            break;
-        }
-        break;
-#if CONFIG_HEVC_SEI
-    case ITU_T_T35_COUNTRY_CODE_CN: {
-        const uint16_t cuva_provider_oriented_code = 0x0005;
-        uint16_t provider_oriented_code;
-
-        provider_code = bytestream2_get_be16u(gb);
-
-        switch (provider_code) {
-        case ITU_T_T35_PROVIDER_CODE_HDR_VIVID:
-            if (!IS_HEVC(codec_id))
-                break;
-
-            if (bytestream2_get_bytes_left(gb) < 2)
-                return AVERROR_INVALIDDATA;
-
-            provider_oriented_code = bytestream2_get_be16u(gb);
-            if (provider_oriented_code == cuva_provider_oriented_code) {
-                return 
decode_registered_user_data_dynamic_hdr_vivid(&h->dynamic_hdr_vivid, gb);
-            }
-            break;
-        default:
-            break;
-        }
-        break;
-    }
-#endif
-    default:
-        break;
-    }
+    FFITUTT35 itut_t35 = { 0 };
+    FFITUTT35Aux aux = { NULL };
+    int ret;
 
-    av_log(logctx, AV_LOG_VERBOSE,
-           "Unsupported User Data Registered ITU-T T35 SEI message 
(country_code = %d, provider_code = %d)\n",
-           country_code, provider_code);
+    ret = ff_itut_t35_parse_buffer(&itut_t35, gb->buffer, 
bytestream2_get_bytes_left(gb), 0);
+    if (!ret)
+        av_log(logctx, AV_LOG_VERBOSE,
+               "Unsupported User Data Registered ITU-T T35 SEI message 
(country_code = %d, provider_code = %d)\n",
+               itut_t35.country_code, itut_t35.provider_code);
+    if (ret <= 0)
+        return ret;
 
-    return 0;
+    return ff_itut_t35_parse_payload_to_struct(&itut_t35, &aux, &h->itut_t35, 
0);
 }
 
 static int decode_unregistered_user_data(H2645SEIUnregistered *h,
@@ -539,8 +319,8 @@ int ff_h2645_sei_message_decode(H2645SEI *h, enum SEIType 
type,
 
 int ff_h2645_sei_ctx_replace(H2645SEI *dst, const H2645SEI *src)
 {
-    int ret = av_buffer_replace(&dst->a53_caption.buf_ref,
-                                 src->a53_caption.buf_ref);
+    int ret = av_buffer_replace(&dst->itut_t35.a53_cc,
+                                 src->itut_t35.a53_cc);
     if (ret < 0)
         return ret;
 
@@ -548,7 +328,7 @@ int ff_h2645_sei_ctx_replace(H2645SEI *dst, const H2645SEI 
*src)
         av_buffer_unref(&dst->unregistered.buf_ref[i]);
     dst->unregistered.nb_buf_ref = 0;
 
-    ret = av_buffer_replace(&dst->lcevc.info, src->lcevc.info);
+    ret = av_buffer_replace(&dst->itut_t35.lcevc, src->itut_t35.lcevc);
     if (ret < 0)
         return ret;
 
@@ -567,13 +347,13 @@ int ff_h2645_sei_ctx_replace(H2645SEI *dst, const 
H2645SEI *src)
         }
     }
 
-    for (unsigned i = 0; i < FF_ARRAY_ELEMS(dst->aom_film_grain.sets); i++) {
-        ret = av_buffer_replace(&dst->aom_film_grain.sets[i],
-                                 src->aom_film_grain.sets[i]);
+    for (unsigned i = 0; i < 
FF_ARRAY_ELEMS(dst->itut_t35.aom_film_grain.sets); i++) {
+        ret = av_buffer_replace(&dst->itut_t35.aom_film_grain.sets[i],
+                                 src->itut_t35.aom_film_grain.sets[i]);
         if (ret < 0)
             return ret;
     }
-    dst->aom_film_grain.enable = src->aom_film_grain.enable;
+    dst->itut_t35.aom_film_grain.enable = src->itut_t35.aom_film_grain.enable;
 
     dst->ambient_viewing_environment = src->ambient_viewing_environment;
     dst->mastering_display     = src->mastering_display;
@@ -742,6 +522,7 @@ int ff_h2645_sei_to_frame(AVFrame *frame, H2645SEI *sei,
                           int seed)
 {
     H2645SEIFramePacking *fp = &sei->frame_packing;
+    FFITUTT35Meta *itut_t35 = &sei->itut_t35;
     int ret;
 
     if (fp->present &&
@@ -821,12 +602,11 @@ int ff_h2645_sei_to_frame(AVFrame *frame, H2645SEI *sei,
                                 o->hflip, o->vflip);
     }
 
-    if (sei->a53_caption.buf_ref) {
-        H2645SEIA53Caption *a53 = &sei->a53_caption;
-        AVFrameSideData *sd = av_frame_new_side_data_from_buf(frame, 
AV_FRAME_DATA_A53_CC, a53->buf_ref);
+    if (itut_t35->a53_cc) {
+        AVFrameSideData *sd = av_frame_new_side_data_from_buf(frame, 
AV_FRAME_DATA_A53_CC, itut_t35->a53_cc);
         if (!sd)
-            av_buffer_unref(&a53->buf_ref);
-        a53->buf_ref = NULL;
+            av_buffer_unref(&itut_t35->a53_cc);
+        itut_t35->a53_cc = NULL;
 #if FF_API_CODEC_PROPS
 FF_DISABLE_DEPRECATION_WARNINGS
         avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
@@ -838,19 +618,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
     if (ret < 0)
         return ret;
 
-    if (sei->afd.present) {
-        AVFrameSideData *sd = av_frame_new_side_data(frame, AV_FRAME_DATA_AFD,
-                                                     sizeof(uint8_t));
-
-        if (sd) {
-            *sd->data = sei->afd.active_format_description;
-            sei->afd.present = 0;
-        }
+    if (itut_t35->afd) {
+        if (!av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_AFD, 
itut_t35->afd))
+            av_buffer_unref(&itut_t35->afd);
+        itut_t35->afd = NULL;
     }
 
-    if (sei->lcevc.info) {
-        HEVCSEILCEVC *lcevc = &sei->lcevc;
-        ret = ff_frame_new_side_data_from_buf(avctx, frame, 
AV_FRAME_DATA_LCEVC, &lcevc->info);
+    if (itut_t35->lcevc) {
+        ret = ff_frame_new_side_data_from_buf(avctx, frame, 
AV_FRAME_DATA_LCEVC,
+                                              &itut_t35->lcevc);
         if (ret < 0)
             return ret;
     }
@@ -921,7 +697,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
     }
 
 #if CONFIG_HEVC_SEI
-    ret = ff_aom_attach_film_grain_sets(&sei->aom_film_grain, frame);
+    ret = ff_aom_attach_film_grain_sets(&itut_t35->aom_film_grain, frame);
     if (ret < 0)
         return ret;
 #endif
@@ -937,20 +713,14 @@ int ff_h2645_sei_to_context(AVCodecContext *avctx, 
H2645SEI *sei)
 
 void ff_h2645_sei_reset(H2645SEI *s)
 {
-    av_buffer_unref(&s->a53_caption.buf_ref);
-
     for (unsigned i = 0; i < s->unregistered.nb_buf_ref; i++)
         av_buffer_unref(&s->unregistered.buf_ref[i]);
     s->unregistered.nb_buf_ref = 0;
     av_freep(&s->unregistered.buf_ref);
-    av_buffer_unref(&s->dynamic_hdr_plus.info);
-    av_buffer_unref(&s->dynamic_hdr_vivid.info);
-    av_buffer_unref(&s->lcevc.info);
-
+    ff_itut_t35_unref(&s->itut_t35);
     s->ambient_viewing_environment.present = 0;
     s->mastering_display.present = 0;
     s->content_light.present = 0;
 
     av_refstruct_unref(&s->film_grain_characteristics);
-    ff_aom_uninit_film_grain_params(&s->aom_film_grain);
 }
diff --git a/libavcodec/h2645_sei.h b/libavcodec/h2645_sei.h
index f2ad7147c6..54288e2e26 100644
--- a/libavcodec/h2645_sei.h
+++ b/libavcodec/h2645_sei.h
@@ -25,12 +25,12 @@
 #include "libavutil/frame.h"
 #include "libavutil/film_grain_params.h"
 
-#include "aom_film_grain.h"
 #include "avcodec.h"
 #include "bytestream.h"
 #include "codec_id.h"
 #include "get_bits.h"
 #include "h2645_vui.h"
+#include "itut35.h"
 #include "sei.h"
 
 typedef struct H2645SEIA53Caption {
@@ -126,11 +126,7 @@ typedef struct H2645SEIContentLight {
 } H2645SEIContentLight;
 
 typedef struct H2645SEI {
-    H2645SEIA53Caption a53_caption;
-    H2645SEIAFD afd;
-    HEVCSEIDynamicHDRPlus  dynamic_hdr_plus;     //< HEVC only
-    HEVCSEIDynamicHDRVivid dynamic_hdr_vivid;    //< HEVC only
-    HEVCSEILCEVC lcevc;
+    FFITUTT35Meta itut_t35;
     H2645SEIUnregistered unregistered;
     H2645SEIFramePacking frame_packing;
     H2645SEIDisplayOrientation display_orientation;
@@ -138,7 +134,6 @@ typedef struct H2645SEI {
     H2645SEIAmbientViewingEnvironment ambient_viewing_environment;
     H2645SEIMasteringDisplay mastering_display;
     H2645SEIContentLight content_light;
-    AVFilmGrainAFGS1Params aom_film_grain;
 
     // Dynamic allocations due to large size.
     H2645SEIFilmGrainCharacteristics *film_grain_characteristics;
diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
index 15a5232209..6819fb75c4 100644
--- a/libavcodec/h264_sei.c
+++ b/libavcodec/h264_sei.c
@@ -56,7 +56,6 @@ void ff_h264_sei_uninit(H264SEIContext *h)
     h->buffering_period.present    = 0;
     h->common.frame_packing.present       = 0;
     h->common.display_orientation.present = 0;
-    h->common.afd.present                 =  0;
 
     ff_h2645_sei_reset(&h->common);
 }
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index e3b4436fcb..7e2c460293 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -191,9 +191,8 @@ static int alloc_picture(H264Context *h, H264Picture *pic)
 
     av_assert0(!pic->f->data[0]);
 
-    if (h->sei.common.lcevc.info) {
-        HEVCSEILCEVC *lcevc = &h->sei.common.lcevc;
-        ret = ff_frame_new_side_data_from_buf(h->avctx, pic->f, 
AV_FRAME_DATA_LCEVC, &lcevc->info);
+    if (h->sei.common.itut_t35.lcevc) {
+        ret = ff_frame_new_side_data_from_buf(h->avctx, pic->f, 
AV_FRAME_DATA_LCEVC, &h->sei.common.itut_t35.lcevc);
         if (ret < 0)
             return ret;
     }
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index b576b09b42..6fec59d31e 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -390,7 +390,7 @@ static int export_stream_params_from_sei(HEVCContext *s)
 
 #if FF_API_CODEC_PROPS
 FF_DISABLE_DEPRECATION_WARNINGS
-    if (s->sei.common.a53_caption.buf_ref)
+    if (s->sei.common.itut_t35.a53_cc)
         s->avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
 FF_ENABLE_DEPRECATION_WARNINGS
 #endif
@@ -404,7 +404,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 #if FF_API_CODEC_PROPS
 FF_DISABLE_DEPRECATION_WARNINGS
     if ((s->sei.common.film_grain_characteristics && 
s->sei.common.film_grain_characteristics->present) ||
-        s->sei.common.aom_film_grain.enable)
+        s->sei.common.itut_t35.aom_film_grain.enable)
         avctx->properties |= FF_CODEC_PROPERTY_FILM_GRAIN;
 FF_ENABLE_DEPRECATION_WARNINGS
 #endif
@@ -3132,8 +3132,8 @@ static int set_side_data(HEVCContext *s)
         s->sei.timecode.num_clock_ts = 0;
     }
 
-    if (s->sei.common.dynamic_hdr_plus.info) {
-        AVBufferRef *info_ref = 
av_buffer_ref(s->sei.common.dynamic_hdr_plus.info);
+    if (s->sei.common.itut_t35.hdr_plus) {
+        AVBufferRef *info_ref = av_buffer_ref(s->sei.common.itut_t35.hdr_plus);
         if (!info_ref)
             return AVERROR(ENOMEM);
 
@@ -3153,10 +3153,10 @@ static int set_side_data(HEVCContext *s)
     if ((ret = ff_dovi_attach_side_data(&s->dovi_ctx, out)) < 0)
         return ret;
 
-    if (s->sei.common.dynamic_hdr_vivid.info) {
+    if (s->sei.common.itut_t35.hdr_vivid) {
         if (!av_frame_side_data_add(&out->side_data, &out->nb_side_data,
                                     AV_FRAME_DATA_DYNAMIC_HDR_VIVID,
-                                    &s->sei.common.dynamic_hdr_vivid.info,
+                                    &s->sei.common.itut_t35.hdr_vivid,
                                     AV_FRAME_SIDE_DATA_FLAG_NEW_REF))
             return AVERROR(ENOMEM);
     }
@@ -3350,7 +3350,7 @@ static int hevc_frame_start(HEVCContext *s, 
HEVCLayerContext *l,
 
     s->cur_frame->needs_fg = ((s->sei.common.film_grain_characteristics &&
                                
s->sei.common.film_grain_characteristics->present) ||
-                              s->sei.common.aom_film_grain.enable) &&
+                              s->sei.common.itut_t35.aom_film_grain.enable) &&
         !(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) &&
         !s->avctx->hwaccel;
 
@@ -4080,8 +4080,8 @@ static int hevc_update_thread_context(AVCodecContext *dst,
     if (ret < 0)
         return ret;
 
-    ret = av_buffer_replace(&s->sei.common.dynamic_hdr_plus.info,
-                            s0->sei.common.dynamic_hdr_plus.info);
+    ret = av_buffer_replace(&s->sei.common.itut_t35.hdr_plus,
+                            s0->sei.common.itut_t35.hdr_plus);
     if (ret < 0)
         return ret;
 
@@ -4091,8 +4091,8 @@ static int hevc_update_thread_context(AVCodecContext *dst,
 
     ff_dovi_ctx_replace(&s->dovi_ctx, &s0->dovi_ctx);
 
-    ret = av_buffer_replace(&s->sei.common.dynamic_hdr_vivid.info,
-                            s0->sei.common.dynamic_hdr_vivid.info);
+    ret = av_buffer_replace(&s->sei.common.itut_t35.hdr_vivid,
+                            s0->sei.common.itut_t35.hdr_vivid);
     if (ret < 0)
         return ret;
 
diff --git a/libavcodec/hevc/refs.c b/libavcodec/hevc/refs.c
index 55db706a8a..653239c7bb 100644
--- a/libavcodec/hevc/refs.c
+++ b/libavcodec/hevc/refs.c
@@ -122,10 +122,9 @@ static HEVCFrame *alloc_frame(HEVCContext *s, 
HEVCLayerContext *l)
             return NULL;
 
         // Add LCEVC SEI metadata here, as it's needed in get_buffer()
-        if (s->sei.common.lcevc.info) {
-            HEVCSEILCEVC *lcevc = &s->sei.common.lcevc;
+        if (s->sei.common.itut_t35.lcevc) {
             ret = ff_frame_new_side_data_from_buf(s->avctx, frame->tf.f,
-                                                  AV_FRAME_DATA_LCEVC, 
&lcevc->info);
+                                                  AV_FRAME_DATA_LCEVC, 
&s->sei.common.itut_t35.lcevc);
             if (ret < 0)
                 goto fail;
         }
diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c
index 194e2fc7ef..561323f123 100644
--- a/libavcodec/vvc/dec.c
+++ b/libavcodec/vvc/dec.c
@@ -767,7 +767,7 @@ static int check_film_grain(VVCContext *s, VVCFrameContext 
*fc)
 
     fc->ref->needs_fg = (fc->sei.common.film_grain_characteristics &&
         fc->sei.common.film_grain_characteristics->present ||
-        fc->sei.common.aom_film_grain.enable) &&
+        fc->sei.common.itut_t35.aom_film_grain.enable) &&
         !(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) &&
         !s->avctx->hwaccel;
 
diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c
index c1f027aed5..15024d7b68 100644
--- a/libavcodec/vvc/refs.c
+++ b/libavcodec/vvc/refs.c
@@ -134,10 +134,9 @@ static VVCFrame *alloc_frame(VVCContext *s, 
VVCFrameContext *fc)
         frame->pps = av_refstruct_ref_c(fc->ps.pps);
 
         // Add LCEVC SEI metadata here, as it's needed in get_buffer()
-        if (fc->sei.common.lcevc.info) {
-            HEVCSEILCEVC *lcevc = &fc->sei.common.lcevc;
+        if (fc->sei.common.itut_t35.lcevc) {
             ret = ff_frame_new_side_data_from_buf(s->avctx, frame->frame,
-                                                  AV_FRAME_DATA_LCEVC, 
&lcevc->info);
+                                                  AV_FRAME_DATA_LCEVC, 
&fc->sei.common.itut_t35.lcevc);
             if (ret < 0)
                 goto fail;
         }

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to