tests/fate/mov: add tests to demux specific streams within a IAMF Track

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2026-02-27 22:53:22 -03:00
parent 5315d12139
commit 40e60a7db0
4 changed files with 59 additions and 10 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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