PR #22324 opened by James Almer (jamrial)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22324
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22324.patch

Testing the fixed behavior from 16ee3d8d99a2


>From 6a79c8303c07b0c73a2c5c8c0b75f5a9384fe420 Mon Sep 17 00:00:00 2001
From: James Almer <[email protected]>
Date: Fri, 27 Feb 2026 22:53:22 -0300
Subject: [PATCH] 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 --
 .../ref/fate/mov-mp4-iamf-7_1_4-video-first-2 | 16 +++++++++
 .../ref/fate/mov-mp4-iamf-7_1_4-video-first-3 | 16 +++++++++
 4 files changed, 59 insertions(+), 10 deletions(-)
 create mode 100644 tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-2
 create mode 100644 tests/ref/fate/mov-mp4-iamf-7_1_4-video-first-3

diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index c227a46d78..457e25a810 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -293,17 +293,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
-- 
2.52.0

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

Reply via email to