From 9fcfb6ddb7bb13ea8f27a4092095a4c4d8236a1a Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Fri, 17 Sep 2021 19:56:01 -0700 Subject: [PATCH] vgmstream: Enable Speex support --- .../libvgmstream.xcodeproj/project.pbxproj | 18 +- ThirdParty/speex/include/speex/speex.h | 425 ++++++++++++++++++ ThirdParty/speex/include/speex/speex_bits.h | 174 +++++++ .../speex/include/speex/speex_callbacks.h | 134 ++++++ .../speex/include/speex/speex_config_types.h | 12 + ThirdParty/speex/include/speex/speex_header.h | 94 ++++ ThirdParty/speex/include/speex/speex_stereo.h | 92 ++++ ThirdParty/speex/include/speex/speex_types.h | 126 ++++++ ThirdParty/speex/libspeex.a | Bin 0 -> 340736 bytes 9 files changed, 1073 insertions(+), 2 deletions(-) create mode 100644 ThirdParty/speex/include/speex/speex.h create mode 100644 ThirdParty/speex/include/speex/speex_bits.h create mode 100644 ThirdParty/speex/include/speex/speex_callbacks.h create mode 100644 ThirdParty/speex/include/speex/speex_config_types.h create mode 100644 ThirdParty/speex/include/speex/speex_header.h create mode 100644 ThirdParty/speex/include/speex/speex_stereo.h create mode 100644 ThirdParty/speex/include/speex/speex_types.h create mode 100644 ThirdParty/speex/libspeex.a diff --git a/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj b/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj index 1aa8de13f..fb6b132d7 100644 --- a/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj +++ b/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj @@ -87,6 +87,7 @@ 8315868726F586E200803A3A /* psb.c in Sources */ = {isa = PBXBuildFile; fileRef = 8315868326F586E200803A3A /* psb.c */; }; 8315868A26F586F900803A3A /* m2_psb.c in Sources */ = {isa = PBXBuildFile; fileRef = 8315868826F586F900803A3A /* m2_psb.c */; }; 8315868B26F586F900803A3A /* m2_psb.h in Headers */ = {isa = PBXBuildFile; fileRef = 8315868926F586F900803A3A /* m2_psb.h */; }; + 8315868D26F58AF900803A3A /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8315868C26F58AF900803A3A /* libspeex.a */; }; 8315958720FEC832007002F0 /* asf_decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = 8315958320FEC831007002F0 /* asf_decoder.c */; }; 8315958920FEC83F007002F0 /* asf.c in Sources */ = {isa = PBXBuildFile; fileRef = 8315958820FEC83F007002F0 /* asf.c */; }; 8317C24C26982CC1007DD0B8 /* sspr.c in Sources */ = {isa = PBXBuildFile; fileRef = 8317C24826982CC1007DD0B8 /* sspr.c */; }; @@ -895,6 +896,7 @@ 8315868326F586E200803A3A /* psb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = psb.c; sourceTree = ""; }; 8315868826F586F900803A3A /* m2_psb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = m2_psb.c; sourceTree = ""; }; 8315868926F586F900803A3A /* m2_psb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = m2_psb.h; sourceTree = ""; }; + 8315868C26F58AF900803A3A /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = ../../ThirdParty/speex/libspeex.a; sourceTree = ""; }; 8315958320FEC831007002F0 /* asf_decoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asf_decoder.c; sourceTree = ""; }; 8315958820FEC83F007002F0 /* asf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asf.c; sourceTree = ""; }; 8317C24826982CC1007DD0B8 /* sspr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sspr.c; sourceTree = ""; }; @@ -1492,6 +1494,7 @@ 83D11A1B256CE30300565AD3 /* libswresample.a in Frameworks */, 83D731891A749D1500CA1366 /* g719.framework in Frameworks */, 8313E3E61902020400B4B6F1 /* mpg123.framework in Frameworks */, + 8315868D26F58AF900803A3A /* libspeex.a in Frameworks */, 834D795520E4F0D400C4A5CC /* Vorbis.framework in Frameworks */, 836C052B23F62F1A00FA07C7 /* libatrac9.framework in Frameworks */, 83D6772D2653A30B00252130 /* libcelt_0061.framework in Frameworks */, @@ -1557,6 +1560,7 @@ 836F6B3E18BDB8880095E648 /* Other Frameworks */ = { isa = PBXGroup; children = ( + 8315868C26F58AF900803A3A /* libspeex.a */, 83D11A0F256CE08D00565AD3 /* libavcodec.a */, 83D11A10256CE08D00565AD3 /* libavformat.a */, 83D11A11256CE08D00565AD3 /* libavutil.a */, @@ -3202,6 +3206,7 @@ VGM_USE_G7221, VGM_USE_MPEG, VGM_USE_VORBIS, + VGM_USE_SPEEX, __MACOSX__, ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -3217,7 +3222,10 @@ ../../ThirdParty/ffmpeg/include, ); INSTALL_PATH = "@loader_path/../Frameworks"; - LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; + LIBRARY_SEARCH_PATHS = ( + ../../ThirdParty/ffmpeg/lib, + ../../ThirdParty/speex, + ); MACOSX_DEPLOYMENT_TARGET = 10.13; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -3271,6 +3279,7 @@ VGM_USE_G7221, VGM_USE_MPEG, VGM_USE_VORBIS, + VGM_USE_SPEEX, __MACOSX__, ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -3285,7 +3294,10 @@ ../../ThirdParty/ffmpeg/include, ); INSTALL_PATH = "@loader_path/../Frameworks"; - LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; + LIBRARY_SEARCH_PATHS = ( + ../../ThirdParty/ffmpeg/lib, + ../../ThirdParty/speex, + ); MACOSX_DEPLOYMENT_TARGET = 10.13; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3311,6 +3323,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ../Vorbis/include, ../Ogg/include, + ../../ThirdParty/speex/include, ); INFOPLIST_FILE = "vgmstream/libvgmstream-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}"; @@ -3340,6 +3353,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ../Vorbis/include, ../Ogg/include, + ../../ThirdParty/speex/include, ); INFOPLIST_FILE = "vgmstream/libvgmstream-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}"; diff --git a/ThirdParty/speex/include/speex/speex.h b/ThirdParty/speex/include/speex/speex.h new file mode 100644 index 000000000..28c4b44df --- /dev/null +++ b/ThirdParty/speex/include/speex/speex.h @@ -0,0 +1,425 @@ +/* Copyright (C) 2002-2006 Jean-Marc Valin*/ +/** + @file speex.h + @brief Describes the different modes of the codec +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef SPEEX_H +#define SPEEX_H +/** @defgroup Codec Speex encoder and decoder + * This is the Speex codec itself. + * @{ + */ + +#include "speex_types.h" +#include "speex_bits.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Values allowed for *ctl() requests */ + +/** Set enhancement on/off (decoder only) */ +#define SPEEX_SET_ENH 0 +/** Get enhancement state (decoder only) */ +#define SPEEX_GET_ENH 1 + +/*Would be SPEEX_SET_FRAME_SIZE, but it's (currently) invalid*/ +/** Obtain frame size used by encoder/decoder */ +#define SPEEX_GET_FRAME_SIZE 3 + +/** Set quality value */ +#define SPEEX_SET_QUALITY 4 +/** Get current quality setting */ +/* #define SPEEX_GET_QUALITY 5 -- Doesn't make much sense, does it? */ + +/** Set sub-mode to use */ +#define SPEEX_SET_MODE 6 +/** Get current sub-mode in use */ +#define SPEEX_GET_MODE 7 + +/** Set low-band sub-mode to use (wideband only)*/ +#define SPEEX_SET_LOW_MODE 8 +/** Get current low-band mode in use (wideband only)*/ +#define SPEEX_GET_LOW_MODE 9 + +/** Set high-band sub-mode to use (wideband only)*/ +#define SPEEX_SET_HIGH_MODE 10 +/** Get current high-band mode in use (wideband only)*/ +#define SPEEX_GET_HIGH_MODE 11 + +/** Set VBR on (1) or off (0) */ +#define SPEEX_SET_VBR 12 +/** Get VBR status (1 for on, 0 for off) */ +#define SPEEX_GET_VBR 13 + +/** Set quality value for VBR encoding (0-10) */ +#define SPEEX_SET_VBR_QUALITY 14 +/** Get current quality value for VBR encoding (0-10) */ +#define SPEEX_GET_VBR_QUALITY 15 + +/** Set complexity of the encoder (0-10) */ +#define SPEEX_SET_COMPLEXITY 16 +/** Get current complexity of the encoder (0-10) */ +#define SPEEX_GET_COMPLEXITY 17 + +/** Set bit-rate used by the encoder (or lower) */ +#define SPEEX_SET_BITRATE 18 +/** Get current bit-rate used by the encoder or decoder */ +#define SPEEX_GET_BITRATE 19 + +/** Define a handler function for in-band Speex request*/ +#define SPEEX_SET_HANDLER 20 + +/** Define a handler function for in-band user-defined request*/ +#define SPEEX_SET_USER_HANDLER 22 + +/** Set sampling rate used in bit-rate computation */ +#define SPEEX_SET_SAMPLING_RATE 24 +/** Get sampling rate used in bit-rate computation */ +#define SPEEX_GET_SAMPLING_RATE 25 + +/** Reset the encoder/decoder memories to zero*/ +#define SPEEX_RESET_STATE 26 + +/** Get VBR info (mostly used internally) */ +#define SPEEX_GET_RELATIVE_QUALITY 29 + +/** Set VAD status (1 for on, 0 for off) */ +#define SPEEX_SET_VAD 30 + +/** Get VAD status (1 for on, 0 for off) */ +#define SPEEX_GET_VAD 31 + +/** Set Average Bit-Rate (ABR) to n bits per seconds */ +#define SPEEX_SET_ABR 32 +/** Get Average Bit-Rate (ABR) setting (in bps) */ +#define SPEEX_GET_ABR 33 + +/** Set DTX status (1 for on, 0 for off) */ +#define SPEEX_SET_DTX 34 +/** Get DTX status (1 for on, 0 for off) */ +#define SPEEX_GET_DTX 35 + +/** Set submode encoding in each frame (1 for yes, 0 for no, setting to no breaks the standard) */ +#define SPEEX_SET_SUBMODE_ENCODING 36 +/** Get submode encoding in each frame */ +#define SPEEX_GET_SUBMODE_ENCODING 37 + +/*#define SPEEX_SET_LOOKAHEAD 38*/ +/** Returns the lookahead used by Speex separately for an encoder and a decoder. + * Sum encoder and decoder lookahead values to get the total codec lookahead. */ +#define SPEEX_GET_LOOKAHEAD 39 + +/** Sets tuning for packet-loss concealment (expected loss rate) */ +#define SPEEX_SET_PLC_TUNING 40 +/** Gets tuning for PLC */ +#define SPEEX_GET_PLC_TUNING 41 + +/** Sets the max bit-rate allowed in VBR mode */ +#define SPEEX_SET_VBR_MAX_BITRATE 42 +/** Gets the max bit-rate allowed in VBR mode */ +#define SPEEX_GET_VBR_MAX_BITRATE 43 + +/** Turn on/off input/output high-pass filtering */ +#define SPEEX_SET_HIGHPASS 44 +/** Get status of input/output high-pass filtering */ +#define SPEEX_GET_HIGHPASS 45 + +/** Get "activity level" of the last decoded frame, i.e. + how much damage we cause if we remove the frame */ +#define SPEEX_GET_ACTIVITY 47 + + +/* Preserving compatibility:*/ +/** Equivalent to SPEEX_SET_ENH */ +#define SPEEX_SET_PF 0 +/** Equivalent to SPEEX_GET_ENH */ +#define SPEEX_GET_PF 1 + + + + +/* Values allowed for mode queries */ +/** Query the frame size of a mode */ +#define SPEEX_MODE_FRAME_SIZE 0 + +/** Query the size of an encoded frame for a particular sub-mode */ +#define SPEEX_SUBMODE_BITS_PER_FRAME 1 + + + +/** Get major Speex version */ +#define SPEEX_LIB_GET_MAJOR_VERSION 1 +/** Get minor Speex version */ +#define SPEEX_LIB_GET_MINOR_VERSION 3 +/** Get micro Speex version */ +#define SPEEX_LIB_GET_MICRO_VERSION 5 +/** Get extra Speex version */ +#define SPEEX_LIB_GET_EXTRA_VERSION 7 +/** Get Speex version string */ +#define SPEEX_LIB_GET_VERSION_STRING 9 + +/*#define SPEEX_LIB_SET_ALLOC_FUNC 10 +#define SPEEX_LIB_GET_ALLOC_FUNC 11 +#define SPEEX_LIB_SET_FREE_FUNC 12 +#define SPEEX_LIB_GET_FREE_FUNC 13 + +#define SPEEX_LIB_SET_WARNING_FUNC 14 +#define SPEEX_LIB_GET_WARNING_FUNC 15 +#define SPEEX_LIB_SET_ERROR_FUNC 16 +#define SPEEX_LIB_GET_ERROR_FUNC 17 +*/ + +/** Number of defined modes in Speex */ +#define SPEEX_NB_MODES 3 + +/** modeID for the defined narrowband mode */ +#define SPEEX_MODEID_NB 0 + +/** modeID for the defined wideband mode */ +#define SPEEX_MODEID_WB 1 + +/** modeID for the defined ultra-wideband mode */ +#define SPEEX_MODEID_UWB 2 + +struct SpeexMode; + + +/* Prototypes for mode function pointers */ + +/** Encoder state initialization function */ +typedef void *(*encoder_init_func)(const struct SpeexMode *mode); + +/** Encoder state destruction function */ +typedef void (*encoder_destroy_func)(void *st); + +/** Main encoding function */ +typedef int (*encode_func)(void *state, void *in, SpeexBits *bits); + +/** Function for controlling the encoder options */ +typedef int (*encoder_ctl_func)(void *state, int request, void *ptr); + +/** Decoder state initialization function */ +typedef void *(*decoder_init_func)(const struct SpeexMode *mode); + +/** Decoder state destruction function */ +typedef void (*decoder_destroy_func)(void *st); + +/** Main decoding function */ +typedef int (*decode_func)(void *state, SpeexBits *bits, void *out); + +/** Function for controlling the decoder options */ +typedef int (*decoder_ctl_func)(void *state, int request, void *ptr); + + +/** Query function for a mode */ +typedef int (*mode_query_func)(const void *mode, int request, void *ptr); + +/** Struct defining a Speex mode */ +typedef struct SpeexMode { + /** Pointer to the low-level mode data */ + const void *mode; + + /** Pointer to the mode query function */ + mode_query_func query; + + /** The name of the mode (you should not rely on this to identify the mode)*/ + const char *modeName; + + /**ID of the mode*/ + int modeID; + + /**Version number of the bitstream (incremented every time we break + bitstream compatibility*/ + int bitstream_version; + + /** Pointer to encoder initialization function */ + encoder_init_func enc_init; + + /** Pointer to encoder destruction function */ + encoder_destroy_func enc_destroy; + + /** Pointer to frame encoding function */ + encode_func enc; + + /** Pointer to decoder initialization function */ + decoder_init_func dec_init; + + /** Pointer to decoder destruction function */ + decoder_destroy_func dec_destroy; + + /** Pointer to frame decoding function */ + decode_func dec; + + /** ioctl-like requests for encoder */ + encoder_ctl_func enc_ctl; + + /** ioctl-like requests for decoder */ + decoder_ctl_func dec_ctl; + +} SpeexMode; + +/** + * Returns a handle to a newly created Speex encoder state structure. For now, + * the "mode" argument can be &nb_mode or &wb_mode . In the future, more modes + * may be added. Note that for now if you have more than one channels to + * encode, you need one state per channel. + * + * @param mode The mode to use (either speex_nb_mode or speex_wb.mode) + * @return A newly created encoder state or NULL if state allocation fails + */ +void *speex_encoder_init(const SpeexMode *mode); + +/** Frees all resources associated to an existing Speex encoder state. + * @param state Encoder state to be destroyed */ +void speex_encoder_destroy(void *state); + +/** Uses an existing encoder state to encode one frame of speech pointed to by + "in". The encoded bit-stream is saved in "bits". + @param state Encoder state + @param in Frame that will be encoded with a +-2^15 range. This data MAY be + overwritten by the encoder and should be considered uninitialised + after the call. + @param bits Bit-stream where the data will be written + @return 0 if frame needs not be transmitted (DTX only), 1 otherwise + */ +int speex_encode(void *state, float *in, SpeexBits *bits); + +/** Uses an existing encoder state to encode one frame of speech pointed to by + "in". The encoded bit-stream is saved in "bits". + @param state Encoder state + @param in Frame that will be encoded with a +-2^15 range + @param bits Bit-stream where the data will be written + @return 0 if frame needs not be transmitted (DTX only), 1 otherwise + */ +int speex_encode_int(void *state, spx_int16_t *in, SpeexBits *bits); + +/** Used like the ioctl function to control the encoder parameters + * + * @param state Encoder state + * @param request ioctl-type request (one of the SPEEX_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter + */ +int speex_encoder_ctl(void *state, int request, void *ptr); + + +/** Returns a handle to a newly created decoder state structure. For now, + * the mode argument can be &nb_mode or &wb_mode . In the future, more modes + * may be added. Note that for now if you have more than one channels to + * decode, you need one state per channel. + * + * @param mode Speex mode (one of speex_nb_mode or speex_wb_mode) + * @return A newly created decoder state or NULL if state allocation fails + */ +void *speex_decoder_init(const SpeexMode *mode); + +/** Frees all resources associated to an existing decoder state. + * + * @param state State to be destroyed + */ +void speex_decoder_destroy(void *state); + +/** Uses an existing decoder state to decode one frame of speech from + * bit-stream bits. The output speech is saved written to out. + * + * @param state Decoder state + * @param bits Bit-stream from which to decode the frame (NULL if the packet was lost) + * @param out Where to write the decoded frame + * @return return status (0 for no error, -1 for end of stream, -2 corrupt stream) + */ +int speex_decode(void *state, SpeexBits *bits, float *out); + +/** Uses an existing decoder state to decode one frame of speech from + * bit-stream bits. The output speech is saved written to out. + * + * @param state Decoder state + * @param bits Bit-stream from which to decode the frame (NULL if the packet was lost) + * @param out Where to write the decoded frame + * @return return status (0 for no error, -1 for end of stream, -2 corrupt stream) + */ +int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out); + +/** Used like the ioctl function to control the encoder parameters + * + * @param state Decoder state + * @param request ioctl-type request (one of the SPEEX_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter + */ +int speex_decoder_ctl(void *state, int request, void *ptr); + + +/** Query function for mode information + * + * @param mode Speex mode + * @param request ioctl-type request (one of the SPEEX_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter + */ +int speex_mode_query(const SpeexMode *mode, int request, void *ptr); + +/** Functions for controlling the behavior of libspeex + * @param request ioctl-type request (one of the SPEEX_LIB_* macros) + * @param ptr Data exchanged to-from function + * @return 0 if no error, -1 if request in unknown, -2 for invalid parameter + */ +int speex_lib_ctl(int request, void *ptr); + +/** Default narrowband mode */ +extern const SpeexMode speex_nb_mode; + +/** Default wideband mode */ +extern const SpeexMode speex_wb_mode; + +/** Default "ultra-wideband" mode */ +extern const SpeexMode speex_uwb_mode; + +/** List of all modes available */ +extern const SpeexMode * const speex_mode_list[SPEEX_NB_MODES]; + +/** Obtain one of the modes available */ +const SpeexMode * speex_lib_get_mode (int mode); + +#ifndef WIN32 +/* We actually override the function in the narrowband case so that we can avoid linking in the wideband stuff */ +#define speex_lib_get_mode(mode) ((mode)==SPEEX_MODEID_NB ? &speex_nb_mode : speex_lib_get_mode (mode)) +#endif + +#ifdef __cplusplus +} +#endif + +/** @}*/ +#endif diff --git a/ThirdParty/speex/include/speex/speex_bits.h b/ThirdParty/speex/include/speex/speex_bits.h new file mode 100644 index 000000000..f98b8268f --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_bits.h @@ -0,0 +1,174 @@ +/* Copyright (C) 2002 Jean-Marc Valin */ +/** + @file speex_bits.h + @brief Handles bit packing/unpacking +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef BITS_H +#define BITS_H +/** @defgroup SpeexBits SpeexBits: Bit-stream manipulations + * This is the structure that holds the bit-stream when encoding or decoding + * with Speex. It allows some manipulations as well. + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** Bit-packing data structure representing (part of) a bit-stream. */ +typedef struct SpeexBits { + char *chars; /**< "raw" data */ + int nbBits; /**< Total number of bits stored in the stream*/ + int charPtr; /**< Position of the byte "cursor" */ + int bitPtr; /**< Position of the bit "cursor" within the current char */ + int owner; /**< Does the struct "own" the "raw" buffer (member "chars") */ + int overflow;/**< Set to one if we try to read past the valid data */ + int buf_size;/**< Allocated size for buffer */ + int reserved1; /**< Reserved for future use */ + void *reserved2; /**< Reserved for future use */ +} SpeexBits; + +/** Initializes and allocates resources for a SpeexBits struct */ +void speex_bits_init(SpeexBits *bits); + +/** Initializes SpeexBits struct using a pre-allocated buffer*/ +void speex_bits_init_buffer(SpeexBits *bits, void *buff, int buf_size); + +/** Sets the bits in a SpeexBits struct to use data from an existing buffer (for decoding without copying data) */ +void speex_bits_set_bit_buffer(SpeexBits *bits, void *buff, int buf_size); + +/** Frees all resources associated to a SpeexBits struct. Right now this does nothing since no resources are allocated, but this could change in the future.*/ +void speex_bits_destroy(SpeexBits *bits); + +/** Resets bits to initial value (just after initialization, erasing content)*/ +void speex_bits_reset(SpeexBits *bits); + +/** Rewind the bit-stream to the beginning (ready for read) without erasing the content */ +void speex_bits_rewind(SpeexBits *bits); + +/** Initializes the bit-stream from the data in an area of memory */ +void speex_bits_read_from(SpeexBits *bits, const char *bytes, int len); + +/** Append bytes to the bit-stream + * + * @param bits Bit-stream to operate on + * @param bytes pointer to the bytes what will be appended + * @param len Number of bytes of append + */ +void speex_bits_read_whole_bytes(SpeexBits *bits, const char *bytes, int len); + +/** Write the content of a bit-stream to an area of memory + * + * @param bits Bit-stream to operate on + * @param bytes Memory location where to write the bits + * @param max_len Maximum number of bytes to write (i.e. size of the "bytes" buffer) + * @return Number of bytes written to the "bytes" buffer +*/ +int speex_bits_write(SpeexBits *bits, char *bytes, int max_len); + +/** Like speex_bits_write, but writes only the complete bytes in the stream. Also removes the written bytes from the stream */ +int speex_bits_write_whole_bytes(SpeexBits *bits, char *bytes, int max_len); + +/** Append bits to the bit-stream + * @param bits Bit-stream to operate on + * @param data Value to append as integer + * @param nbBits number of bits to consider in "data" + */ +void speex_bits_pack(SpeexBits *bits, int data, int nbBits); + +/** Interpret the next bits in the bit-stream as a signed integer + * + * @param bits Bit-stream to operate on + * @param nbBits Number of bits to interpret + * @return A signed integer represented by the bits read + */ +int speex_bits_unpack_signed(SpeexBits *bits, int nbBits); + +/** Interpret the next bits in the bit-stream as an unsigned integer + * + * @param bits Bit-stream to operate on + * @param nbBits Number of bits to interpret + * @return An unsigned integer represented by the bits read + */ +unsigned int speex_bits_unpack_unsigned(SpeexBits *bits, int nbBits); + +/** Returns the number of bytes in the bit-stream, including the last one even if it is not "full" + * + * @param bits Bit-stream to operate on + * @return Number of bytes in the stream + */ +int speex_bits_nbytes(SpeexBits *bits); + +/** Same as speex_bits_unpack_unsigned, but without modifying the cursor position + * + * @param bits Bit-stream to operate on + * @param nbBits Number of bits to look for + * @return Value of the bits peeked, interpreted as unsigned + */ +unsigned int speex_bits_peek_unsigned(SpeexBits *bits, int nbBits); + +/** Get the value of the next bit in the stream, without modifying the + * "cursor" position + * + * @param bits Bit-stream to operate on + * @return Value of the bit peeked (one bit only) + */ +int speex_bits_peek(SpeexBits *bits); + +/** Advances the position of the "bit cursor" in the stream + * + * @param bits Bit-stream to operate on + * @param n Number of bits to advance + */ +void speex_bits_advance(SpeexBits *bits, int n); + +/** Returns the number of bits remaining to be read in a stream + * + * @param bits Bit-stream to operate on + * @return Number of bits that can still be read from the stream + */ +int speex_bits_remaining(SpeexBits *bits); + +/** Insert a terminator so that the data can be sent as a packet while auto-detecting + * the number of frames in each packet + * + * @param bits Bit-stream to operate on + */ +void speex_bits_insert_terminator(SpeexBits *bits); + +#ifdef __cplusplus +} +#endif + +/* @} */ +#endif diff --git a/ThirdParty/speex/include/speex/speex_callbacks.h b/ThirdParty/speex/include/speex/speex_callbacks.h new file mode 100644 index 000000000..3928c34fa --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_callbacks.h @@ -0,0 +1,134 @@ +/* Copyright (C) 2002 Jean-Marc Valin*/ +/** + @file speex_callbacks.h + @brief Describes callback handling and in-band signalling +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef SPEEX_CALLBACKS_H +#define SPEEX_CALLBACKS_H +/** @defgroup SpeexCallbacks Various definitions for Speex callbacks supported by the decoder. + * @{ + */ + +#include "speex.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Total number of callbacks */ +#define SPEEX_MAX_CALLBACKS 16 + +/* Describes all the in-band requests */ + +/*These are 1-bit requests*/ +/** Request for perceptual enhancement (1 for on, 0 for off) */ +#define SPEEX_INBAND_ENH_REQUEST 0 +/** Reserved */ +#define SPEEX_INBAND_RESERVED1 1 + +/*These are 4-bit requests*/ +/** Request for a mode change */ +#define SPEEX_INBAND_MODE_REQUEST 2 +/** Request for a low mode change */ +#define SPEEX_INBAND_LOW_MODE_REQUEST 3 +/** Request for a high mode change */ +#define SPEEX_INBAND_HIGH_MODE_REQUEST 4 +/** Request for VBR (1 on, 0 off) */ +#define SPEEX_INBAND_VBR_QUALITY_REQUEST 5 +/** Request to be sent acknowledge */ +#define SPEEX_INBAND_ACKNOWLEDGE_REQUEST 6 +/** Request for VBR (1 for on, 0 for off) */ +#define SPEEX_INBAND_VBR_REQUEST 7 + +/*These are 8-bit requests*/ +/** Send a character in-band */ +#define SPEEX_INBAND_CHAR 8 +/** Intensity stereo information */ +#define SPEEX_INBAND_STEREO 9 + +/*These are 16-bit requests*/ +/** Transmit max bit-rate allowed */ +#define SPEEX_INBAND_MAX_BITRATE 10 + +/*These are 32-bit requests*/ +/** Acknowledge packet reception */ +#define SPEEX_INBAND_ACKNOWLEDGE 12 + +/** Callback function type */ +typedef int (*speex_callback_func)(SpeexBits *bits, void *state, void *data); + +/** Callback information */ +typedef struct SpeexCallback { + int callback_id; /**< ID associated to the callback */ + speex_callback_func func; /**< Callback handler function */ + void *data; /**< Data that will be sent to the handler */ + void *reserved1; /**< Reserved for future use */ + int reserved2; /**< Reserved for future use */ +} SpeexCallback; + +/** Handle in-band request */ +int speex_inband_handler(SpeexBits *bits, SpeexCallback *callback_list, void *state); + +/** Standard handler for mode request (change mode, no questions asked) */ +int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data); + +/** Standard handler for high mode request (change high mode, no questions asked) */ +int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data); + +/** Standard handler for in-band characters (write to stderr) */ +int speex_std_char_handler(SpeexBits *bits, void *state, void *data); + +/** Default handler for user-defined requests: in this case, just ignore */ +int speex_default_user_handler(SpeexBits *bits, void *state, void *data); + + + +/** Standard handler for low mode request (change low mode, no questions asked) */ +int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data); + +/** Standard handler for VBR request (Set VBR, no questions asked) */ +int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data); + +/** Standard handler for enhancer request (Turn enhancer on/off, no questions asked) */ +int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data); + +/** Standard handler for VBR quality request (Set VBR quality, no questions asked) */ +int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data); + + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif diff --git a/ThirdParty/speex/include/speex/speex_config_types.h b/ThirdParty/speex/include/speex/speex_config_types.h new file mode 100644 index 000000000..ca1f5a3c2 --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_config_types.h @@ -0,0 +1,12 @@ +#ifndef __SPEEX_TYPES_H__ +#define __SPEEX_TYPES_H__ + +#include + +typedef int16_t spx_int16_t; +typedef uint16_t spx_uint16_t; +typedef int32_t spx_int32_t; +typedef uint32_t spx_uint32_t; + +#endif + diff --git a/ThirdParty/speex/include/speex/speex_header.h b/ThirdParty/speex/include/speex/speex_header.h new file mode 100644 index 000000000..ffe8c4713 --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_header.h @@ -0,0 +1,94 @@ +/* Copyright (C) 2002 Jean-Marc Valin */ +/** + @file speex_header.h + @brief Describes the Speex header +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#ifndef SPEEX_HEADER_H +#define SPEEX_HEADER_H +/** @defgroup SpeexHeader SpeexHeader: Makes it easy to write/parse an Ogg/Speex header + * This is the Speex header for the Ogg encapsulation. You don't need that if you just use RTP. + * @{ + */ + +#include "speex_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct SpeexMode; + +/** Length of the Speex header identifier */ +#define SPEEX_HEADER_STRING_LENGTH 8 + +/** Maximum number of characters for encoding the Speex version number in the header */ +#define SPEEX_HEADER_VERSION_LENGTH 20 + +/** Speex header info for file-based formats */ +typedef struct SpeexHeader { + char speex_string[SPEEX_HEADER_STRING_LENGTH]; /**< Identifies a Speex bit-stream, always set to "Speex " */ + char speex_version[SPEEX_HEADER_VERSION_LENGTH]; /**< Speex version */ + spx_int32_t speex_version_id; /**< Version for Speex (for checking compatibility) */ + spx_int32_t header_size; /**< Total size of the header ( sizeof(SpeexHeader) ) */ + spx_int32_t rate; /**< Sampling rate used */ + spx_int32_t mode; /**< Mode used (0 for narrowband, 1 for wideband) */ + spx_int32_t mode_bitstream_version; /**< Version ID of the bit-stream */ + spx_int32_t nb_channels; /**< Number of channels encoded */ + spx_int32_t bitrate; /**< Bit-rate used */ + spx_int32_t frame_size; /**< Size of frames */ + spx_int32_t vbr; /**< 1 for a VBR encoding, 0 otherwise */ + spx_int32_t frames_per_packet; /**< Number of frames stored per Ogg packet */ + spx_int32_t extra_headers; /**< Number of additional headers after the comments */ + spx_int32_t reserved1; /**< Reserved for future use, must be zero */ + spx_int32_t reserved2; /**< Reserved for future use, must be zero */ +} SpeexHeader; + +/** Initializes a SpeexHeader using basic information */ +void speex_init_header(SpeexHeader *header, int rate, int nb_channels, const struct SpeexMode *m); + +/** Creates the header packet from the header itself (mostly involves endianness conversion) */ +char *speex_header_to_packet(SpeexHeader *header, int *size); + +/** Creates a SpeexHeader from a packet */ +SpeexHeader *speex_packet_to_header(char *packet, int size); + +/** Frees the memory allocated by either speex_header_to_packet() or speex_packet_to_header() */ +void speex_header_free(void *ptr); + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif diff --git a/ThirdParty/speex/include/speex/speex_stereo.h b/ThirdParty/speex/include/speex/speex_stereo.h new file mode 100644 index 000000000..5844f5a10 --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_stereo.h @@ -0,0 +1,92 @@ +/* Copyright (C) 2002 Jean-Marc Valin*/ +/** + @file speex_stereo.h + @brief Describes the handling for intensity stereo +*/ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Xiph.org Foundation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef STEREO_H +#define STEREO_H +/** @defgroup SpeexStereoState SpeexStereoState: Handling Speex stereo files + * This describes the Speex intensity stereo encoding/decoding + * @{ + */ + +#include "speex_types.h" +#include "speex_bits.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/** If you access any of these fields directly, I'll personally come and bite you */ +typedef struct SpeexStereoState { + float balance; /**< Left/right balance info */ + float e_ratio; /**< Ratio of energies: E(left+right)/[E(left)+E(right)] */ + float smooth_left; /**< Smoothed left channel gain */ + float smooth_right; /**< Smoothed right channel gain */ + float reserved1; /**< Reserved for future use */ + float reserved2; /**< Reserved for future use */ +} SpeexStereoState; + +/** Deprecated. Use speex_stereo_state_init() instead. */ +#define SPEEX_STEREO_STATE_INIT {1,.5,1,1,0,0} + +/** Initialise/create a stereo stereo state */ +SpeexStereoState *speex_stereo_state_init(); + +/** Reset/re-initialise an already allocated stereo state */ +void speex_stereo_state_reset(SpeexStereoState *stereo); + +/** Destroy a stereo stereo state */ +void speex_stereo_state_destroy(SpeexStereoState *stereo); + +/** Transforms a stereo frame into a mono frame and stores intensity stereo info in 'bits' */ +void speex_encode_stereo(float *data, int frame_size, SpeexBits *bits); + +/** Transforms a stereo frame into a mono frame and stores intensity stereo info in 'bits' */ +void speex_encode_stereo_int(spx_int16_t *data, int frame_size, SpeexBits *bits); + +/** Transforms a mono frame into a stereo frame using intensity stereo info */ +void speex_decode_stereo(float *data, int frame_size, SpeexStereoState *stereo); + +/** Transforms a mono frame into a stereo frame using intensity stereo info */ +void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState *stereo); + +/** Callback handler for intensity stereo info */ +int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data); + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif diff --git a/ThirdParty/speex/include/speex/speex_types.h b/ThirdParty/speex/include/speex/speex_types.h new file mode 100644 index 000000000..bdc63295c --- /dev/null +++ b/ThirdParty/speex/include/speex/speex_types.h @@ -0,0 +1,126 @@ +/* speex_types.h taken from libogg */ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 * + * by the Xiph.Org Foundation http://www.xiph.org/ * + * * + ******************************************************************** + + function: #ifdef jail to whip a few platforms into the UNIX ideal. + last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $ + + ********************************************************************/ +/** + @file speex_types.h + @brief Speex types +*/ +#ifndef _SPEEX_TYPES_H +#define _SPEEX_TYPES_H + +#if defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t spx_int32_t; + typedef _G_uint32_t spx_uint32_t; + typedef _G_int16_t spx_int16_t; + typedef _G_uint16_t spx_uint16_t; +# elif defined(__MINGW32__) + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; +# elif defined(__MWERKS__) + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; +# else + /* MSVC/Borland */ + typedef __int32 spx_int32_t; + typedef unsigned __int32 spx_uint32_t; + typedef __int16 spx_int16_t; + typedef unsigned __int16 spx_uint16_t; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 spx_int16_t; + typedef UInt16 spx_uint16_t; + typedef SInt32 spx_int32_t; + typedef UInt32 spx_uint32_t; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t spx_int16_t; + typedef u_int16_t spx_uint16_t; + typedef int32_t spx_int32_t; + typedef u_int32_t spx_uint32_t; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16_t spx_int16_t; + typedef u_int16_t spx_uint16_t; + typedef int32_t spx_int32_t; + typedef u_int32_t spx_uint32_t; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short spx_int16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int spx_int32_t; + typedef unsigned spx_uint32_t; + typedef short spx_int16_t; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef signed int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef long spx_int32_t; + typedef unsigned long spx_uint32_t; + +#elif defined(CONFIG_TI_C6X) + + typedef short spx_int16_t; + typedef unsigned short spx_uint16_t; + typedef int spx_int32_t; + typedef unsigned int spx_uint32_t; + +#else + +#include "speex_config_types.h" + +#endif + +#endif /* _SPEEX_TYPES_H */ diff --git a/ThirdParty/speex/libspeex.a b/ThirdParty/speex/libspeex.a new file mode 100644 index 0000000000000000000000000000000000000000..8764eb98aa82a0b069122937e6b307ca89647452 GIT binary patch literal 340736 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�r|%6Qo=Jy#g*j%KPOGqjf7Y!Hr!$ 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 z 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

-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