summaryrefslogtreecommitdiff
path: root/libavcodec/audioconvert.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/audioconvert.c')
-rw-r--r--libavcodec/audioconvert.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/audioconvert.c b/libavcodec/audioconvert.c
index b0a8afacb4..5842801093 100644
--- a/libavcodec/audioconvert.c
+++ b/libavcodec/audioconvert.c
@@ -153,6 +153,15 @@ void avcodec_get_channel_layout_string(char *buf, int buf_size, int nb_channels,
}
}
+int avcodec_channel_layout_num_channels(int64_t channel_layout)
+{
+ int count;
+ uint64_t x = channel_layout;
+ for (count = 0; x; count++)
+ x &= x-1; // unset lowest set bit
+ return count;
+}
+
struct AVAudioConvert {
int in_channels, out_channels;
int fmt_pair;