From 37aefb6e402c44eac3ec19c5bd81f306c61816e1 Mon Sep 17 00:00:00 2001 From: Vignesh Venkat Date: Mon, 13 Apr 2026 09:23:15 -0700 Subject: [PATCH] avcodec/dav1d: Support parsing smpte 2094-50 metadata Signed-off-by: Vignesh Venkatasubramanian --- libavcodec/itut35.h | 1 + libavcodec/libdav1d.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/libavcodec/itut35.h b/libavcodec/itut35.h index 84ea86f3dd..3820fcfec4 100644 --- a/libavcodec/itut35.h +++ b/libavcodec/itut35.h @@ -37,5 +37,6 @@ #define ITU_T_T35_PROVIDER_CODE_DOLBY 0x003B #define ITU_T_T35_PROVIDER_CODE_AOM 0x5890 #define ITU_T_T35_PROVIDER_CODE_SAMSUNG 0x003C +#define ITU_T_T35_PROVIDER_CODE_SMPTE 0x0090 #endif /* AVCODEC_ITUT35_H */ diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 5af851085c..2eaeefc71a 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -441,6 +441,22 @@ FF_ENABLE_DEPRECATION_WARNINGS return res; break; } + case ITU_T_T35_PROVIDER_CODE_SMPTE: { + AVDynamicHDRSmpte2094App5 *hdr_smpte2094_app5; + int provider_oriented_code = bytestream2_get_be16(&gb); + if (provider_oriented_code != 1) + return 0; // ignore + + hdr_smpte2094_app5 = av_dynamic_hdr_smpte2094_app5_create_side_data(frame); + if (!hdr_smpte2094_app5) + return AVERROR(ENOMEM); + + res = av_dynamic_hdr_smpte2094_app5_from_t35(hdr_smpte2094_app5, gb.buffer, + bytestream2_get_bytes_left(&gb)); + if (res < 0) + return res; + break; + } default: break; }