aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-07-31 22:57:58 -0300
committerJames Almer <jamrial@gmail.com>2024-08-04 12:09:40 -0300
commiteb3cc508d85e8113cbc66fbec09d29e94ec3fd44 (patch)
tree097eeb554497021ad9c0994234c7322400ac9fd3
parent5b87869c09cece1583e74b6f796aa825a4765631 (diff)
downloadffmpeg-eb3cc508d85e8113cbc66fbec09d29e94ec3fd44.tar.gz
fate/mov: add an IAMF+video muxing test
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--tests/fate/mov.mak28
-rw-r--r--tests/ref/fate/mov-mp4-iamf-7_1_4-video-first662
-rw-r--r--tests/ref/fate/mov-mp4-iamf-7_1_4-video-last (renamed from tests/ref/fate/mov-mp4-iamf-7_1_4)95
-rw-r--r--tests/streamgroups/audio_element-7_1_4-26
4 files changed, 769 insertions, 22 deletions
diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index d12980815f..81cc2a23af 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -242,15 +242,31 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter
-streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a 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"
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4
-fate-mov-mp4-iamf-7_1_4: tests/data/asynth-44100-12.wav tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4 tests/data/streamgroups/mix_presentation-7_1_4
-fate-mov-mp4-iamf-7_1_4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
-fate-mov-mp4-iamf-7_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
+# Test muxing an IAMF track alongside a video one, with video as the first track.
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MOV, WAV_DEMUXER 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 \
+ -/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 [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -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)"
+
+# 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 FLAC, MOV, WAV_DEMUXER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-last
+fate-mov-mp4-iamf-7_1_4-video-last: 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 tests/data/streamgroups/mix_presentation-7_1_4
+fate-mov-mp4-iamf-7_1_4-video-last: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
+fate-mov-mp4-iamf-7_1_4-video-last: SRC2 = $(TARGET_PATH)/tests/data/vsynth1.yuv
+fate-mov-mp4-iamf-7_1_4-video-last: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_7_1_4 \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-7_1_4 \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-7_1_4 \
- -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a 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"
+ -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 [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -map 1:v:0 -use_stream_ids_as_track_ids true -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)"
FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-ambisonic_1
fate-mov-mp4-iamf-ambisonic_1: tests/data/asynth-44100-4.wav tests/data/filtergraphs/iamf_ambisonic_1 tests/data/streamgroups/audio_element-ambisonic_1 tests/data/streamgroups/mix_presentation-ambisonic_1
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
new file mode 100644
index 0000000000..d3b37896b2
--- /dev/null
+++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first
@@ -0,0 +1,662 @@
+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
+#extradata 3: 34, 0xaf7b0d5c
+#extradata 4: 34, 0xaf7b0d5c
+#extradata 5: 34, 0xafa70d5e
+#extradata 6: 34, 0xafa70d5e
+#extradata 7: 34, 0xafa70d5e
+#tb 0: 1/12800
+#media_type 0: video
+#codec_id 0: mpeg4
+#dimensions 0: 352x288
+#sar 0: 1/1
+#tb 1: 1/44100
+#media_type 1: audio
+#codec_id 1: flac
+#sample_rate 1: 44100
+#channel_layout_name 1: stereo
+#tb 2: 1/44100
+#media_type 2: audio
+#codec_id 2: flac
+#sample_rate 2: 44100
+#channel_layout_name 2: stereo
+#tb 3: 1/44100
+#media_type 3: audio
+#codec_id 3: flac
+#sample_rate 3: 44100
+#channel_layout_name 3: mono
+#tb 4: 1/44100
+#media_type 4: audio
+#codec_id 4: flac
+#sample_rate 4: 44100
+#channel_layout_name 4: mono
+#tb 5: 1/44100
+#media_type 5: audio
+#codec_id 5: flac
+#sample_rate 5: 44100
+#channel_layout_name 5: stereo
+#tb 6: 1/44100
+#media_type 6: audio
+#codec_id 6: flac
+#sample_rate 6: 44100
+#channel_layout_name 6: stereo
+#tb 7: 1/44100
+#media_type 7: audio
+#codec_id 7: flac
+#sample_rate 7: 44100
+#channel_layout_name 7: stereo
+0, 0, 0, 512, 42002, 0xef0e5124
+1, 0, 0, 4608, 1399, 0x6e89566e
+2, 0, 0, 4608, 1399, 0x6e89566e
+3, 0, 0, 4608, 1396, 0x0dcb5677
+4, 0, 0, 4608, 1396, 0x0dcb5677
+5, 0, 0, 4608, 1399, 0x6e89566e
+6, 0, 0, 4608, 1399, 0x6e89566e
+7, 0, 0, 4608, 1399, 0x6e89566e
+0, 512, 512, 512, 52619, 0xc794e830, F=0x0
+0, 1024, 1024, 512, 51242, 0xf2f6be7f, F=0x0
+1, 4608, 4608, 4608, 1442, 0x6c3c5b13
+2, 4608, 4608, 4608, 1442, 0x6c3c5b13
+3, 4608, 4608, 4608, 1439, 0xc46b5ac5
+4, 4608, 4608, 4608, 1439, 0xc46b5ac5
+5, 4608, 4608, 4608, 1442, 0x6c3c5b13
+6, 4608, 4608, 4608, 1442, 0x6c3c5b13
+7, 4608, 4608, 4608, 1442, 0x6c3c5b13
+0, 1536, 1536, 512, 49320, 0xe87a921f, F=0x0
+0, 2048, 2048, 512, 22461, 0xc858a20b, F=0x0
+0, 2560, 2560, 512, 16731, 0x04beb863, F=0x0
+1, 9216, 9216, 4608, 1380, 0xc497571b
+2, 9216, 9216, 4608, 1380, 0xc497571b
+3, 9216, 9216, 4608, 1377, 0x5b2a55fe
+4, 9216, 9216, 4608, 1377, 0x5b2a55fe
+5, 9216, 9216, 4608, 1380, 0xc497571b
+6, 9216, 9216, 4608, 1380, 0xc497571b
+7, 9216, 9216, 4608, 1380, 0xc497571b
+0, 3072, 3072, 512, 9983, 0x091aa8e8, F=0x0
+0, 3584, 3584, 512, 6991, 0xa0385313, F=0x0
+1, 13824, 13824, 4608, 1383, 0x48e9510f
+2, 13824, 13824, 4608, 1383, 0x48e9510f
+3, 13824, 13824, 4608, 1380, 0x045550d3
+4, 13824, 13824, 4608, 1380, 0x045550d3
+5, 13824, 13824, 4608, 1383, 0x48e9510f
+6, 13824, 13824, 4608, 1383, 0x48e9510f
+7, 13824, 13824, 4608, 1383, 0x48e9510f
+0, 4096, 4096, 512, 5825, 0x3c97cfbc, F=0x0
+0, 4608, 4608, 512, 4331, 0xbaf5f982, F=0x0
+0, 5120, 5120, 512, 2541, 0xe018c3cb, F=0x0
+1, 18432, 18432, 4608, 1572, 0x9a514719
+2, 18432, 18432, 4608, 1572, 0x9a514719
+3, 18432, 18432, 4608, 1568, 0xa2bc45f4
+4, 18432, 18432, 4608, 1568, 0xa2bc45f4
+5, 18432, 18432, 4608, 1572, 0x9a514719
+6, 18432, 18432, 4608, 1572, 0x9a514719
+7, 18432, 18432, 4608, 1572, 0x9a514719
+0, 5632, 5632, 512, 2655, 0xf98af7a1, F=0x0
+0, 6144, 6144, 512, 13464, 0x33e5196f
+0, 6656, 6656, 512, 2587, 0x90e198aa, F=0x0
+1, 23040, 23040, 4608, 1391, 0x74ac5014
+2, 23040, 23040, 4608, 1391, 0x74ac5014
+3, 23040, 23040, 4608, 1388, 0x96c85007
+4, 23040, 23040, 4608, 1388, 0x96c85007
+5, 23040, 23040, 4608, 1391, 0x74ac5014
+6, 23040, 23040, 4608, 1391, 0x74ac5014
+7, 23040, 23040, 4608, 1391, 0x74ac5014
+0, 7168, 7168, 512, 2313, 0x698c429b, F=0x0
+0, 7680, 7680, 512, 2123, 0x63a3f034, F=0x0
+1, 27648, 27648, 4608, 1422, 0x2f9d47c5
+2, 27648, 27648, 4608, 1422, 0x2f9d47c5
+3, 27648, 27648, 4608, 1419, 0x4d4d466a
+4, 27648, 27648, 4608, 1419, 0x4d4d466a
+5, 27648, 27648, 4608, 1422, 0x2f9d47c5
+6, 27648, 27648, 4608, 1422, 0x2f9d47c5
+7, 27648, 27648, 4608, 1422, 0x2f9d47c5
+0, 8192, 8192, 512, 2222, 0x442b233d, F=0x0
+0, 8704, 8704, 512, 2332, 0x24c75b04, F=0x0
+0, 9216, 9216, 512, 2302, 0xa0fa2ee7, F=0x0
+1, 32256, 32256, 4608, 1768, 0x2a044b99
+2, 32256, 32256, 4608, 1768, 0x2a044b99
+3, 32256, 32256, 4608, 1765, 0xacb84b24
+4, 32256, 32256, 4608, 1765, 0xacb84b24
+5, 32256, 32256, 4608, 1768, 0x2a044b99
+6, 32256, 32256, 4608, 1768, 0x2a044b99
+7, 32256, 32256, 4608, 1768, 0x2a044b99
+0, 9728, 9728, 512, 1740, 0xdf772eb3, F=0x0
+0, 10240, 10240, 512, 1994, 0x8830ad23, F=0x0
+1, 36864, 36864, 4608, 1534, 0xb0b35a3f
+2, 36864, 36864, 4608, 1534, 0xb0b35a3f
+3, 36864, 36864, 4608, 1531, 0x996458aa
+4, 36864, 36864, 4608, 1531, 0x996458aa
+5, 36864, 36864, 4608, 1534, 0xb0b35a3f
+6, 36864, 36864, 4608, 1534, 0xb0b35a3f
+7, 36864, 36864, 4608, 1534, 0xb0b35a3f
+0, 10752, 10752, 512, 1884, 0x2c567db6, F=0x0
+0, 11264, 11264, 512, 1880, 0x72237c52, F=0x0
+0, 11776, 11776, 512, 1970, 0x60708ff8, F=0x0
+1, 41472, 41472, 2628, 926, 0xc26a5eae
+2, 41472, 41472, 2628, 926, 0xc26a5eae
+3, 41472, 41472, 2628, 923, 0xa7225edf
+4, 41472, 41472, 2628, 923, 0xa7225edf
+5, 41472, 41472, 2628, 926, 0xc26a5eae
+6, 41472, 41472, 2628, 926, 0xc26a5eae
+7, 41472, 41472, 2628, 926, 0xc26a5eae
+0, 12288, 12288, 512, 11659, 0x6bcb830e
+[STREAM_GROUP]
+index=0
+id=0x1
+nb_streams=7
+type=IAMF Audio Element
+[COMPONENT]
+nb_layers=4
+audio_element_type=0
+default_w=10
+[SUBCOMPONENT]
+channel_layout=stereo
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=3.1.2
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=7.1.2
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=7.1.4
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+name=demixing_info
+nb_subblocks=1
+type=1
+parameter_id=998
+parameter_rate=44100
+duration=4608
+constant_subblock_duration=4608
+[PIECE]
+subblock_duration=4608
+dmixp_mode=1
+[/PIECE]
+[/SUBCOMPONENT]
+[/COMPONENT]
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+TAG:language=und
+TAG:handler_name=SoundHandler
+TAG:vendor_id=[0][0][0][0]
+[STREAM]
+index=1
+id=0x2
+DISPOSITION:default=1
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=2
+id=0x3
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=3
+id=0x4
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=4
+id=0x5
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=5
+id=0x6
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=6
+id=0x7
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=7
+id=0x8
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[/STREAM_GROUP]
+[STREAM_GROUP]
+index=1
+id=0x2
+nb_streams=7
+type=IAMF Mix Presentation
+[COMPONENT]
+nb_submixes=1
+[SUBCOMPONENT]
+en-us=Mix_Presentation
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+nb_elements=1
+nb_layouts=4
+default_mix_gain=256/256
+[PIECE]
+stream_id=1
+default_mix_gain=0/256
+headphones_rendering_mode=0
+[SUBPIECE]
+en-us=Scalable_Submix
+[/SUBPIECE]
+[SUBPIECE]
+name=element_mix_config
+nb_subblocks=0
+type=0
+parameter_id=100
+parameter_rate=48000
+duration=0
+constant_subblock_duration=0
+[/SUBPIECE]
+[/PIECE]
+[PIECE]
+name=output_mix_config
+nb_subblocks=0
+type=0
+parameter_id=100
+parameter_rate=48000
+duration=0
+constant_subblock_duration=0
+[/PIECE]
+[PIECE]
+sound_system=stereo
+integrated_loudness=256/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=3.1.2
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=7.1.2
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=7.1.4
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[/SUBCOMPONENT]
+[/COMPONENT]
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+TAG:language=und
+TAG:handler_name=SoundHandler
+TAG:vendor_id=[0][0][0][0]
+[STREAM]
+index=1
+id=0x2
+DISPOSITION:default=1
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=2
+id=0x3
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=3
+id=0x4
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=4
+id=0x5
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=5
+id=0x6
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=6
+id=0x7
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=7
+id=0x8
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[/STREAM_GROUP]
+[STREAM]
+index=0
+id=0x1
+[/STREAM]
+[STREAM]
+index=1
+id=0x2
+[/STREAM]
+[STREAM]
+index=2
+id=0x3
+[/STREAM]
+[STREAM]
+index=3
+id=0x4
+[/STREAM]
+[STREAM]
+index=4
+id=0x5
+[/STREAM]
+[STREAM]
+index=5
+id=0x6
+[/STREAM]
+[STREAM]
+index=6
+id=0x7
+[/STREAM]
+[STREAM]
+index=7
+id=0x8
+[/STREAM]
diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4 b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last
index 51494222fc..35e8b9b0ab 100644
--- a/tests/ref/fate/mov-mp4-iamf-7_1_4
+++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last
@@ -1,5 +1,5 @@
-d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
-100588 tests/data/fate/mov-mp4-iamf-7_1_4.mp4
+d398cd7938efbe3dc570b407fe543a31 *tests/data/fate/mov-mp4-iamf-7_1_4-video-last.mp4
+416629 tests/data/fate/mov-mp4-iamf-7_1_4-video-last.mp4
#extradata 0: 34, 0xafa70d5e
#extradata 1: 34, 0xafa70d5e
#extradata 2: 34, 0xaf7b0d5c
@@ -7,6 +7,7 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
#extradata 4: 34, 0xafa70d5e
#extradata 5: 34, 0xafa70d5e
#extradata 6: 34, 0xafa70d5e
+#extradata 7: 30, 0x47ab0576
#tb 0: 1/44100
#media_type 0: audio
#codec_id 0: flac
@@ -42,6 +43,11 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
#codec_id 6: flac
#sample_rate 6: 44100
#channel_layout_name 6: stereo
+#tb 7: 1/12800
+#media_type 7: video
+#codec_id 7: mpeg4
+#dimensions 7: 352x288
+#sar 7: 1/1
0, 0, 0, 4608, 1399, 0x6e89566e
1, 0, 0, 4608, 1399, 0x6e89566e
2, 0, 0, 4608, 1396, 0x0dcb5677
@@ -49,6 +55,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 0, 0, 4608, 1399, 0x6e89566e
5, 0, 0, 4608, 1399, 0x6e89566e
6, 0, 0, 4608, 1399, 0x6e89566e
+7, 0, 0, 512, 42002, 0xef0e5124
+7, 512, 512, 512, 52619, 0xc794e830, F=0x0
+7, 1024, 1024, 512, 51242, 0xf2f6be7f, F=0x0
0, 4608, 4608, 4608, 1442, 0x6c3c5b13
1, 4608, 4608, 4608, 1442, 0x6c3c5b13
2, 4608, 4608, 4608, 1439, 0xc46b5ac5
@@ -56,6 +65,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 4608, 4608, 4608, 1442, 0x6c3c5b13
5, 4608, 4608, 4608, 1442, 0x6c3c5b13
6, 4608, 4608, 4608, 1442, 0x6c3c5b13
+7, 1536, 1536, 512, 49320, 0xe87a921f, F=0x0
+7, 2048, 2048, 512, 22461, 0xc858a20b, F=0x0
+7, 2560, 2560, 512, 16731, 0x04beb863, F=0x0
0, 9216, 9216, 4608, 1380, 0xc497571b
1, 9216, 9216, 4608, 1380, 0xc497571b
2, 9216, 9216, 4608, 1377, 0x5b2a55fe
@@ -63,6 +75,8 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 9216, 9216, 4608, 1380, 0xc497571b
5, 9216, 9216, 4608, 1380, 0xc497571b
6, 9216, 9216, 4608, 1380, 0xc497571b
+7, 3072, 3072, 512, 9983, 0x091aa8e8, F=0x0
+7, 3584, 3584, 512, 6991, 0xa0385313, F=0x0
0, 13824, 13824, 4608, 1383, 0x48e9510f
1, 13824, 13824, 4608, 1383, 0x48e9510f
2, 13824, 13824, 4608, 1380, 0x045550d3
@@ -70,6 +84,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 13824, 13824, 4608, 1383, 0x48e9510f
5, 13824, 13824, 4608, 1383, 0x48e9510f
6, 13824, 13824, 4608, 1383, 0x48e9510f
+7, 4096, 4096, 512, 5825, 0x3c97cfbc, F=0x0
+7, 4608, 4608, 512, 4331, 0xbaf5f982, F=0x0
+7, 5120, 5120, 512, 2541, 0xe018c3cb, F=0x0
0, 18432, 18432, 4608, 1572, 0x9a514719
1, 18432, 18432, 4608, 1572, 0x9a514719
2, 18432, 18432, 4608, 1568, 0xa2bc45f4
@@ -77,6 +94,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 18432, 18432, 4608, 1572, 0x9a514719
5, 18432, 18432, 4608, 1572, 0x9a514719
6, 18432, 18432, 4608, 1572, 0x9a514719
+7, 5632, 5632, 512, 2655, 0xf98af7a1, F=0x0
+7, 6144, 6144, 512, 13464, 0x33e5196f
+7, 6656, 6656, 512, 2587, 0x90e198aa, F=0x0
0, 23040, 23040, 4608, 1391, 0x74ac5014
1, 23040, 23040, 4608, 1391, 0x74ac5014
2, 23040, 23040, 4608, 1388, 0x96c85007
@@ -84,6 +104,8 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 23040, 23040, 4608, 1391, 0x74ac5014
5, 23040, 23040, 4608, 1391, 0x74ac5014
6, 23040, 23040, 4608, 1391, 0x74ac5014
+7, 7168, 7168, 512, 2313, 0x698c429b, F=0x0
+7, 7680, 7680, 512, 2123, 0x63a3f034, F=0x0
0, 27648, 27648, 4608, 1422, 0x2f9d47c5
1, 27648, 27648, 4608, 1422, 0x2f9d47c5
2, 27648, 27648, 4608, 1419, 0x4d4d466a
@@ -91,6 +113,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 27648, 27648, 4608, 1422, 0x2f9d47c5
5, 27648, 27648, 4608, 1422, 0x2f9d47c5
6, 27648, 27648, 4608, 1422, 0x2f9d47c5
+7, 8192, 8192, 512, 2222, 0x442b233d, F=0x0
+7, 8704, 8704, 512, 2332, 0x24c75b04, F=0x0
+7, 9216, 9216, 512, 2302, 0xa0fa2ee7, F=0x0
0, 32256, 32256, 4608, 1768, 0x2a044b99
1, 32256, 32256, 4608, 1768, 0x2a044b99
2, 32256, 32256, 4608, 1765, 0xacb84b24
@@ -98,6 +123,8 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 32256, 32256, 4608, 1768, 0x2a044b99
5, 32256, 32256, 4608, 1768, 0x2a044b99
6, 32256, 32256, 4608, 1768, 0x2a044b99
+7, 9728, 9728, 512, 1740, 0xdf772eb3, F=0x0
+7, 10240, 10240, 512, 1994, 0x8830ad23, F=0x0
0, 36864, 36864, 4608, 1534, 0xb0b35a3f
1, 36864, 36864, 4608, 1534, 0xb0b35a3f
2, 36864, 36864, 4608, 1531, 0x996458aa
@@ -105,6 +132,9 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 36864, 36864, 4608, 1534, 0xb0b35a3f
5, 36864, 36864, 4608, 1534, 0xb0b35a3f
6, 36864, 36864, 4608, 1534, 0xb0b35a3f
+7, 10752, 10752, 512, 1884, 0x2c567db6, F=0x0
+7, 11264, 11264, 512, 1880, 0x72237c52, F=0x0
+7, 11776, 11776, 512, 1970, 0x60708ff8, F=0x0
0, 41472, 41472, 2628, 926, 0xc26a5eae
1, 41472, 41472, 2628, 926, 0xc26a5eae
2, 41472, 41472, 2628, 923, 0xa7225edf
@@ -112,6 +142,7 @@ d9ef5d14bbd37c5a06c1494cacdb8f29 *tests/data/fate/mov-mp4-iamf-7_1_4.mp4
4, 41472, 41472, 2628, 926, 0xc26a5eae
5, 41472, 41472, 2628, 926, 0xc26a5eae
6, 41472, 41472, 2628, 926, 0xc26a5eae
+7, 12288, 12288, 512, 11659, 0x6bcb830e
[STREAM_GROUP]
index=0
id=0x1
@@ -179,7 +210,7 @@ TAG:handler_name=SoundHandler
TAG:vendor_id=[0][0][0][0]
[STREAM]
index=0
-id=0x0
+id=0x1
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -202,7 +233,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=1
-id=0x1
+id=0x2
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -225,7 +256,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=2
-id=0x2
+id=0x3
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -248,7 +279,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=3
-id=0x3
+id=0x4
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -271,7 +302,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=4
-id=0x4
+id=0x5
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -294,7 +325,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=5
-id=0x5
+id=0x6
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -317,7 +348,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=6
-id=0x6
+id=0x7
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -437,7 +468,7 @@ TAG:handler_name=SoundHandler
TAG:vendor_id=[0][0][0][0]
[STREAM]
index=0
-id=0x0
+id=0x1
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -460,7 +491,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=1
-id=0x1
+id=0x2
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -483,7 +514,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=2
-id=0x2
+id=0x3
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -506,7 +537,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=3
-id=0x3
+id=0x4
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -529,7 +560,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=4
-id=0x4
+id=0x5
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -552,7 +583,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=5
-id=0x5
+id=0x6
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -575,7 +606,7 @@ DISPOSITION:multilayer=0
[/STREAM]
[STREAM]
index=6
-id=0x6
+id=0x7
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
@@ -597,3 +628,35 @@ DISPOSITION:still_image=0
DISPOSITION:multilayer=0
[/STREAM]
[/STREAM_GROUP]
+[STREAM]
+index=0
+id=0x1
+[/STREAM]
+[STREAM]
+index=1
+id=0x2
+[/STREAM]
+[STREAM]
+index=2
+id=0x3
+[/STREAM]
+[STREAM]
+index=3
+id=0x4
+[/STREAM]
+[STREAM]
+index=4
+id=0x5
+[/STREAM]
+[STREAM]
+index=5
+id=0x6
+[/STREAM]
+[STREAM]
+index=6
+id=0x7
+[/STREAM]
+[STREAM]
+index=7
+id=0x8
+[/STREAM]
diff --git a/tests/streamgroups/audio_element-7_1_4-2 b/tests/streamgroups/audio_element-7_1_4-2
new file mode 100644
index 0000000000..324ab5562d
--- /dev/null
+++ b/tests/streamgroups/audio_element-7_1_4-2
@@ -0,0 +1,6 @@
+type=iamf_audio_element:id=1:st=1:st=2:st=3:st=4:st=5:st=6:st=7:default_w=10,
+demixing=dmixp_mode=1:parameter_id=998,recon_gain=parameter_id=101,
+layer=ch_layout=stereo,
+layer=ch_layout=3.1.2,
+layer=ch_layout=7.1.2,
+layer=ch_layout=7.1.4,