summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2022-03-25 11:21:17 -0300
committerJames Almer <jamrial@gmail.com>2022-03-25 12:09:19 -0300
commit95ac380252f70f0e36438b3bfeb4161f7a144472 (patch)
tree3c730e8f0ce5c64169bbe4bb022f7d9f56094aa2
parent167c5a6afc52342e6b7fb836a5a7db069a6a42e0 (diff)
avutil/tests/channel_layout: test the output of av_channel_layout_subset()
Should increase test coverage a bit Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavutil/tests/channel_layout.c18
-rw-r--r--tests/ref/fate/channel_layout9
2 files changed, 27 insertions, 0 deletions
diff --git a/libavutil/tests/channel_layout.c b/libavutil/tests/channel_layout.c
index 79d3a1caed..eb9cf1b950 100644
--- a/libavutil/tests/channel_layout.c
+++ b/libavutil/tests/channel_layout.c
@@ -49,6 +49,9 @@
if (ret < 0) \
ret = -1
+#define CHANNEL_LAYOUT_SUBSET(x) \
+ mask = av_channel_layout_subset(&layout, x)
+
#define CHANNEL_LAYOUT_INDEX_FROM_CHANNEL(x) \
ret = av_channel_layout_index_from_channel(&layout, x); \
if (ret < 0) \
@@ -70,6 +73,7 @@ int main(void)
AVChannelLayout layout = { 0 };
AVBPrint bp;
void *iter = NULL;
+ uint64_t mask;
int ret;
av_bprint_init(&bp, 64, AV_BPRINT_SIZE_AUTOMATIC);
@@ -216,6 +220,14 @@ int main(void)
CHANNEL_LAYOUT_INDEX_FROM_STRING("BC");
printf("On 5.1(side) layout with \"BC\": %21d\n", ret);
+ printf("\nTesting av_channel_layout_subset\n");
+ CHANNEL_LAYOUT_SUBSET(AV_CH_LAYOUT_STEREO);
+ printf("On 5.1(side) layout with AV_CH_LAYOUT_STEREO: 0x%"PRIx64"\n", mask);
+ CHANNEL_LAYOUT_SUBSET(AV_CH_LAYOUT_2POINT1);
+ printf("On 5.1(side) layout with AV_CH_LAYOUT_2POINT1: 0x%"PRIx64"\n", mask);
+ CHANNEL_LAYOUT_SUBSET(AV_CH_LAYOUT_4POINT1);
+ printf("On 5.1(side) layout with AV_CH_LAYOUT_4POINT1: 0x%"PRIx64"\n", mask);
+
printf("\n==Custom layouts==\n");
printf("\nTesting av_channel_layout_from_string\n");
@@ -292,6 +304,12 @@ int main(void)
CHANNEL_LAYOUT_CHANNEL_FROM_INDEX(3);
printf("On \"FR+FL@Foo+USR63@Foo\" layout with 3: %21d\n", ret);
+ printf("\nTesting av_channel_layout_subset\n");
+ CHANNEL_LAYOUT_SUBSET(AV_CH_LAYOUT_STEREO);
+ printf("On \"FR+FL@Foo+USR63@Foo\" layout with AV_CH_LAYOUT_STEREO: 0x%"PRIx64"\n", mask);
+ CHANNEL_LAYOUT_SUBSET(AV_CH_LAYOUT_QUAD);
+ printf("On \"FR+FL@Foo+USR63@Foo\" layout with AV_CH_LAYOUT_QUAD: 0x%"PRIx64"\n", mask);
+
printf("\n==Ambisonic layouts==\n");
printf("\nTesting av_channel_layout_from_string\n");
diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout
index 8e452da5a9..b1a4dcb1b1 100644
--- a/tests/ref/fate/channel_layout
+++ b/tests/ref/fate/channel_layout
@@ -103,6 +103,11 @@ On 5.1(side) layout with "SL": 4
On 5.1(side) layout with "SR": 5
On 5.1(side) layout with "BC": -1
+Testing av_channel_layout_subset
+On 5.1(side) layout with AV_CH_LAYOUT_STEREO: 0x3
+On 5.1(side) layout with AV_CH_LAYOUT_2POINT1: 0xb
+On 5.1(side) layout with AV_CH_LAYOUT_4POINT1: 0xf
+
==Custom layouts==
Testing av_channel_layout_from_string
@@ -147,6 +152,10 @@ On "FR+FL@Foo+USR63@Foo" layout with 1: 0
On "FR+FL@Foo+USR63@Foo" layout with 2: 63
On "FR+FL@Foo+USR63@Foo" layout with 3: -1
+Testing av_channel_layout_subset
+On "FR+FL@Foo+USR63@Foo" layout with AV_CH_LAYOUT_STEREO: 0x3
+On "FR+FL@Foo+USR63@Foo" layout with AV_CH_LAYOUT_QUAD: 0x3
+
==Ambisonic layouts==
Testing av_channel_layout_from_string