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 40e60a7db0 tests/fate/mov: add tests to demux specific streams within
a IAMF Track
40e60a7db0 is described below
commit 40e60a7db0c68bbe828a28d2ee264908f3a34e8d
Author: James Almer <[email protected]>
AuthorDate: Fri Feb 27 22:53:22 2026 -0300
Commit: James Almer <[email protected]>
CommitDate: Mon Mar 2 09:28:36 2026 -0300
tests/fate/mov: add tests to demux specific streams within a IAMF Track
Signed-off-by: James Almer <[email protected]>
---
tests/fate/mov.mak | 35 +++++++++++++++++++------
tests/ref/fate/mov-mp4-iamf-7_1_4-video-first | 2 --
tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-2 | 16 +++++++++++
tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-3 | 16 +++++++++++
4 files changed, 59 insertions(+), 10 deletions(-)
diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index f0253537a5..ef213b3195 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -305,17 +305,36 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4
"-auto_conversion_filter
"-show_entries
stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
# Test muxing an IAMF track alongside a video one, with video as the first
track.
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4, MP4 MOV, WAV_DEMUXER
FLAC_DECODER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) +=
fate-mov-mp4-iamf-7_1_4-video-first
-fate-mov-mp4-iamf-7_1_4-video-first: tests/data/asynth-44100-12.wav
tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4
tests/data/streamgroups/audio_element-7_1_4-2
tests/data/streamgroups/mix_presentation-7_1_4
-fate-mov-mp4-iamf-7_1_4-video-first: SRC =
$(TARGET_PATH)/tests/data/asynth-44100-12.wav
-fate-mov-mp4-iamf-7_1_4-video-first: SRC2 =
$(TARGET_PATH)/tests/data/vsynth1.yuv
-fate-mov-mp4-iamf-7_1_4-video-first: CMD = transcode wav $(SRC) mp4
"-auto_conversion_filters \
+tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: TAG = GEN
+tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: tests/data/asynth-44100-12.wav
tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4
tests/data/streamgroups/audio_element-7_1_4-2
tests/data/streamgroups/mix_presentation-7_1_4
+tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: ffmpeg$(PROGSSUF)$(EXESUF) |
tests/data
+ $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \
+ -f wav -i $(TARGET_PATH)/tests/data/asynth-44100-12.wav \
+ -f rawvideo -s 352x288 -pix_fmt yuv420p -flags +bitexact -sws_flags
+accurate_rnd+bitexact -i $(TARGET_PATH)/tests/data/vsynth1.yuv \
-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_7_1_4 \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-7_1_4-2 \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-7_1_4
\
- -streamid 0:1 -streamid 1:2 -streamid 2:3 -streamid 3:4 -streamid 4:5
-streamid 5:6 -streamid 6:7 -streamid 7:8 -map 1:v:0 -map [FRONT] -map
[TOP_FRONT] -map [CENTER] -map [LFE] -map [SIDE] -map [BACK] -map [TOP_BACK]
-c:a flac -c:v mpeg4 -t 1" "-c:a copy -c:v copy -map 0" \
- "-show_entries
stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition:stream=index,id"
\
- "-f rawvideo -s 352x288 -pix_fmt yuv420p -i $(SRC2)"
+ -streamid 0:1 -streamid 1:2 -streamid 2:3 -streamid 3:4 -streamid 4:5
-streamid 5:6 -streamid 6:7 -streamid 7:8 -map 1:v:0 -map [FRONT] -map
[TOP_FRONT] -map [CENTER] -map [LFE] -map [SIDE] -map [BACK] -map [TOP_BACK] \
+ -flags +bitexact -c:a flac -idct simple -dct fastint -sws_flags
+accurate_rnd+bitexact -flags +bitexact -threads 1 -c:v mpeg4 -t 1 -fflags
+bitexact -f mp4 $(TARGET_PATH)/tests/data/mov-mp4-iamf-7_1_4-video-first.mp4
-y 2>/dev/null
+
+# Demux everything
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4, MP4 MOV, WAV_DEMUXER
FLAC_DECODER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) +=
fate-mov-mp4-iamf-7_1_4-video-first
+fate-mov-mp4-iamf-7_1_4-video-first:
tests/data/mov-mp4-iamf-7_1_4-video-first.mp4
+fate-mov-mp4-iamf-7_1_4-video-first: CMD = stream_demux mp4
$(TARGET_PATH)/tests/data/mov-mp4-iamf-7_1_4-video-first.mp4 \
+ "" "-c:a copy -c:v copy -map 0" \
+ "-show_entries
stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition:stream=index,id"
+
+# Demux the first stream in the IAMF struct
+FATE_MOV_FFMPEG-$(call TRANSCODE, MPEG4, MP4 MOV, WAV_DEMUXER FLAC_DECODER
RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) +=
fate-mov-mp4-iamf-7_1_4-video-first-2
+fate-mov-mp4-iamf-7_1_4-video-first-2:
tests/data/mov-mp4-iamf-7_1_4-video-first.mp4
+fate-mov-mp4-iamf-7_1_4-video-first-2: CMD = stream_demux mp4
$(TARGET_PATH)/tests/data/mov-mp4-iamf-7_1_4-video-first.mp4 \
+ "" "-c:a copy -map 0:g:0:0" \
+
+# Demux the fourth stream in the IAMF struct. See 16ee3d8d99a2
+FATE_MOV_FFMPEG-$(call TRANSCODE, MPEG4, MP4 MOV, WAV_DEMUXER FLAC_DECODER
RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) +=
fate-mov-mp4-iamf-7_1_4-video-first-3
+fate-mov-mp4-iamf-7_1_4-video-first-3:
tests/data/mov-mp4-iamf-7_1_4-video-first.mp4
+fate-mov-mp4-iamf-7_1_4-video-first-3: CMD = stream_demux mp4
$(TARGET_PATH)/tests/data/mov-mp4-iamf-7_1_4-video-first.mp4 \
+ "" "-c:a copy -map 0:g:0:3" \
# Test muxing an IAMF track alongside a video one, with video as the last
track. Also, use stream ids as track ids.
FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4, MP4 MOV, WAV_DEMUXER
FLAC_DECODER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) +=
fate-mov-mp4-iamf-7_1_4-video-last
diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
index 55cadb3d02..50867b4f2b 100644
--- a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
+++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
@@ -1,5 +1,3 @@
-f92a589b00c2ba98b78ae77e6edffa23
*tests/data/fate/mov-mp4-iamf-7_1_4-video-first.mp4
-416657 tests/data/fate/mov-mp4-iamf-7_1_4-video-first.mp4
#extradata 0: 30, 0x47ab0576
#extradata 1: 34, 0xafa70d5e
#extradata 2: 34, 0xafa70d5e
diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-2
b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-2
new file mode 100644
index 0000000000..1f86432730
--- /dev/null
+++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-2
@@ -0,0 +1,16 @@
+#extradata 0: 34, 0xafa70d5e
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0, 0, 0, 4608, 1399, 0x6e89566e
+0, 4608, 4608, 4608, 1442, 0x6c3c5b13
+0, 9216, 9216, 4608, 1380, 0xc497571b
+0, 13824, 13824, 4608, 1383, 0x48e9510f
+0, 18432, 18432, 4608, 1572, 0x9a514719
+0, 23040, 23040, 4608, 1391, 0x74ac5014
+0, 27648, 27648, 4608, 1422, 0x2f9d47c5
+0, 32256, 32256, 4608, 1768, 0x2a044b99
+0, 36864, 36864, 4608, 1534, 0xb0b35a3f
+0, 41472, 41472, 2628, 926, 0xc26a5eae
diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-3
b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-3
new file mode 100644
index 0000000000..88e4d18e4e
--- /dev/null
+++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-3
@@ -0,0 +1,16 @@
+#extradata 0: 34, 0xaf7b0d5c
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: mono
+0, 0, 0, 4608, 1396, 0x0dcb5677
+0, 4608, 4608, 4608, 1439, 0xc46b5ac5
+0, 9216, 9216, 4608, 1377, 0x5b2a55fe
+0, 13824, 13824, 4608, 1380, 0x045550d3
+0, 18432, 18432, 4608, 1568, 0xa2bc45f4
+0, 23040, 23040, 4608, 1388, 0x96c85007
+0, 27648, 27648, 4608, 1419, 0x4d4d466a
+0, 32256, 32256, 4608, 1765, 0xacb84b24
+0, 36864, 36864, 4608, 1531, 0x996458aa
+0, 41472, 41472, 2628, 923, 0xa7225edf
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]