summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-01-07 18:31:00 -0300
committerJames Almer <jamrial@gmail.com>2024-01-22 10:58:12 -0300
commit0f4a72b22b18a1afbccaa89fc33ed31659329213 (patch)
treea2b37477c0413329fbcd35d30a49b5d5dd2d579e
parent04a37e238f7cdb232244ce6b2c7a40afe1087792 (diff)
fate: add raw IAMF tests
Covers muxing from raw pcm audio input into FLAC, using several scalable layouts, and demuxing the result. Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--tests/Makefile7
-rw-r--r--tests/fate/iamf.mak31
-rw-r--r--tests/filtergraphs/iamf_5_14
-rw-r--r--tests/filtergraphs/iamf_5_1_25
-rw-r--r--tests/filtergraphs/iamf_5_1_46
-rw-r--r--tests/filtergraphs/iamf_7_1_47
-rw-r--r--tests/ref/fate/iamf-5_1_498
-rw-r--r--tests/ref/fate/iamf-7_1_4114
-rw-r--r--tests/ref/fate/iamf-stereo18
-rw-r--r--tests/streamgroups/audio_element-5_1_47
-rw-r--r--tests/streamgroups/audio_element-7_1_46
-rw-r--r--tests/streamgroups/audio_element-stereo3
-rw-r--r--tests/streamgroups/mix_presentation-5_1_42
-rw-r--r--tests/streamgroups/mix_presentation-7_1_42
-rw-r--r--tests/streamgroups/mix_presentation-stereo3
15 files changed, 312 insertions, 1 deletions
diff --git a/tests/Makefile b/tests/Makefile
index e89ce7f8e6..e76163acf3 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -23,7 +23,7 @@ FFMPEG=ffmpeg$(PROGSSUF)$(EXESUF)
$(AREF): CMP=
APITESTSDIR := tests/api
-FATE_OUTDIRS = tests/data tests/data/fate tests/data/filtergraphs tests/data/maps tests/data/lavf tests/data/lavf-fate tests/data/pixfmt tests/vsynth1 $(APITESTSDIR)
+FATE_OUTDIRS = tests/data tests/data/fate tests/data/filtergraphs tests/data/maps tests/data/streamgroups tests/data/lavf tests/data/lavf-fate tests/data/pixfmt tests/vsynth1 $(APITESTSDIR)
OUTDIRS += $(FATE_OUTDIRS)
$(VREF): tests/videogen$(HOSTEXESUF) | tests/vsynth1
@@ -70,6 +70,10 @@ tests/data/maps/%: TAG = COPY
tests/data/maps/%: $(SRC_PATH)/tests/maps/% | tests/data/maps
$(M)cp $< $@
+tests/data/streamgroups/%: TAG = COPY
+tests/data/streamgroups/%: $(SRC_PATH)/tests/streamgroups/% | tests/data/streamgroups
+ $(M)cp $< $@
+
RUNNING_FATE := $(filter check fate%,$(filter-out fate-rsync,$(MAKECMDGOALS)))
# Check sanity of dependencies when running FATE tests.
@@ -199,6 +203,7 @@ include $(SRC_PATH)/tests/fate/hap.mak
include $(SRC_PATH)/tests/fate/hevc.mak
include $(SRC_PATH)/tests/fate/hlsenc.mak
include $(SRC_PATH)/tests/fate/hw.mak
+include $(SRC_PATH)/tests/fate/iamf.mak
include $(SRC_PATH)/tests/fate/id3v2.mak
include $(SRC_PATH)/tests/fate/image.mak
include $(SRC_PATH)/tests/fate/imf.mak
diff --git a/tests/fate/iamf.mak b/tests/fate/iamf.mak
new file mode 100644
index 0000000000..dabe3859c4
--- /dev/null
+++ b/tests/fate/iamf.mak
@@ -0,0 +1,31 @@
+FATE_IAMF += fate-iamf-stereo
+fate-iamf-stereo: tests/data/asynth-44100-2.wav tests/data/streamgroups/audio_element-stereo tests/data/streamgroups/mix_presentation-stereo
+fate-iamf-stereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-iamf-stereo: CMD = transcode wav $(SRC) iamf " \
+ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-stereo \
+ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-stereo \
+ -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0"
+
+FATE_IAMF += fate-iamf-5_1_4
+fate-iamf-5_1_4: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4
+fate-iamf-5_1_4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-10.wav
+fate-iamf-5_1_4: CMD = transcode wav $(SRC) iamf "-auto_conversion_filters \
+ -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_5_1_4 \
+ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-5_1_4 \
+ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-5_1_4 \
+ -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"
+
+FATE_IAMF += fate-iamf-7_1_4
+fate-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-iamf-7_1_4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
+fate-iamf-7_1_4: CMD = transcode wav $(SRC) iamf "-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"
+
+FATE_IAMF-$(call TRANSCODE, FLAC, IAMF, WAV_DEMUXER PCM_S16LE_DECODER) += $(FATE_IAMF)
+
+FATE_FFMPEG += $(FATE_IAMF-yes)
+
+fate-iamf: $(FATE_IAMF-yes)
diff --git a/tests/filtergraphs/iamf_5_1 b/tests/filtergraphs/iamf_5_1
new file mode 100644
index 0000000000..b1eedda4a0
--- /dev/null
+++ b/tests/filtergraphs/iamf_5_1
@@ -0,0 +1,4 @@
+[0:a]channelmap=0|1:stereo[FRONT];
+[0:a]channelmap=4|5:stereo[BACK];
+[0:a]channelmap=2:mono[CENTER];
+[0:a]channelmap=3:mono[LFE];
diff --git a/tests/filtergraphs/iamf_5_1_2 b/tests/filtergraphs/iamf_5_1_2
new file mode 100644
index 0000000000..c18510f4b4
--- /dev/null
+++ b/tests/filtergraphs/iamf_5_1_2
@@ -0,0 +1,5 @@
+[0:a]channelmap=0|1:stereo[FRONT];
+[0:a]channelmap=4|5:stereo[BACK];
+[0:a]channelmap=2:mono[CENTER];
+[0:a]channelmap=3:mono[LFE];
+[0:a]channelmap=6|7:stereo[TOP_FRONT];
diff --git a/tests/filtergraphs/iamf_5_1_4 b/tests/filtergraphs/iamf_5_1_4
new file mode 100644
index 0000000000..80dcc1f580
--- /dev/null
+++ b/tests/filtergraphs/iamf_5_1_4
@@ -0,0 +1,6 @@
+[0:a]channelmap=0|1:stereo[FRONT];
+[0:a]channelmap=4|5:stereo[BACK];
+[0:a]channelmap=2:mono[CENTER];
+[0:a]channelmap=3:mono[LFE];
+[0:a]channelmap=6|7:stereo[TOP_FRONT];
+[0:a]channelmap=8|9:stereo[TOP_BACK];
diff --git a/tests/filtergraphs/iamf_7_1_4 b/tests/filtergraphs/iamf_7_1_4
new file mode 100644
index 0000000000..4a2c5a834c
--- /dev/null
+++ b/tests/filtergraphs/iamf_7_1_4
@@ -0,0 +1,7 @@
+[0:a]channelmap=0|1:stereo[FRONT];
+[0:a]channelmap=4|5:stereo[BACK];
+[0:a]channelmap=2:mono[CENTER];
+[0:a]channelmap=3:mono[LFE];
+[0:a]channelmap=6|7:stereo[SIDE];
+[0:a]channelmap=8|9:stereo[TOP_FRONT];
+[0:a]channelmap=10|11:stereo[TOP_BACK];
diff --git a/tests/ref/fate/iamf-5_1_4 b/tests/ref/fate/iamf-5_1_4
new file mode 100644
index 0000000000..e6eb356ff0
--- /dev/null
+++ b/tests/ref/fate/iamf-5_1_4
@@ -0,0 +1,98 @@
+c447cbbc8943cfb751fdf1145a094250 *tests/data/fate/iamf-5_1_4.iamf
+85603 tests/data/fate/iamf-5_1_4.iamf
+#extradata 0: 34, 0x40a802c6
+#extradata 1: 34, 0x40a802c6
+#extradata 2: 34, 0x407c02c4
+#extradata 3: 34, 0x407c02c4
+#extradata 4: 34, 0x40a802c6
+#extradata 5: 34, 0x40a802c6
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+#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: mono
+#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: stereo
+#tb 5: 1/44100
+#media_type 5: audio
+#codec_id 5: flac
+#sample_rate 5: 44100
+#channel_layout_name 5: stereo
+0, 0, 0, 4608, 1399, 0x6e89566e
+1, 0, 0, 4608, 1399, 0x6e89566e
+2, 0, 0, 4608, 1396, 0x0dcb5677
+3, 0, 0, 4608, 1396, 0x0dcb5677
+4, 0, 0, 4608, 1399, 0x6e89566e
+5, 0, 0, 4608, 1399, 0x6e89566e
+0, 4608, 4608, 4608, 1442, 0x6c3c5b13
+1, 4608, 4608, 4608, 1442, 0x6c3c5b13
+2, 4608, 4608, 4608, 1439, 0xc46b5ac5
+3, 4608, 4608, 4608, 1439, 0xc46b5ac5
+4, 4608, 4608, 4608, 1442, 0x6c3c5b13
+5, 4608, 4608, 4608, 1442, 0x6c3c5b13
+0, 9216, 9216, 4608, 1380, 0xc497571b
+1, 9216, 9216, 4608, 1380, 0xc497571b
+2, 9216, 9216, 4608, 1377, 0x5b2a55fe
+3, 9216, 9216, 4608, 1377, 0x5b2a55fe
+4, 9216, 9216, 4608, 1380, 0xc497571b
+5, 9216, 9216, 4608, 1380, 0xc497571b
+0, 13824, 13824, 4608, 1383, 0x48e9510f
+1, 13824, 13824, 4608, 1383, 0x48e9510f
+2, 13824, 13824, 4608, 1380, 0x045550d3
+3, 13824, 13824, 4608, 1380, 0x045550d3
+4, 13824, 13824, 4608, 1383, 0x48e9510f
+5, 13824, 13824, 4608, 1383, 0x48e9510f
+0, 18432, 18432, 4608, 1572, 0x9a514719
+1, 18432, 18432, 4608, 1572, 0x9a514719
+2, 18432, 18432, 4608, 1568, 0xa2bc45f4
+3, 18432, 18432, 4608, 1568, 0xa2bc45f4
+4, 18432, 18432, 4608, 1572, 0x9a514719
+5, 18432, 18432, 4608, 1572, 0x9a514719
+0, 23040, 23040, 4608, 1391, 0x74ac5014
+1, 23040, 23040, 4608, 1391, 0x74ac5014
+2, 23040, 23040, 4608, 1388, 0x96c85007
+3, 23040, 23040, 4608, 1388, 0x96c85007
+4, 23040, 23040, 4608, 1391, 0x74ac5014
+5, 23040, 23040, 4608, 1391, 0x74ac5014
+0, 27648, 27648, 4608, 1422, 0x2f9d47c5
+1, 27648, 27648, 4608, 1422, 0x2f9d47c5
+2, 27648, 27648, 4608, 1419, 0x4d4d466a
+3, 27648, 27648, 4608, 1419, 0x4d4d466a
+4, 27648, 27648, 4608, 1422, 0x2f9d47c5
+5, 27648, 27648, 4608, 1422, 0x2f9d47c5
+0, 32256, 32256, 4608, 1768, 0x2a044b99
+1, 32256, 32256, 4608, 1768, 0x2a044b99
+2, 32256, 32256, 4608, 1765, 0xacb84b24
+3, 32256, 32256, 4608, 1765, 0xacb84b24
+4, 32256, 32256, 4608, 1768, 0x2a044b99
+5, 32256, 32256, 4608, 1768, 0x2a044b99
+0, 36864, 36864, 4608, 1534, 0xb0b35a3f
+1, 36864, 36864, 4608, 1534, 0xb0b35a3f
+2, 36864, 36864, 4608, 1531, 0x996458aa
+3, 36864, 36864, 4608, 1531, 0x996458aa
+4, 36864, 36864, 4608, 1534, 0xb0b35a3f
+5, 36864, 36864, 4608, 1534, 0xb0b35a3f
+0, 41472, 41472, 4608, 926, 0xc26a5eae
+1, 41472, 41472, 4608, 926, 0xc26a5eae
+2, 41472, 41472, 4608, 923, 0xa7225edf
+3, 41472, 41472, 4608, 923, 0xa7225edf
+4, 41472, 41472, 4608, 926, 0xc26a5eae
+5, 41472, 41472, 4608, 926, 0xc26a5eae
diff --git a/tests/ref/fate/iamf-7_1_4 b/tests/ref/fate/iamf-7_1_4
new file mode 100644
index 0000000000..c176f4a1cd
--- /dev/null
+++ b/tests/ref/fate/iamf-7_1_4
@@ -0,0 +1,114 @@
+157c3185684e12cc8385ee7c3ef2fb4c *tests/data/fate/iamf-7_1_4.iamf
+99851 tests/data/fate/iamf-7_1_4.iamf
+#extradata 0: 34, 0x40a802c6
+#extradata 1: 34, 0x40a802c6
+#extradata 2: 34, 0x407c02c4
+#extradata 3: 34, 0x407c02c4
+#extradata 4: 34, 0x40a802c6
+#extradata 5: 34, 0x40a802c6
+#extradata 6: 34, 0x40a802c6
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+#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: mono
+#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: stereo
+#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
+0, 0, 0, 4608, 1399, 0x6e89566e
+1, 0, 0, 4608, 1399, 0x6e89566e
+2, 0, 0, 4608, 1396, 0x0dcb5677
+3, 0, 0, 4608, 1396, 0x0dcb5677
+4, 0, 0, 4608, 1399, 0x6e89566e
+5, 0, 0, 4608, 1399, 0x6e89566e
+6, 0, 0, 4608, 1399, 0x6e89566e
+0, 4608, 4608, 4608, 1442, 0x6c3c5b13
+1, 4608, 4608, 4608, 1442, 0x6c3c5b13
+2, 4608, 4608, 4608, 1439, 0xc46b5ac5
+3, 4608, 4608, 4608, 1439, 0xc46b5ac5
+4, 4608, 4608, 4608, 1442, 0x6c3c5b13
+5, 4608, 4608, 4608, 1442, 0x6c3c5b13
+6, 4608, 4608, 4608, 1442, 0x6c3c5b13
+0, 9216, 9216, 4608, 1380, 0xc497571b
+1, 9216, 9216, 4608, 1380, 0xc497571b
+2, 9216, 9216, 4608, 1377, 0x5b2a55fe
+3, 9216, 9216, 4608, 1377, 0x5b2a55fe
+4, 9216, 9216, 4608, 1380, 0xc497571b
+5, 9216, 9216, 4608, 1380, 0xc497571b
+6, 9216, 9216, 4608, 1380, 0xc497571b
+0, 13824, 13824, 4608, 1383, 0x48e9510f
+1, 13824, 13824, 4608, 1383, 0x48e9510f
+2, 13824, 13824, 4608, 1380, 0x045550d3
+3, 13824, 13824, 4608, 1380, 0x045550d3
+4, 13824, 13824, 4608, 1383, 0x48e9510f
+5, 13824, 13824, 4608, 1383, 0x48e9510f
+6, 13824, 13824, 4608, 1383, 0x48e9510f
+0, 18432, 18432, 4608, 1572, 0x9a514719
+1, 18432, 18432, 4608, 1572, 0x9a514719
+2, 18432, 18432, 4608, 1568, 0xa2bc45f4
+3, 18432, 18432, 4608, 1568, 0xa2bc45f4
+4, 18432, 18432, 4608, 1572, 0x9a514719
+5, 18432, 18432, 4608, 1572, 0x9a514719
+6, 18432, 18432, 4608, 1572, 0x9a514719
+0, 23040, 23040, 4608, 1391, 0x74ac5014
+1, 23040, 23040, 4608, 1391, 0x74ac5014
+2, 23040, 23040, 4608, 1388, 0x96c85007
+3, 23040, 23040, 4608, 1388, 0x96c85007
+4, 23040, 23040, 4608, 1391, 0x74ac5014
+5, 23040, 23040, 4608, 1391, 0x74ac5014
+6, 23040, 23040, 4608, 1391, 0x74ac5014
+0, 27648, 27648, 4608, 1422, 0x2f9d47c5
+1, 27648, 27648, 4608, 1422, 0x2f9d47c5
+2, 27648, 27648, 4608, 1419, 0x4d4d466a
+3, 27648, 27648, 4608, 1419, 0x4d4d466a
+4, 27648, 27648, 4608, 1422, 0x2f9d47c5
+5, 27648, 27648, 4608, 1422, 0x2f9d47c5
+6, 27648, 27648, 4608, 1422, 0x2f9d47c5
+0, 32256, 32256, 4608, 1768, 0x2a044b99
+1, 32256, 32256, 4608, 1768, 0x2a044b99
+2, 32256, 32256, 4608, 1765, 0xacb84b24
+3, 32256, 32256, 4608, 1765, 0xacb84b24
+4, 32256, 32256, 4608, 1768, 0x2a044b99
+5, 32256, 32256, 4608, 1768, 0x2a044b99
+6, 32256, 32256, 4608, 1768, 0x2a044b99
+0, 36864, 36864, 4608, 1534, 0xb0b35a3f
+1, 36864, 36864, 4608, 1534, 0xb0b35a3f
+2, 36864, 36864, 4608, 1531, 0x996458aa
+3, 36864, 36864, 4608, 1531, 0x996458aa
+4, 36864, 36864, 4608, 1534, 0xb0b35a3f
+5, 36864, 36864, 4608, 1534, 0xb0b35a3f
+6, 36864, 36864, 4608, 1534, 0xb0b35a3f
+0, 41472, 41472, 4608, 926, 0xc26a5eae
+1, 41472, 41472, 4608, 926, 0xc26a5eae
+2, 41472, 41472, 4608, 923, 0xa7225edf
+3, 41472, 41472, 4608, 923, 0xa7225edf
+4, 41472, 41472, 4608, 926, 0xc26a5eae
+5, 41472, 41472, 4608, 926, 0xc26a5eae
+6, 41472, 41472, 4608, 926, 0xc26a5eae
diff --git a/tests/ref/fate/iamf-stereo b/tests/ref/fate/iamf-stereo
new file mode 100644
index 0000000000..65d6b506d4
--- /dev/null
+++ b/tests/ref/fate/iamf-stereo
@@ -0,0 +1,18 @@
+ace731a4fbc302e24498d6b64daa16e7 *tests/data/fate/iamf-stereo.iamf
+14426 tests/data/fate/iamf-stereo.iamf
+#extradata 0: 34, 0x40a802c6
+#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, 4608, 926, 0xc26a5eae
diff --git a/tests/streamgroups/audio_element-5_1_4 b/tests/streamgroups/audio_element-5_1_4
new file mode 100644
index 0000000000..f537d1dc5d
--- /dev/null
+++ b/tests/streamgroups/audio_element-5_1_4
@@ -0,0 +1,7 @@
+type=iamf_audio_element:id=1:st=0:st=1:st=2:st=3:st=4:st=5:default_w=10,
+demixing=dmixp_mode=1:parameter_id=998,
+recon_gain=parameter_id=101,
+layer=ch_layout=stereo,
+layer=ch_layout=5.1,
+layer=ch_layout=5.1.2,
+layer=ch_layout=5.1.4,
diff --git a/tests/streamgroups/audio_element-7_1_4 b/tests/streamgroups/audio_element-7_1_4
new file mode 100644
index 0000000000..67acd1ebfc
--- /dev/null
+++ b/tests/streamgroups/audio_element-7_1_4
@@ -0,0 +1,6 @@
+type=iamf_audio_element:id=1:st=0:st=1:st=2:st=3:st=4:st=5:st=6: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,
diff --git a/tests/streamgroups/audio_element-stereo b/tests/streamgroups/audio_element-stereo
new file mode 100644
index 0000000000..b10d73adc5
--- /dev/null
+++ b/tests/streamgroups/audio_element-stereo
@@ -0,0 +1,3 @@
+type=iamf_audio_element:id=1:st=0:default_w=10,demixing=dmixp_mode=1:parameter_id=998,
+recon_gain=parameter_id=101,
+layer=ch_layout=stereo,
diff --git a/tests/streamgroups/mix_presentation-5_1_4 b/tests/streamgroups/mix_presentation-5_1_4
new file mode 100644
index 0000000000..36fcd20124
--- /dev/null
+++ b/tests/streamgroups/mix_presentation-5_1_4
@@ -0,0 +1,2 @@
+type=iamf_mix_presentation:id=2:stg=0:annotations=en-us=Mix_Presentation,
+submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix|layout=sound_system=stereo:integrated_loudness=1.0|layout=sound_system=5.1|layout=sound_system=5.1.2|layout=sound_system=5.1.4,
diff --git a/tests/streamgroups/mix_presentation-7_1_4 b/tests/streamgroups/mix_presentation-7_1_4
new file mode 100644
index 0000000000..eee67b28e8
--- /dev/null
+++ b/tests/streamgroups/mix_presentation-7_1_4
@@ -0,0 +1,2 @@
+type=iamf_mix_presentation:id=2:stg=0:annotations=en-us=Mix_Presentation,
+submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix|layout=sound_system=stereo:integrated_loudness=1.0|layout=sound_system=3.1.2|layout=sound_system=7.1.2|layout=sound_system=7.1.4,
diff --git a/tests/streamgroups/mix_presentation-stereo b/tests/streamgroups/mix_presentation-stereo
new file mode 100644
index 0000000000..0ade6352ff
--- /dev/null
+++ b/tests/streamgroups/mix_presentation-stereo
@@ -0,0 +1,3 @@
+type=iamf_mix_presentation:id=2:stg=0:annotations=en-us=Mix_Presentation,
+submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix|layout=sound_system=stereo:integrated_loudness=1.0,
+submix=parameter_id=100|element=stg=0:parameter_id=100:headphones_rendering_mode=binaural:default_mix_gain=1.0:annotations=en-us=Binaural_submix|layout=layout_type=binaural,