PR #23205 opened by vigneshvg
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23205
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23205.patch

Also add support for parsing these tracks in mov.c

Signed-off-by: Vignesh Venkat <[email protected]>


>From 9b3d4e6660d13f556f8a42dd70d09bfc49b7dbf6 Mon Sep 17 00:00:00 2001
From: Vignesh Venkat <[email protected]>
Date: Wed, 29 Apr 2026 17:02:43 -0700
Subject: [PATCH] avcodec: Add itut-t35 metadata as a codec type

Also add support for parsing these tracks in mov.c

Signed-off-by: Vignesh Venkat <[email protected]>
---
 doc/APIchanges          | 3 +++
 libavcodec/codec_desc.c | 6 ++++++
 libavcodec/codec_id.h   | 1 +
 libavcodec/version.h    | 2 +-
 libavformat/isom.c      | 1 +
 libavformat/mov.c       | 2 ++
 6 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 9f4613d1a9..9fe7cc4183 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28
 
 API changes, most recent first:
 
+2026-05-22 - xxxxxxxxxxx - lavc 62.35.101 - codec_id.h
+  Add AV_CODEC_ID_ITUT_T35.
+
 2026-05-14 - xxxxxxxxxxx - lavf 62.18.100 - avformat.h
   Add AV_FDEBUG_ID3V2 debug flag, deprecate FF_FDEBUG_TS in favor of
   AV_FDEBUG_TS.
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index 99e7c0de3d..4a0810391b 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -3857,6 +3857,12 @@ static const AVCodecDescriptor codec_descriptors[] = {
         .name      = "smpte_436m_anc",
         .long_name = NULL_IF_CONFIG_SMALL("MXF SMPTE-436M ANC"),
     },
+    {
+        .id        = AV_CODEC_ID_ITUT_T35,
+        .type      = AVMEDIA_TYPE_DATA,
+        .name      = "itut_t35",
+        .long_name = NULL_IF_CONFIG_SMALL("ITU-T T.35 metadata"),
+    },
     {
         .id        = AV_CODEC_ID_MPEG2TS,
         .type      = AVMEDIA_TYPE_DATA,
diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h
index bb2c16a958..99842dd40b 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -615,6 +615,7 @@ enum AVCodecID {
     AV_CODEC_ID_SMPTE_2038,
     AV_CODEC_ID_LCEVC,
     AV_CODEC_ID_SMPTE_436M_ANC,
+    AV_CODEC_ID_ITUT_T35,
 
 
     AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like 
AV_CODEC_ID_NONE) but lavf should attempt to identify it
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 0a91c6b916..36e14e6886 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
 
 #include "version_major.h"
 
-#define LIBAVCODEC_VERSION_MINOR  34
+#define LIBAVCODEC_VERSION_MINOR  35
 #define LIBAVCODEC_VERSION_MICRO 101
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
diff --git a/libavformat/isom.c b/libavformat/isom.c
index 29171fea40..c1db473c11 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -81,6 +81,7 @@ const AVCodecTag ff_codec_movsubtitle_tags[] = {
 
 const AVCodecTag ff_codec_movdata_tags[] = {
     { AV_CODEC_ID_BIN_DATA, MKTAG('g', 'p', 'm', 'd') },
+    { AV_CODEC_ID_ITUT_T35, MKTAG('i', 't', '3', '5') },
     { AV_CODEC_ID_NONE, 0 },
 };
 
diff --git a/libavformat/mov.c b/libavformat/mov.c
index e4e8036a4a..08f8e7c0cd 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -815,6 +815,8 @@ static int mov_read_hdlr(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
         st->codecpar->codec_id = AV_CODEC_ID_MP2;
     else if ((type == MKTAG('s','u','b','p')) || (type == 
MKTAG('c','l','c','p')))
         st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
+    else if (type == MKTAG('i','t','3','5'))
+        st->codecpar->codec_type = AVMEDIA_TYPE_DATA;
 
     avio_rb32(pb); /* component  manufacture */
     avio_rb32(pb); /* component flags */
-- 
2.52.0

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

Reply via email to