summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2013-04-25 21:34:04 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2013-05-05 02:31:09 -0400
commit1b72386a7c44857fe5b35fbfbce6b11c367f0e10 (patch)
treeca35e9e5fec45d79b7fc5c4e5540834287bcf8ec /include
parentb042935693914fffb930e38facca1bac80ece1a5 (diff)
downloadopus-1b72386a7c44857fe5b35fbfbce6b11c367f0e10.tar.gz
Initial surround code with new API
Conflicts: src/opus_multistream_encoder.c
Diffstat (limited to 'include')
-rw-r--r--include/opus_multistream.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/opus_multistream.h b/include/opus_multistream.h
index 658067f7..ae599793 100644
--- a/include/opus_multistream.h
+++ b/include/opus_multistream.h
@@ -205,6 +205,12 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size
int coupled_streams
);
+OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size(
+ int channels,
+ int mapping_family
+);
+
+
/** Allocates and initializes a multistream encoder state.
* Call opus_multistream_encoder_destroy() to release
* this object when finished.
@@ -258,6 +264,17 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_crea
int *error
) OPUS_ARG_NONNULL(5);
+OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create(
+ opus_int32 Fs,
+ int channels,
+ int mapping_family,
+ int *streams,
+ int *coupled_streams,
+ unsigned char *mapping,
+ int application,
+ int *error
+) OPUS_ARG_NONNULL(5);
+
/** Initialize a previously allocated multistream encoder state.
* The memory pointed to by \a st must be at least the size returned by
* opus_multistream_encoder_get_size().
@@ -316,6 +333,17 @@ OPUS_EXPORT int opus_multistream_encoder_init(
int application
) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6);
+OPUS_EXPORT int opus_multistream_surround_encoder_init(
+ OpusMSEncoder *st,
+ opus_int32 Fs,
+ int channels,
+ int mapping_family,
+ int *streams,
+ int *coupled_streams,
+ unsigned char *mapping,
+ int application
+) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6);
+
/** Encodes a multistream Opus frame.
* @param st <tt>OpusMSEncoder*</tt>: Multistream encoder state.
* @param[in] pcm <tt>const opus_int16*</tt>: The input signal as interleaved