From 95ac380252f70f0e36438b3bfeb4161f7a144472 Mon Sep 17 00:00:00 2001 From: James Almer Date: Fri, 25 Mar 2022 11:21:17 -0300 Subject: avutil/tests/channel_layout: test the output of av_channel_layout_subset() Should increase test coverage a bit Signed-off-by: James Almer --- libavutil/tests/channel_layout.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'libavutil') 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"); -- cgit v1.2.3