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

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new 8518599cd1 avformat/matroskaenc: Write additional mappings for webm
8518599cd1 is described below

commit 8518599cd135ce3cbad903197e9573ed48fbd9fb
Author:     Vignesh Venkat <[email protected]>
AuthorDate: Thu May 7 15:28:07 2026 -0700
Commit:     Vignesh Venkat <[email protected]>
CommitDate: Fri May 8 13:33:31 2026 -0700

    avformat/matroskaenc: Write additional mappings for webm
    
    The elements written in mkv_write_blockadditionmapping
    (MaxBlockAdditionID, BlockAddIDType and BlockAddIDValue) are all
    allowed in WebM as well. Move them out of the "if (!IS_WEBM)"
    block.
    
    Matroska spec:
    https://www.matroska.org/technical/elements.html#MaxBlockAdditionID
    (See column with title "W" which shows WebM availability).
    
    WebM spec:
    https://www.webmproject.org/docs/container/#MaxBlockAdditionID
    
    Signed-off-by: Vignesh Venkat <[email protected]>
---
 libavformat/matroskaenc.c                | 39 +++++++++++++++-----------------
 tests/ref/fate/webm-av1-extradata-update |  4 ++--
 tests/ref/fate/webm-dash-chapters        |  4 ++--
 tests/ref/fate/webm-hdr10-plus-remux     |  6 ++---
 tests/ref/fate/webm-webvtt-remux         |  4 ++--
 5 files changed, 27 insertions(+), 30 deletions(-)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index f4d4a9cc88..b90485a528 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -2145,8 +2145,7 @@ static int mkv_write_track(AVFormatContext *s, 
MatroskaMuxContext *mkv,
         return AVERROR(EINVAL);
     }
 
-    if (!IS_WEBM(mkv))
-        mkv_write_blockadditionmapping(s, mkv, par, pb, track, st);
+    mkv_write_blockadditionmapping(s, mkv, par, pb, track, st);
 
     if (!IS_WEBM(mkv) || par->codec_id != AV_CODEC_ID_WEBVTT) {
         uint8_t *codecpriv;
@@ -3372,30 +3371,28 @@ after_cues:
 
     if (mkv->track.bc) {
         // write Tracks master
-        if (!IS_WEBM(mkv)) {
-            AVIOContext *track_bc = mkv->track.bc;
+        AVIOContext *track_bc = mkv->track.bc;
 
-            for (unsigned i = 0; i < s->nb_streams; i++) {
-                const mkv_track *track = &mkv->tracks[i];
+        for (unsigned i = 0; i < s->nb_streams; i++) {
+            const mkv_track *track = &mkv->tracks[i];
 
-                if (!track->max_blockaddid)
-                    continue;
+            if (!track->max_blockaddid)
+                continue;
 
-                // We reserved a single byte to write this value.
-                av_assert0(track->max_blockaddid <= 0xFF);
+            // We reserved a single byte to write this value.
+            av_assert0(track->max_blockaddid <= 0xFF);
 
-                avio_seek(track_bc, track->blockadditionmapping_offset, 
SEEK_SET);
+            avio_seek(track_bc, track->blockadditionmapping_offset, SEEK_SET);
 
-                put_ebml_uint(track_bc, MATROSKA_ID_TRACKMAXBLKADDID,
-                              track->max_blockaddid);
-                if (track->max_blockaddid == MATROSKA_BLOCK_ADD_ID_ITU_T_T35) {
-                    ebml_master mapping_master = start_ebml_master(track_bc, 
MATROSKA_ID_TRACKBLKADDMAPPING, 8);
-                    put_ebml_uint(track_bc, MATROSKA_ID_BLKADDIDTYPE,
-                                  MATROSKA_BLOCK_ADD_ID_TYPE_ITU_T_T35);
-                    put_ebml_uint(track_bc, MATROSKA_ID_BLKADDIDVALUE,
-                                  MATROSKA_BLOCK_ADD_ID_ITU_T_T35);
-                    end_ebml_master(track_bc, mapping_master);
-                }
+            put_ebml_uint(track_bc, MATROSKA_ID_TRACKMAXBLKADDID,
+                          track->max_blockaddid);
+            if (track->max_blockaddid == MATROSKA_BLOCK_ADD_ID_ITU_T_T35) {
+                ebml_master mapping_master = start_ebml_master(track_bc, 
MATROSKA_ID_TRACKBLKADDMAPPING, 8);
+                put_ebml_uint(track_bc, MATROSKA_ID_BLKADDIDTYPE,
+                              MATROSKA_BLOCK_ADD_ID_TYPE_ITU_T_T35);
+                put_ebml_uint(track_bc, MATROSKA_ID_BLKADDIDVALUE,
+                              MATROSKA_BLOCK_ADD_ID_ITU_T_T35);
+                end_ebml_master(track_bc, mapping_master);
             }
         }
 
diff --git a/tests/ref/fate/webm-av1-extradata-update 
b/tests/ref/fate/webm-av1-extradata-update
index 3a84511bae..607909d46f 100644
--- a/tests/ref/fate/webm-av1-extradata-update
+++ b/tests/ref/fate/webm-av1-extradata-update
@@ -1,5 +1,5 @@
-dc7593b977b092e522018de7e0d12681 
*tests/data/fate/webm-av1-extradata-update.webm
-23047 tests/data/fate/webm-av1-extradata-update.webm
+4be8d56dd9c4c94b704d41c8b354f3e7 
*tests/data/fate/webm-av1-extradata-update.webm
+23062 tests/data/fate/webm-av1-extradata-update.webm
 #extradata 0:       35, 0x527207cd
 #tb 0: 1/1000
 #media_type 0: video
diff --git a/tests/ref/fate/webm-dash-chapters 
b/tests/ref/fate/webm-dash-chapters
index f32e83852f..11e2f98707 100644
--- a/tests/ref/fate/webm-dash-chapters
+++ b/tests/ref/fate/webm-dash-chapters
@@ -1,5 +1,5 @@
-e2d3d812e6d9cf05a36eaefe02801a99 *tests/data/fate/webm-dash-chapters.webm
-111149 tests/data/fate/webm-dash-chapters.webm
+d3146d0817d9f3471b4bda4fa61cc090 *tests/data/fate/webm-dash-chapters.webm
+111153 tests/data/fate/webm-dash-chapters.webm
 #extradata 0:     3469, 0xc6769ddc
 #tb 0: 1/1000
 #media_type 0: audio
diff --git a/tests/ref/fate/webm-hdr10-plus-remux 
b/tests/ref/fate/webm-hdr10-plus-remux
index 9180d39596..2510efbbbf 100644
--- a/tests/ref/fate/webm-hdr10-plus-remux
+++ b/tests/ref/fate/webm-hdr10-plus-remux
@@ -1,5 +1,5 @@
-7c5ae91189589c07f92aa97cb9b3d9e1 *tests/data/fate/webm-hdr10-plus-remux.webm
-13842 tests/data/fate/webm-hdr10-plus-remux.webm
+4bd2b26ae7c25c3e873ee76229ecbe7c *tests/data/fate/webm-hdr10-plus-remux.webm
+13857 tests/data/fate/webm-hdr10-plus-remux.webm
 #tb 0: 1/1000
 #media_type 0: video
 #codec_id 0: vp9
@@ -16,7 +16,7 @@ dts_time=0.000000
 duration=40
 duration_time=0.040000
 size=13350
-pos=392
+pos=407
 flags=K__
 [SIDE_DATA]
 side_data_type=HDR10+ Dynamic Metadata (SMPTE 2094-40)
diff --git a/tests/ref/fate/webm-webvtt-remux b/tests/ref/fate/webm-webvtt-remux
index f00a04c24c..1c47938bb9 100644
--- a/tests/ref/fate/webm-webvtt-remux
+++ b/tests/ref/fate/webm-webvtt-remux
@@ -1,5 +1,5 @@
-c372c76c062d368f1d17373c19f83579 *tests/data/fate/webm-webvtt-remux.webm
-6524 tests/data/fate/webm-webvtt-remux.webm
+22d1105067d2ac031ecc21542750255e *tests/data/fate/webm-webvtt-remux.webm
+6540 tests/data/fate/webm-webvtt-remux.webm
 #tb 0: 1/1000
 #media_type 0: subtitle
 #codec_id 0: webvtt

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

Reply via email to