From c2538e2ab81fca4fc275c39afa9c84dcd8db40cd Mon Sep 17 00:00:00 2001 From: sezero Date: Wed, 10 Apr 2013 00:22:18 +0000 Subject: [PATCH] recompiled libogg-1.3.0 with patch from xiph.org svn rev.18758 applied. git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@845 af15c1b1-3010-417e-b628-4374ebc0bcbd --- quakespasm/MacOSX/codecs/include/opus/opus.h | 906 +++++++++ .../MacOSX/codecs/include/opus/opus_defines.h | 655 +++++++ .../codecs/include/opus/opus_multistream.h | 632 +++++++ .../MacOSX/codecs/include/opus/opus_types.h | 159 ++ .../MacOSX/codecs/include/opus/opusfile.h | 1623 +++++++++++++++++ quakespasm/MacOSX/codecs/include/opusfile.h | 3 + quakespasm/MacOSX/codecs/lib/libogg.dylib | Bin 80944 -> 80944 bytes quakespasm/MacOSX/codecs/lib/libopus.dylib | Bin 0 -> 787416 bytes .../MacOSX/codecs/lib/libopusfile.dylib | Bin 0 -> 148776 bytes quakespasm/Windows/codecs/include/opus/opus.h | 906 +++++++++ .../codecs/include/opus/opus_defines.h | 655 +++++++ .../codecs/include/opus/opus_multistream.h | 632 +++++++ .../Windows/codecs/include/opus/opus_types.h | 159 ++ .../Windows/codecs/include/opus/opusfile.h | 1623 +++++++++++++++++ quakespasm/Windows/codecs/include/opusfile.h | 3 + quakespasm/Windows/codecs/x64/libogg-0.dll | Bin 25600 -> 25600 bytes quakespasm/Windows/codecs/x64/libopus-0.dll | Bin 0 -> 261632 bytes quakespasm/Windows/codecs/x64/libopus.dll.a | Bin 0 -> 193124 bytes quakespasm/Windows/codecs/x64/libopus.lib | Bin 0 -> 66166 bytes .../Windows/codecs/x64/libopusfile-0.dll | Bin 0 -> 43008 bytes .../Windows/codecs/x64/libopusfile.dll.a | Bin 0 -> 32580 bytes quakespasm/Windows/codecs/x64/libopusfile.lib | Bin 0 -> 11606 bytes quakespasm/Windows/codecs/x86/libogg-0.dll | Bin 18944 -> 18944 bytes quakespasm/Windows/codecs/x86/libopus-0.dll | Bin 0 -> 230400 bytes quakespasm/Windows/codecs/x86/libopus.dll.a | Bin 0 -> 192442 bytes quakespasm/Windows/codecs/x86/libopus.lib | Bin 0 -> 67554 bytes .../Windows/codecs/x86/libopusfile-0.dll | Bin 0 -> 38912 bytes .../Windows/codecs/x86/libopusfile.dll.a | Bin 0 -> 31480 bytes quakespasm/Windows/codecs/x86/libopusfile.lib | Bin 0 -> 11854 bytes 29 files changed, 7956 insertions(+) create mode 100644 quakespasm/MacOSX/codecs/include/opus/opus.h create mode 100644 quakespasm/MacOSX/codecs/include/opus/opus_defines.h create mode 100644 quakespasm/MacOSX/codecs/include/opus/opus_multistream.h create mode 100644 quakespasm/MacOSX/codecs/include/opus/opus_types.h create mode 100644 quakespasm/MacOSX/codecs/include/opus/opusfile.h create mode 100644 quakespasm/MacOSX/codecs/include/opusfile.h create mode 100755 quakespasm/MacOSX/codecs/lib/libopus.dylib create mode 100755 quakespasm/MacOSX/codecs/lib/libopusfile.dylib create mode 100644 quakespasm/Windows/codecs/include/opus/opus.h create mode 100644 quakespasm/Windows/codecs/include/opus/opus_defines.h create mode 100644 quakespasm/Windows/codecs/include/opus/opus_multistream.h create mode 100644 quakespasm/Windows/codecs/include/opus/opus_types.h create mode 100644 quakespasm/Windows/codecs/include/opus/opusfile.h create mode 100644 quakespasm/Windows/codecs/include/opusfile.h create mode 100644 quakespasm/Windows/codecs/x64/libopus-0.dll create mode 100644 quakespasm/Windows/codecs/x64/libopus.dll.a create mode 100644 quakespasm/Windows/codecs/x64/libopus.lib create mode 100644 quakespasm/Windows/codecs/x64/libopusfile-0.dll create mode 100644 quakespasm/Windows/codecs/x64/libopusfile.dll.a create mode 100644 quakespasm/Windows/codecs/x64/libopusfile.lib create mode 100644 quakespasm/Windows/codecs/x86/libopus-0.dll create mode 100644 quakespasm/Windows/codecs/x86/libopus.dll.a create mode 100644 quakespasm/Windows/codecs/x86/libopus.lib create mode 100644 quakespasm/Windows/codecs/x86/libopusfile-0.dll create mode 100644 quakespasm/Windows/codecs/x86/libopusfile.dll.a create mode 100644 quakespasm/Windows/codecs/x86/libopusfile.lib diff --git a/quakespasm/MacOSX/codecs/include/opus/opus.h b/quakespasm/MacOSX/codecs/include/opus/opus.h new file mode 100644 index 00000000..611a5b91 --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opus/opus.h @@ -0,0 +1,906 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus.h + * @brief Opus reference implementation API + */ + +#ifndef OPUS_H +#define OPUS_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @mainpage Opus + * + * The Opus codec is designed for interactive speech and audio transmission over the Internet. + * It is designed by the IETF Codec Working Group and incorporates technology from + * Skype's SILK codec and Xiph.Org's CELT codec. + * + * The Opus codec is designed to handle a wide range of interactive audio applications, + * including Voice over IP, videoconferencing, in-game chat, and even remote live music + * performances. It can scale from low bit-rate narrowband speech to very high quality + * stereo music. Its main features are: + + * @li Sampling rates from 8 to 48 kHz + * @li Bit-rates from 6 kb/s to 510 kb/s + * @li Support for both constant bit-rate (CBR) and variable bit-rate (VBR) + * @li Audio bandwidth from narrowband to full-band + * @li Support for speech and music + * @li Support for mono and stereo + * @li Support for multichannel (up to 255 channels) + * @li Frame sizes from 2.5 ms to 60 ms + * @li Good loss robustness and packet loss concealment (PLC) + * @li Floating point and fixed-point implementation + * + * Documentation sections: + * @li @ref opus_encoder + * @li @ref opus_decoder + * @li @ref opus_repacketizer + * @li @ref opus_multistream + * @li @ref opus_libinfo + * @li @ref opus_custom + */ + +/** @defgroup opus_encoder Opus Encoder + * @{ + * + * @brief This page describes the process and functions used to encode Opus. + * + * Since Opus is a stateful codec, the encoding process starts with creating an encoder + * state. This can be done with: + * + * @code + * int error; + * OpusEncoder *enc; + * enc = opus_encoder_create(Fs, channels, application, &error); + * @endcode + * + * From this point, @c enc can be used for encoding an audio stream. An encoder state + * @b must @b not be used for more than one stream at the same time. Similarly, the encoder + * state @b must @b not be re-initialized for each frame. + * + * While opus_encoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * + * @code + * int size; + * int error; + * OpusEncoder *enc; + * size = opus_encoder_get_size(channels); + * enc = malloc(size); + * error = opus_encoder_init(enc, Fs, channels, application); + * @endcode + * + * where opus_encoder_get_size() returns the required size for the encoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The encoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * It is possible to change some of the encoder's settings using the opus_encoder_ctl() + * interface. All these settings already default to the recommended value, so they should + * only be changed when necessary. The most common settings one may want to change are: + * + * @code + * opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate)); + * opus_encoder_ctl(enc, OPUS_SET_COMPLEXITY(complexity)); + * opus_encoder_ctl(enc, OPUS_SET_SIGNAL(signal_type)); + * @endcode + * + * where + * + * @arg bitrate is in bits per second (b/s) + * @arg complexity is a value from 1 to 10, where 1 is the lowest complexity and 10 is the highest + * @arg signal_type is either OPUS_AUTO (default), OPUS_SIGNAL_VOICE, or OPUS_SIGNAL_MUSIC + * + * See @ref opus_encoderctls and @ref opus_genericctls for a complete list of parameters that can be set or queried. Most parameters can be set or changed at any time during a stream. + * + * To encode a frame, opus_encode() or opus_encode_float() must be called with exactly one frame (2.5, 5, 10, 20, 40 or 60 ms) of audio data: + * @code + * len = opus_encode(enc, audio_frame, frame_size, packet, max_packet); + * @endcode + * + * where + *
    + *
  • audio_frame is the audio data in opus_int16 (or float for opus_encode_float())
  • + *
  • frame_size is the duration of the frame in samples (per channel)
  • + *
  • packet is the byte array to which the compressed data is written
  • + *
  • max_packet is the maximum number of bytes that can be written in the packet (4000 bytes is recommended). + * Do not use max_packet to control VBR target bitrate, instead use the #OPUS_SET_BITRATE CTL.
  • + *
+ * + * opus_encode() and opus_encode_float() return the number of bytes actually written to the packet. + * The return value can be negative, which indicates that an error has occurred. If the return value + * is 1 byte, then the packet does not need to be transmitted (DTX). + * + * Once the encoder state if no longer needed, it can be destroyed with + * + * @code + * opus_encoder_destroy(enc); + * @endcode + * + * If the encoder was created with opus_encoder_init() rather than opus_encoder_create(), + * then no action is required aside from potentially freeing the memory that was manually + * allocated for it (calling free(enc) for the example above) + * + */ + +/** Opus encoder state. + * This contains the complete state of an Opus encoder. + * It is position independent and can be freely copied. + * @see opus_encoder_create,opus_encoder_init + */ +typedef struct OpusEncoder OpusEncoder; + +/** Gets the size of an OpusEncoder structure. + * @param[in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_encoder_get_size(int channels); + +/** + */ + +/** Allocates and initializes an encoder state. + * There are three coding modes: + * + * @ref OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice + * signals. It enhances the input signal by high-pass filtering and + * emphasizing formants and harmonics. Optionally it includes in-band + * forward error correction to protect against packet loss. Use this + * mode for typical VoIP applications. Because of the enhancement, + * even at high bitrates the output may sound different from the input. + * + * @ref OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most + * non-voice signals like music. Use this mode for music and mixed + * (music/voice) content, broadcast, and applications requiring less + * than 15 ms of coding delay. + * + * @ref OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that + * disables the speech-optimized mode in exchange for slightly reduced delay. + * This mode can only be set on an newly initialized or freshly reset encoder + * because it changes the codec delay. + * + * This is useful when the caller knows that the speech-optimized modes will not be needed (use with caution). + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (@ref OPUS_APPLICATION_VOIP/@ref OPUS_APPLICATION_AUDIO/@ref OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @param [out] error int*: @ref opus_errorcodes + * @note Regardless of the sampling rate and number channels selected, the Opus encoder + * can switch to a lower audio bandwidth or number of channels if the bitrate + * selected is too low. This also means that it is safe to always use 48 kHz stereo input + * and let the encoder optimize the encoding. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusEncoder *opus_encoder_create( + opus_int32 Fs, + int channels, + int application, + int *error +); + +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be at least the size returned by opus_encoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_encoder_create(),opus_encoder_get_size() + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO/OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_encoder_init( + OpusEncoder *st, + opus_int32 Fs, + int channels, + int application +) OPUS_ARG_NONNULL(1); + +/** Encodes an Opus frame. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm opus_int16*: Input signal (interleaved if 2 channels). length is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode( + OpusEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes an Opus frame from floating point input. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm float*: Input in float format (interleaved if 2 channels), with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. + * length is frame_size*channels*sizeof(float) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode_float( + OpusEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusEncoder allocated by opus_encoder_create(). + * @param[in] st OpusEncoder*: State to be freed. + */ +OPUS_EXPORT void opus_encoder_destroy(OpusEncoder *st); + +/** Perform a CTL function on an Opus encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusEncoder*: Encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_encoderctls. + * @see opus_genericctls + * @see opus_encoderctls + */ +OPUS_EXPORT int opus_encoder_ctl(OpusEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); +/**@}*/ + +/** @defgroup opus_decoder Opus Decoder + * @{ + * + * @brief This page describes the process and functions used to decode Opus. + * + * The decoding process also starts with creating a decoder + * state. This can be done with: + * @code + * int error; + * OpusDecoder *dec; + * dec = opus_decoder_create(Fs, channels, &error); + * @endcode + * where + * @li Fs is the sampling rate and must be 8000, 12000, 16000, 24000, or 48000 + * @li channels is the number of channels (1 or 2) + * @li error will hold the error code in case of failure (or #OPUS_OK on success) + * @li the return value is a newly created decoder state to be used for decoding + * + * While opus_decoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * @code + * int size; + * int error; + * OpusDecoder *dec; + * size = opus_decoder_get_size(channels); + * dec = malloc(size); + * error = opus_decoder_init(dec, Fs, channels); + * @endcode + * where opus_decoder_get_size() returns the required size for the decoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The decoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * To decode a frame, opus_decode() or opus_decode_float() must be called with a packet of compressed audio data: + * @code + * frame_size = opus_decode(dec, packet, len, decoded, max_size, 0); + * @endcode + * where + * + * @li packet is the byte array containing the compressed data + * @li len is the exact number of bytes contained in the packet + * @li decoded is the decoded audio data in opus_int16 (or float for opus_decode_float()) + * @li max_size is the max duration of the frame in samples (per channel) that can fit into the decoded_frame array + * + * opus_decode() and opus_decode_float() return the number of samples (per channel) decoded from the packet. + * If that value is negative, then an error has occurred. This can occur if the packet is corrupted or if the audio + * buffer is too small to hold the decoded audio. + * + * Opus is a stateful codec with overlapping blocks and as a result Opus + * packets are not coded independently of each other. Packets must be + * passed into the decoder serially and in the correct order for a correct + * decode. Lost packets can be replaced with loss concealment by calling + * the decoder with a null pointer and zero length for the missing packet. + * + * A single codec state may only be accessed from a single thread at + * a time and any required locking must be performed by the caller. Separate + * streams must be decoded with separate decoder states and can be decoded + * in parallel unless the library was compiled with NONTHREADSAFE_PSEUDOSTACK + * defined. + * + */ + +/** Opus decoder state. + * This contains the complete state of an Opus decoder. + * It is position independent and can be freely copied. + * @see opus_decoder_create,opus_decoder_init + */ +typedef struct OpusDecoder OpusDecoder; + +/** Gets the size of an OpusDecoder structure. + * @param [in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_size(int channels); + +/** Allocates and initializes a decoder state. + * @param [in] Fs opus_int32: Sample rate to decode at (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @param [out] error int*: #OPUS_OK Success or @ref opus_errorcodes + * + * Internally Opus stores data at 48000 Hz, so that should be the default + * value for Fs. However, the decoder can efficiently decode to buffers + * at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use + * data at the full sample rate, or knows the compressed data doesn't + * use the full frequency range, it can request decoding at a reduced + * rate. Likewise, the decoder is capable of filling in either mono or + * interleaved stereo pcm buffers, at the caller's request. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusDecoder *opus_decoder_create( + opus_int32 Fs, + int channels, + int *error +); + +/** Initializes a previously allocated decoder state. + * The state must be at least the size returned by opus_decoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusDecoder*: Decoder state. + * @param [in] Fs opus_int32: Sampling rate to decode to (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_decoder_init( + OpusDecoder *st, + opus_int32 Fs, + int channels +) OPUS_ARG_NONNULL(1); + +/** Decode an Opus packet. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload* + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available, the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an Opus packet with floating point output. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode_float( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusDecoder*: Decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_decoderctls. + * @see opus_genericctls + * @see opus_decoderctls + */ +OPUS_EXPORT int opus_decoder_ctl(OpusDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusDecoder allocated by opus_decoder_create(). + * @param[in] st OpusDecoder*: State to be freed. + */ +OPUS_EXPORT void opus_decoder_destroy(OpusDecoder *st); + +/** Parse an opus packet into one or more frames. + * Opus_decode will perform this operation internally so most applications do + * not need to use this function. + * This function does not copy the frames, the returned pointers are pointers into + * the input packet. + * @param [in] data char*: Opus packet to be parsed + * @param [in] len opus_int32: size of data + * @param [out] out_toc char*: TOC pointer + * @param [out] frames char*[48] encapsulated frames + * @param [out] size short[48] sizes of the encapsulated frames + * @param [out] payload_offset int*: returns the position of the payload within the packet (in bytes) + * @returns number of frames + */ +OPUS_EXPORT int opus_packet_parse( + const unsigned char *data, + opus_int32 len, + unsigned char *out_toc, + const unsigned char *frames[48], + short size[48], + int *payload_offset +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Gets the bandwidth of an Opus packet. + * @param [in] data char*: Opus packet + * @retval OPUS_BANDWIDTH_NARROWBAND Narrowband (4kHz bandpass) + * @retval OPUS_BANDWIDTH_MEDIUMBAND Mediumband (6kHz bandpass) + * @retval OPUS_BANDWIDTH_WIDEBAND Wideband (8kHz bandpass) + * @retval OPUS_BANDWIDTH_SUPERWIDEBAND Superwideband (12kHz bandpass) + * @retval OPUS_BANDWIDTH_FULLBAND Fullband (20kHz bandpass) + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_bandwidth(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples per frame from an Opus packet. + * @param [in] data char*: Opus packet. + * This must contain at least one byte of + * data. + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples per frame. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of channels from an Opus packet. + * @param [in] data char*: Opus packet + * @returns Number of channels + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_channels(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of frames in an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of frames + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] dec OpusDecoder*: Decoder state + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); +/**@}*/ + +/** @defgroup opus_repacketizer Repacketizer + * @{ + * + * The repacketizer can be used to merge multiple Opus packets into a single + * packet or alternatively to split Opus packets that have previously been + * merged. Splitting valid Opus packets is always guaranteed to succeed, + * whereas merging valid packets only succeeds if all frames have the same + * mode, bandwidth, and frame size, and when the total duration of the merged + * packet is no more than 120 ms. + * The repacketizer currently only operates on elementary Opus + * streams. It will not manipualte multistream packets successfully, except in + * the degenerate case where they consist of data from a single stream. + * + * The repacketizing process starts with creating a repacketizer state, either + * by calling opus_repacketizer_create() or by allocating the memory yourself, + * e.g., + * @code + * OpusRepacketizer *rp; + * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); + * if (rp != NULL) + * opus_repacketizer_init(rp); + * @endcode + * + * Then the application should submit packets with opus_repacketizer_cat(), + * extract new packets with opus_repacketizer_out() or + * opus_repacketizer_out_range(), and then reset the state for the next set of + * input packets via opus_repacketizer_init(). + * + * For example, to split a sequence of packets into individual frames: + * @code + * unsigned char *data; + * int len; + * while (get_next_packet(&data, &len)) + * { + * unsigned char out[1276]; + * opus_int32 out_len; + * int nb_frames; + * int err; + * int i; + * err = opus_repacketizer_cat(rp, data, len); + * if (err != OPUS_OK) + * { + * release_packet(data); + * return err; + * } + * nb_frames = opus_repacketizer_get_nb_frames(rp); + * for (i = 0; i < nb_frames; i++) + * { + * out_len = opus_repacketizer_out_range(rp, i, i+1, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packet(data); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * } + * opus_repacketizer_init(rp); + * release_packet(data); + * } + * @endcode + * + * Alternatively, to combine a sequence of frames into packets that each + * contain up to TARGET_DURATION_MS milliseconds of data: + * @code + * // The maximum number of packets with duration TARGET_DURATION_MS occurs + * // when the frame size is 2.5 ms, for a total of (TARGET_DURATION_MS*2/5) + * // packets. + * unsigned char *data[(TARGET_DURATION_MS*2/5)+1]; + * opus_int32 len[(TARGET_DURATION_MS*2/5)+1]; + * int nb_packets; + * unsigned char out[1277*(TARGET_DURATION_MS*2/2)]; + * opus_int32 out_len; + * int prev_toc; + * nb_packets = 0; + * while (get_next_packet(data+nb_packets, len+nb_packets)) + * { + * int nb_frames; + * int err; + * nb_frames = opus_packet_get_nb_frames(data[nb_packets], len[nb_packets]); + * if (nb_frames < 1) + * { + * release_packets(data, nb_packets+1); + * return nb_frames; + * } + * nb_frames += opus_repacketizer_get_nb_frames(rp); + * // If adding the next packet would exceed our target, or it has an + * // incompatible TOC sequence, output the packets we already have before + * // submitting it. + * // N.B., The nb_packets > 0 check ensures we've submitted at least one + * // packet since the last call to opus_repacketizer_init(). Otherwise a + * // single packet longer than TARGET_DURATION_MS would cause us to try to + * // output an (invalid) empty packet. It also ensures that prev_toc has + * // been set to a valid value. Additionally, len[nb_packets] > 0 is + * // guaranteed by the call to opus_packet_get_nb_frames() above, so the + * // reference to data[nb_packets][0] should be valid. + * if (nb_packets > 0 && ( + * ((prev_toc & 0xFC) != (data[nb_packets][0] & 0xFC)) || + * opus_packet_get_samples_per_frame(data[nb_packets], 48000)*nb_frames > + * TARGET_DURATION_MS*48)) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packets(data, nb_packets+1); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * opus_repacketizer_init(rp); + * release_packets(data, nb_packets); + * data[0] = data[nb_packets]; + * len[0] = len[nb_packets]; + * nb_packets = 0; + * } + * err = opus_repacketizer_cat(rp, data[nb_packets], len[nb_packets]); + * if (err != OPUS_OK) + * { + * release_packets(data, nb_packets+1); + * return err; + * } + * prev_toc = data[nb_packets][0]; + * nb_packets++; + * } + * // Output the final, partial packet. + * if (nb_packets > 0) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * release_packets(data, nb_packets); + * if (out_len < 0) + * return (int)out_len; + * output_next_packet(out, out_len); + * } + * @endcode + * + * An alternate way of merging packets is to simply call opus_repacketizer_cat() + * unconditionally until it fails. At that point, the merged packet can be + * obtained with opus_repacketizer_out() and the input packet for which + * opus_repacketizer_cat() needs to be re-added to a newly reinitialized + * repacketizer state. + */ + +typedef struct OpusRepacketizer OpusRepacketizer; + +/** Gets the size of an OpusRepacketizer structure. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_size(void); + +/** (Re)initializes a previously allocated repacketizer state. + * The state must be at least the size returned by opus_repacketizer_get_size(). + * This can be used for applications which use their own allocator instead of + * malloc(). + * It must also be called to reset the queue of packets waiting to be + * repacketized, which is necessary if the maximum packet duration of 120 ms + * is reached or if you wish to submit packets with a different Opus + * configuration (coding mode, audio bandwidth, frame size, or channel count). + * Failure to do so will prevent a new packet from being added with + * opus_repacketizer_cat(). + * @see opus_repacketizer_create + * @see opus_repacketizer_get_size + * @see opus_repacketizer_cat + * @param rp OpusRepacketizer*: The repacketizer state to + * (re)initialize. + * @returns A pointer to the same repacketizer state that was passed in. + */ +OPUS_EXPORT OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Allocates memory and initializes the new repacketizer with + * opus_repacketizer_init(). + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusRepacketizer *opus_repacketizer_create(void); + +/** Frees an OpusRepacketizer allocated by + * opus_repacketizer_create(). + * @param[in] rp OpusRepacketizer*: State to be freed. + */ +OPUS_EXPORT void opus_repacketizer_destroy(OpusRepacketizer *rp); + +/** Add a packet to the current repacketizer state. + * This packet must match the configuration of any packets already submitted + * for repacketization since the last call to opus_repacketizer_init(). + * This means that it must have the same coding mode, audio bandwidth, frame + * size, and channel count. + * This can be checked in advance by examining the top 6 bits of the first + * byte of the packet, and ensuring they match the top 6 bits of the first + * byte of any previously submitted packet. + * The total duration of audio in the repacketizer state also must not exceed + * 120 ms, the maximum duration of a single packet, after adding this packet. + * + * The contents of the current repacketizer state can be extracted into new + * packets using opus_repacketizer_out() or opus_repacketizer_out_range(). + * + * In order to add a packet with a different configuration or to add more + * audio beyond 120 ms, you must clear the repacketizer state by calling + * opus_repacketizer_init(). + * If a packet is too large to add to the current repacketizer state, no part + * of it is added, even if it contains multiple frames, some of which might + * fit. + * If you wish to be able to add parts of such packets, you should first use + * another repacketizer to split the packet into pieces and add them + * individually. + * @see opus_repacketizer_out_range + * @see opus_repacketizer_out + * @see opus_repacketizer_init + * @param rp OpusRepacketizer*: The repacketizer state to which to + * add the packet. + * @param[in] data const unsigned char*: The packet data. + * The application must ensure + * this pointer remains valid + * until the next call to + * opus_repacketizer_init() or + * opus_repacketizer_destroy(). + * @param len opus_int32: The number of bytes in the packet data. + * @returns An error code indicating whether or not the operation succeeded. + * @retval #OPUS_OK The packet's contents have been added to the repacketizer + * state. + * @retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence, + * the packet's TOC sequence was not compatible + * with previously submitted packets (because + * the coding mode, audio bandwidth, frame size, + * or channel count did not match), or adding + * this packet would increase the total amount of + * audio stored in the repacketizer state to more + * than 120 ms. + */ +OPUS_EXPORT int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param begin int: The index of the first frame in the current + * repacketizer state to include in the output. + * @param end int: One past the index of the last frame in the + * current repacketizer state to include in the + * output. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1276 for a single frame, + * or for multiple frames, + * 1277*(end-begin). + * However, 1*(end-begin) plus + * the size of all packet data submitted to + * the repacketizer since the last call to + * opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG [begin,end) was an invalid range of + * frames (begin < 0, begin >= end, or end > + * opus_repacketizer_get_nb_frames()). + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Return the total number of frames contained in packet data submitted to + * the repacketizer state so far via opus_repacketizer_cat() since the last + * call to opus_repacketizer_init() or opus_repacketizer_create(). + * This defines the valid range of packets that can be extracted with + * opus_repacketizer_out_range() or opus_repacketizer_out(). + * @param rp OpusRepacketizer*: The repacketizer state containing the + * frames. + * @returns The total number of frames contained in the packet data submitted + * to the repacketizer state. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * This is a convenience routine that returns all the data submitted so far + * in a single packet. + * It is equivalent to calling + * @code + * opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp), + * data, maxlen) + * @endcode + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1277*opus_repacketizer_get_nb_frames(rp). + * However, + * 1*opus_repacketizer_get_nb_frames(rp) + * plus the size of all packet data + * submitted to the repacketizer since the + * last call to opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_H */ diff --git a/quakespasm/MacOSX/codecs/include/opus/opus_defines.h b/quakespasm/MacOSX/codecs/include/opus/opus_defines.h new file mode 100644 index 00000000..0b8d8bb8 --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opus/opus_defines.h @@ -0,0 +1,655 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus_defines.h + * @brief Opus reference implementation constants + */ + +#ifndef OPUS_DEFINES_H +#define OPUS_DEFINES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @defgroup opus_errorcodes Error codes + * @{ + */ +/** No error @hideinitializer*/ +#define OPUS_OK 0 +/** One or more invalid/out of range arguments @hideinitializer*/ +#define OPUS_BAD_ARG -1 +/** The mode struct passed is invalid @hideinitializer*/ +#define OPUS_BUFFER_TOO_SMALL -2 +/** An internal error was detected @hideinitializer*/ +#define OPUS_INTERNAL_ERROR -3 +/** The compressed data passed is corrupted @hideinitializer*/ +#define OPUS_INVALID_PACKET -4 +/** Invalid/unsupported request number @hideinitializer*/ +#define OPUS_UNIMPLEMENTED -5 +/** An encoder or decoder structure is invalid or already freed @hideinitializer*/ +#define OPUS_INVALID_STATE -6 +/** Memory allocation has failed @hideinitializer*/ +#define OPUS_ALLOC_FAIL -7 +/**@}*/ + +/** @cond OPUS_INTERNAL_DOC */ +/**Export control for opus functions */ + +#ifndef OPUS_EXPORT +# if defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) +# elif defined(WIN32) && !defined(__MINGW32__) +# ifdef OPUS_BUILD +# define OPUS_EXPORT __declspec(dllexport) +# else +# define OPUS_EXPORT +# endif +# else +# define OPUS_EXPORT +# endif +#endif + +# if !defined(OPUS_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OPUS_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OPUS_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(3,0) +# define OPUS_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define OPUS_RESTRICT __restrict +# else +# define OPUS_RESTRICT +# endif +#else +# define OPUS_RESTRICT restrict +#endif + +/**Warning attributes for opus functions + * NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out + * some paranoid null checks. */ +#if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +# define OPUS_WARN_UNUSED_RESULT +#endif +#if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +#else +# define OPUS_ARG_NONNULL(_x) +#endif + +/** These are the actual Encoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +#define OPUS_SET_APPLICATION_REQUEST 4000 +#define OPUS_GET_APPLICATION_REQUEST 4001 +#define OPUS_SET_BITRATE_REQUEST 4002 +#define OPUS_GET_BITRATE_REQUEST 4003 +#define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004 +#define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005 +#define OPUS_SET_VBR_REQUEST 4006 +#define OPUS_GET_VBR_REQUEST 4007 +#define OPUS_SET_BANDWIDTH_REQUEST 4008 +#define OPUS_GET_BANDWIDTH_REQUEST 4009 +#define OPUS_SET_COMPLEXITY_REQUEST 4010 +#define OPUS_GET_COMPLEXITY_REQUEST 4011 +#define OPUS_SET_INBAND_FEC_REQUEST 4012 +#define OPUS_GET_INBAND_FEC_REQUEST 4013 +#define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014 +#define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015 +#define OPUS_SET_DTX_REQUEST 4016 +#define OPUS_GET_DTX_REQUEST 4017 +#define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020 +#define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021 +#define OPUS_SET_FORCE_CHANNELS_REQUEST 4022 +#define OPUS_GET_FORCE_CHANNELS_REQUEST 4023 +#define OPUS_SET_SIGNAL_REQUEST 4024 +#define OPUS_GET_SIGNAL_REQUEST 4025 +#define OPUS_GET_LOOKAHEAD_REQUEST 4027 +/* #define OPUS_RESET_STATE 4028 */ +#define OPUS_GET_SAMPLE_RATE_REQUEST 4029 +#define OPUS_GET_FINAL_RANGE_REQUEST 4031 +#define OPUS_GET_PITCH_REQUEST 4033 +#define OPUS_SET_GAIN_REQUEST 4034 +#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ +#define OPUS_SET_LSB_DEPTH_REQUEST 4036 +#define OPUS_GET_LSB_DEPTH_REQUEST 4037 + +#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 + +/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ + +/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ +#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) +#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) +#define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) +/** @endcond */ + +/** @defgroup opus_ctlvalues Pre-defined values for CTL interface + * @see opus_genericctls, opus_encoderctls + * @{ + */ +/* Values for the various encoder CTLs */ +#define OPUS_AUTO -1000 /**opus_int32: Allowed values: 0-10, inclusive. + * + * @hideinitializer */ +#define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x) +/** Gets the encoder's complexity configuration. + * @see OPUS_SET_COMPLEXITY + * @param[out] x opus_int32 *: Returns a value in the range 0-10, + * inclusive. + * @hideinitializer */ +#define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x) + +/** Configures the bitrate in the encoder. + * Rates from 500 to 512000 bits per second are meaningful, as well as the + * special values #OPUS_AUTO and #OPUS_BITRATE_MAX. + * The value #OPUS_BITRATE_MAX can be used to cause the codec to use as much + * rate as it can, which is useful for controlling the rate by adjusting the + * output buffer size. + * @see OPUS_GET_BITRATE + * @param[in] x opus_int32: Bitrate in bits per second. The default + * is determined based on the number of + * channels and the input sampling rate. + * @hideinitializer */ +#define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x) +/** Gets the encoder's bitrate configuration. + * @see OPUS_SET_BITRATE + * @param[out] x opus_int32 *: Returns the bitrate in bits per second. + * The default is determined based on the + * number of channels and the input + * sampling rate. + * @hideinitializer */ +#define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables variable bitrate (VBR) in the encoder. + * The configured bitrate may not be met exactly because frames must + * be an integer number of bytes in length. + * @warning Only the MDCT mode of Opus can provide hard CBR behavior. + * @see OPUS_GET_VBR + * @see OPUS_SET_VBR_CONSTRAINT + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Hard CBR. For LPC/hybrid modes at very low bit-rate, this can + * cause noticeable quality degradation.
+ *
1
VBR (default). The exact type of VBR is controlled by + * #OPUS_SET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x) +/** Determine if variable bitrate (VBR) is enabled in the encoder. + * @see OPUS_SET_VBR + * @see OPUS_GET_VBR_CONSTRAINT + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Hard CBR.
+ *
1
VBR (default). The exact type of VBR may be retrieved via + * #OPUS_GET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables constrained VBR in the encoder. + * This setting is ignored when the encoder is in CBR mode. + * @warning Only the MDCT mode of Opus currently heeds the constraint. + * Speech mode ignores it completely, hybrid mode may fail to obey it + * if the LPC layer uses more bitrate than the constraint would have + * permitted. + * @see OPUS_GET_VBR_CONSTRAINT + * @see OPUS_SET_VBR + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default). This creates a maximum of one + * frame of buffering delay assuming a transport with a + * serialization speed of the nominal bitrate.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x) +/** Determine if constrained VBR is enabled in the encoder. + * @see OPUS_SET_VBR_CONSTRAINT + * @see OPUS_GET_VBR + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default).
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x) + +/** Configures mono/stereo forcing in the encoder. + * This can force the encoder to produce packets encoded as either mono or + * stereo, regardless of the format of the input audio. This is useful when + * the caller knows that the input signal is currently a mono source embedded + * in a stereo stream. + * @see OPUS_GET_FORCE_CHANNELS + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x) +/** Gets the encoder's forced channel configuration. + * @see OPUS_SET_FORCE_CHANNELS + * @param[out] x opus_int32 *: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x) + +/** Configures the maximum bandpass that the encoder will select automatically. + * Applications should normally use this instead of #OPUS_SET_BANDWIDTH + * (leaving that set to the default, #OPUS_AUTO). This allows the + * application to set an upper bound based on the type of input it is + * providing, but still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_MAX_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Gets the encoder's configured maximum allowed bandpass. + * @see OPUS_SET_MAX_BANDWIDTH + * @param[out] x opus_int32 *: Allowed values: + *
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Sets the encoder's bandpass to a specific value. + * This prevents the encoder from automatically selecting the bandpass based + * on the available bitrate. If an application knows the bandpass of the input + * audio it is providing, it should normally use #OPUS_SET_MAX_BANDWIDTH + * instead, which still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Configures the type of signal being encoded. + * This is a hint which helps the encoder's mode selection. + * @see OPUS_GET_SIGNAL + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal type. + * @see OPUS_SET_SIGNAL + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x) + + +/** Configures the encoder's intended application. + * The initial value is a mandatory argument to the encoder_create function. + * @see OPUS_GET_APPLICATION + * @param[in] x opus_int32: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured application. + * @see OPUS_SET_APPLICATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the sampling rate the encoder or decoder was initialized with. + * This simply returns the Fs value passed to opus_encoder_init() + * or opus_decoder_init(). + * @param[out] x opus_int32 *: Sampling rate of encoder or decoder. + * @hideinitializer + */ +#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x) + +/** Gets the total samples of delay added by the entire codec. + * This can be queried by the encoder and then the provided number of samples can be + * skipped on from the start of the decoder's output to provide time aligned input + * and output. From the perspective of a decoding application the real data begins this many + * samples late. + * + * The decoder contribution to this delay is identical for all decoders, but the + * encoder portion of the delay may vary from implementation to implementation, + * version to version, or even depend on the encoder's initial configuration. + * Applications needing delay compensation should call this CTL rather than + * hard-coding a value. + * @param[out] x opus_int32 *: Number of lookahead samples + * @hideinitializer */ +#define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of inband forward error correction (FEC). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_INBAND_FEC + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable inband FEC (default).
+ *
1
Enable inband FEC.
+ *
+ * @hideinitializer */ +#define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of inband forward error correction. + * @see OPUS_SET_INBAND_FEC + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Inband FEC disabled (default).
+ *
1
Inband FEC enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's expected packet loss percentage. + * Higher values with trigger progressively more loss resistant behavior in the encoder + * at the expense of quality at a given bitrate in the lossless case, but greater quality + * under loss. + * @see OPUS_GET_PACKET_LOSS_PERC + * @param[in] x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured packet loss percentage. + * @see OPUS_SET_PACKET_LOSS_PERC + * @param[out] x opus_int32 *: Returns the configured loss percentage + * in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of discontinuous transmission (DTX). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_DTX + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable DTX (default).
+ *
1
Enabled DTX.
+ *
+ * @hideinitializer */ +#define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of discontinuous transmission. + * @see OPUS_SET_DTX + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
DTX disabled (default).
+ *
1
DTX enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) +/** Configures the depth of signal being encoded. + * This is a hint which helps the encoder identify silence and near-silence. + * @see OPUS_GET_LSB_DEPTH + * @param[in] x opus_int32: Input precision in bits, between 8 and 24 + * (default: 24). + * @hideinitializer */ +#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal depth. + * @see OPUS_SET_LSB_DEPTH + * @param[out] x opus_int32 *: Input precision in bits, between 8 and + * 24 (default: 24). + * @hideinitializer */ +#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the duration (in samples) of the last packet successfully decoded or concealed. + * @param[out] x opus_int32 *: Number of samples (at current sampling rate). + * @hideinitializer */ +#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) +/**@}*/ + +/** @defgroup opus_genericctls Generic CTLs + * + * These macros are used with the \c opus_decoder_ctl and + * \c opus_encoder_ctl calls to generate a particular + * request. + * + * When called on an \c OpusDecoder they apply to that + * particular decoder instance. When called on an + * \c OpusEncoder they apply to the corresponding setting + * on that encoder instance, if present. + * + * Some usage examples: + * + * @code + * int ret; + * opus_int32 pitch; + * ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); + * if (ret == OPUS_OK) return ret; + * + * opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); + * opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); + * + * opus_int32 enc_bw, dec_bw; + * opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); + * opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); + * if (enc_bw != dec_bw) { + * printf("packet bandwidth mismatch!\n"); + * } + * @endcode + * + * @see opus_encoder, opus_decoder_ctl, opus_encoder_ctl, opus_decoderctls, opus_encoderctls + * @{ + */ + +/** Resets the codec state to be equivalent to a freshly initialized state. + * This should be called when switching streams in order to prevent + * the back to back decoding from giving different results from + * one at a time decoding. + * @hideinitializer */ +#define OPUS_RESET_STATE 4028 + +/** Gets the final state of the codec's entropy coder. + * This is used for testing purposes, + * The encoder and decoder state should be identical after coding a payload + * (assuming no data corruption or software bugs) + * + * @param[out] x opus_uint32 *: Entropy coder state + * + * @hideinitializer */ +#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x) + +/** Gets the pitch of the last decoded frame, if available. + * This can be used for any post-processing algorithm requiring the use of pitch, + * e.g. time stretching/shortening. If the last frame was not voiced, or if the + * pitch was not coded in the frame, then zero is returned. + * + * This CTL is only implemented for decoder instances. + * + * @param[out] x opus_int32 *: pitch period at 48 kHz (or 0 if not available) + * + * @hideinitializer */ +#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the encoder's configured bandpass or the decoder's last bandpass. + * @see OPUS_SET_BANDWIDTH + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_decoderctls Decoder related CTLs + * @see opus_genericctls, opus_encoderctls, opus_decoder + * @{ + */ + +/** Configures decoder gain adjustment. + * Scales the decoded output by a factor specified in Q8 dB units. + * This has a maximum range of -32768 to 32767 inclusive, and returns + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. + * + * gain = pow(10, x/(20.0*256)) + * + * @param[in] x opus_int32: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) +/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN + * + * @param[out] x opus_int32 *: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_libinfo Opus library information functions + * @{ + */ + +/** Converts an opus error code into a human readable string. + * + * @param[in] error int: Error number + * @returns Error string + */ +OPUS_EXPORT const char *opus_strerror(int error); + +/** Gets the libopus version string. + * + * @returns Version string + */ +OPUS_EXPORT const char *opus_get_version_string(void); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_DEFINES_H */ diff --git a/quakespasm/MacOSX/codecs/include/opus/opus_multistream.h b/quakespasm/MacOSX/codecs/include/opus/opus_multistream.h new file mode 100644 index 00000000..64427870 --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opus/opus_multistream.h @@ -0,0 +1,632 @@ +/* Copyright (c) 2011 Xiph.Org Foundation + Written by Jean-Marc Valin */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus_multistream.h + * @brief Opus reference implementation multistream API + */ + +#ifndef OPUS_MULTISTREAM_H +#define OPUS_MULTISTREAM_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** Macros to trigger compilation errors when the wrong types are provided to a + * CTL. */ +/**@{*/ +#define __opus_check_encstate_ptr(ptr) ((ptr) + ((ptr) - (OpusEncoder**)(ptr))) +#define __opus_check_decstate_ptr(ptr) ((ptr) + ((ptr) - (OpusDecoder**)(ptr))) +/**@}*/ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 +#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 +/**@}*/ + +/** @endcond */ + +/** @defgroup opus_multistream_ctls Multistream specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, and + * @ref opus_decoderctls may be applied to a multistream encoder or decoder as + * well. + * In addition, you may retrieve the encoder or decoder state for an specific + * stream via #OPUS_MULTISTREAM_GET_ENCODER_STATE or + * #OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually. + */ +/**@{*/ + +/** Gets the encoder state for an individual stream of a multistream encoder. + * @param[in] x opus_int32: The index of the stream whose encoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the encoder. + * @param[out] y OpusEncoder**: Returns a pointer to the given + * encoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x,y) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) + +/** Gets the decoder state for an individual stream of a multistream decoder. + * @param[in] x opus_int32: The index of the stream whose decoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the decoder. + * @param[out] y OpusDecoder**: Returns a pointer to the given + * decoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_DECODER_STATE(x,y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) + +/**@}*/ + +/** @defgroup opus_multistream Opus Multistream API + * @{ + * + * The multistream API allows individual Opus streams to be combined into a + * single packet, enabling support for up to 255 channels. Unlike an + * elementary Opus stream, the encoder and decoder must negotiate the channel + * configuration before the decoder can successfully interpret the data in the + * packets produced by the encoder. Some basic information, such as packet + * duration, can be computed without any special negotiation. + * + * The format for multistream Opus packets is defined in the + * Ogg + * encapsulation specification and is based on the self-delimited Opus + * framing described in Appendix B of RFC 6716. + * Normal Opus packets are just a degenerate case of multistream Opus packets, + * and can be encoded or decoded with the multistream API by setting + * streams to 1 when initializing the encoder or + * decoder. + * + * Multistream Opus streams can contain up to 255 elementary Opus streams. + * These may be either "uncoupled" or "coupled", indicating that the decoder + * is configured to decode them to either 1 or 2 channels, respectively. + * The streams are ordered so that all coupled streams appear at the + * beginning. + * + * A mapping table defines which decoded channel i + * should be used for each input/output (I/O) channel j. This table is + * typically provided as an unsigned char array. + * Let i = mapping[j] be the index for I/O channel j. + * If i < 2*coupled_streams, then I/O channel j is + * encoded as the left channel of stream (i/2) if i + * is even, or as the right channel of stream (i/2) if + * i is odd. Otherwise, I/O channel j is encoded as + * mono in stream (i - coupled_streams), unless it has the special + * value 255, in which case it is omitted from the encoding entirely (the + * decoder will reproduce it as silence). Each value i must either + * be the special value 255 or be less than streams + coupled_streams. + * + * The output channels specified by the encoder + * should use the + * Vorbis + * channel ordering. A decoder may wish to apply an additional permutation + * to the mapping the encoder used to achieve a different output channel + * order (e.g. for outputing in WAV order). + * + * Each multistream packet contains an Opus packet for each stream, and all of + * the Opus packets in a single multistream packet must have the same + * duration. Therefore the duration of a multistream packet can be extracted + * from the TOC sequence of the first stream, which is located at the + * beginning of the packet, just like an elementary Opus stream: + * + * @code + * int nb_samples; + * int nb_frames; + * nb_frames = opus_packet_get_nb_frames(data, len); + * if (nb_frames < 1) + * return nb_frames; + * nb_samples = opus_packet_get_samples_per_frame(data, 48000) * nb_frames; + * @endcode + * + * The general encoding and decoding process proceeds exactly the same as in + * the normal @ref opus_encoder and @ref opus_decoder APIs. + * See their documentation for an overview of how to use the corresponding + * multistream functions. + */ + +/** Opus multistream encoder state. + * This contains the complete state of a multistream Opus encoder. + * It is position independent and can be freely copied. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_init + */ +typedef struct OpusMSEncoder OpusMSEncoder; + +/** Opus multistream decoder state. + * This contains the complete state of a multistream Opus decoder. + * It is position independent and can be freely copied. + * @see opus_multistream_decoder_create + * @see opus_multistream_decoder_init + */ +typedef struct OpusMSDecoder OpusMSDecoder; + +/**\name Multistream encoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSEncoder structure. + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream encoder state. + * Call opus_multistream_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const 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(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Encodes a multistream Opus frame. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode( + OpusMSEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a multistream Opus frame from floating point input. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode_float( + OpusMSEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusMSEncoder allocated by + * opus_multistream_encoder_create(). + * @param st OpusMSEncoder*: Multistream encoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_encoder_destroy(OpusMSEncoder *st); + +/** Perform a CTL function on a multistream Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +/**\name Multistream decoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSDecoder structure. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_decoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream decoder state. + * Call opus_multistream_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSDecoder *opus_multistream_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int *error +) OPUS_ARG_NONNULL(5); + +/** Intialize a previously allocated decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_decoder_create + * @see opus_multistream_deocder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_decoder_init( + OpusMSDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Decode a multistream Opus packet. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode a multistream Opus packet with floating point output. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on a multistream Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusMSDecoder allocated by + * opus_multistream_decoder_create(). + * @param st OpusMSDecoder: Multistream decoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st); + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_MULTISTREAM_H */ diff --git a/quakespasm/MacOSX/codecs/include/opus/opus_types.h b/quakespasm/MacOSX/codecs/include/opus/opus_types.h new file mode 100644 index 00000000..b28e03ae --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opus/opus_types.h @@ -0,0 +1,159 @@ +/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */ +/* Modified by Jean-Marc Valin */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ +/* opus_types.h based on ogg_types.h from libogg */ + +/** + @file opus_types.h + @brief Opus reference implementation types +*/ +#ifndef OPUS_TYPES_H +#define OPUS_TYPES_H + +/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */ +#if (defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H)) +#include + + typedef int16_t opus_int16; + typedef uint16_t opus_uint16; + typedef int32_t opus_int32; + typedef uint32_t opus_uint32; +#elif defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t opus_int32; + typedef _G_uint32_t opus_uint32; + typedef _G_int16 opus_int16; + typedef _G_uint16 opus_uint16; +# elif defined(__MINGW32__) + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; +# elif defined(__MWERKS__) + typedef int opus_int32; + typedef unsigned int opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; +# else + /* MSVC/Borland */ + typedef __int32 opus_int32; + typedef unsigned __int32 opus_uint32; + typedef __int16 opus_int16; + typedef unsigned __int16 opus_uint16; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 opus_int16; + typedef UInt16 opus_uint16; + typedef SInt32 opus_int32; + typedef UInt32 opus_uint32; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t opus_int16; + typedef u_int16_t opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16 opus_int16; + typedef u_int16 opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int opus_int32; + typedef unsigned opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short opus_int16; + typedef unsigned short opus_uint16; + typedef signed int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef long opus_int32; + typedef unsigned long opus_uint32; + +#elif defined(CONFIG_TI_C6X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#else + + /* Give up, take a reasonable guess */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#endif + +#define opus_int int /* used for counters etc; at least 16 bits */ +#define opus_int64 long long +#define opus_int8 signed char + +#define opus_uint unsigned int /* used for counters etc; at least 16 bits */ +#define opus_uint64 unsigned long long +#define opus_uint8 unsigned char + +#endif /* OPUS_TYPES_H */ diff --git a/quakespasm/MacOSX/codecs/include/opus/opusfile.h b/quakespasm/MacOSX/codecs/include/opus/opusfile.h new file mode 100644 index 00000000..4ac029ad --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opus/opusfile.h @@ -0,0 +1,1623 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE libopusfile 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 libopusfile SOURCE CODE IS (C) COPYRIGHT 1994-2012 * + * by the Xiph.Org Foundation and contributors http://www.xiph.org/ * + * * + ******************************************************************** + + function: stdio-based convenience library for opening/seeking/decoding + last mod: $Id: vorbisfile.h 17182 2010-04-29 03:48:32Z xiphmont $ + + ********************************************************************/ +#if !defined(_opusfile_h) +# define _opusfile_h (1) + +/**\mainpage + \section Introduction + + This is the documentation for the libopusfile C API. + + The libopusfile package provides a convenient high-level API for + decoding and basic manipulation of all Ogg Opus audio streams. + libopusfile is implemented as a layer on top of Xiph.Org's + reference + libogg + and + libopus + libraries. + + libopusfile provides several sets of built-in routines for + file/stream access, and may also use custom stream I/O routines provided by + the embedded environment. + There are built-in I/O routines provided for ANSI-compliant + stdio (FILE *), memory buffers, and URLs + (including URLs, plus optionally and URLs). + + \section Organization + + The main API is divided into several sections: + - \ref stream_open_close + - \ref stream_info + - \ref stream_decoding + - \ref stream_seeking + + Several additional sections are not tied to the main API. + - \ref stream_callbacks + - \ref header_info + - \ref error_codes*/ + + +# if defined(__cplusplus) +extern "C" { +# endif + +# include +# include +# include +# include + +/*Enable special features for gcc and gcc-compatible compilers.*/ +# if !defined(OP_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OP_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OP_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +# if OP_GNUC_PREREQ(4,0) +# pragma GCC visibility push(default) +# endif + +typedef struct OpusHead OpusHead; +typedef struct OpusTags OpusTags; +typedef struct OggOpusFile OggOpusFile; + +/*Warning attributes for libopusfile functions.*/ +# if OP_GNUC_PREREQ(3,4) +# define OP_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) +# else +# define OP_WARN_UNUSED_RESULT +# endif +# if OP_GNUC_PREREQ(3,4) +# define OP_ARG_NONNULL(_x) __attribute__((__nonnull__(_x))) +# else +# define OP_ARG_NONNULL(_x) +# endif + +/**\defgroup error_codes Error Codes*/ +/*@{*/ +/**\name List of possible error codes + Many of the functions in this library return a negative error code when a + function fails. + This list provides a brief explanation of the common errors. + See each individual function for more details on what a specific error code + means in that context.*/ +/*@{*/ + +/**A request did not succeed.*/ +#define OP_FALSE (-1) +/*Currently not used externally.*/ +#define OP_EOF (-2) +/**There was a hole in the page sequence numbers (e.g., a page was corrupt or + missing).*/ +#define OP_HOLE (-3) +/**An underlying read, seek, or tell operation failed when it should have + succeeded.*/ +#define OP_EREAD (-128) +/**A NULL pointer was passed where one was unexpected, or an + internal memory allocation failed, or an internal library error was + encountered.*/ +#define OP_EFAULT (-129) +/**The stream used a feature that is not implemented, such as an unsupported + channel family.*/ +#define OP_EIMPL (-130) +/**One or more parameters to a function were invalid.*/ +#define OP_EINVAL (-131) +/**A purported Ogg Opus stream did not begin with an Ogg page, a purported + header packet did not start with one of the required strings, "OpusHead" or + "OpusTags", or a link in a chained file was encountered that did not + contain any logical Opus streams.*/ +#define OP_ENOTFORMAT (-132) +/**A required header packet was not properly formatted, contained illegal + values, or was missing altogether.*/ +#define OP_EBADHEADER (-133) +/**The ID header contained an unrecognized version number.*/ +#define OP_EVERSION (-134) +/*Currently not used at all.*/ +#define OP_ENOTAUDIO (-135) +/**An audio packet failed to decode properly. + This is usually caused by a multistream Ogg packet where the durations of + the individual Opus packets contained in it are not all the same.*/ +#define OP_EBADPACKET (-136) +/**We failed to find data we had seen before, or the bitstream structure was + sufficiently malformed that seeking to the target destination was + impossible.*/ +#define OP_EBADLINK (-137) +/**An operation that requires seeking was requested on an unseekable stream.*/ +#define OP_ENOSEEK (-138) +/**The first or last granule position of a link failed basic validity checks.*/ +#define OP_EBADTIMESTAMP (-139) + +/*@}*/ +/*@}*/ + +/**\defgroup header_info Header Information*/ +/*@{*/ + +/**The maximum number of channels in an Ogg Opus stream.*/ +#define OPUS_CHANNEL_COUNT_MAX (255) + +/**Ogg Opus bitstream information. + This contains the basic playback parameters for a stream, and corresponds to + the initial ID header packet of an Ogg Opus stream.*/ +struct OpusHead{ + /**The Ogg Opus format version, in the range 0...255. + The top 4 bits represent a "major" version, and the bottom four bits + represent backwards-compatible "minor" revisions. + The current specification describes version 1. + This library will recognize versions up through 15 as backwards compatible + with the current specification. + An earlier draft of the specification described a version 0, but the only + difference between version 1 and version 0 is that version 0 did + not specify the semantics for handling the version field.*/ + int version; + /**The number of channels, in the range 1...255.*/ + int channel_count; + /**The number of samples that should be discarded from the beginning of the + stream.*/ + unsigned pre_skip; + /**The sampling rate of the original input. + All Opus audio is coded at 48 kHz, and should also be decoded at 48 kHz + for playback (unless the target hardware does not support this sampling + rate). + However, this field may be used to resample the audio back to the original + sampling rate, for example, when saving the output to a file.*/ + opus_uint32 input_sample_rate; + /**The gain to apply to the decoded output, in dB, as a Q8 value in the range + -32768...32767. + The decoder will automatically scale the output by + pow(10,output_gain/(20.0*256)).*/ + int output_gain; + /**The channel mapping family, in the range 0...255. + Channel mapping family 0 covers mono or stereo in a single stream. + Channel mapping family 1 covers 1 to 8 channels in one or more streams, + using the Vorbis speaker assignments. + Channel mapping family 255 covers 1 to 255 channels in one or more + streams, but without any defined speaker assignment.*/ + int mapping_family; + /**The number of Opus streams in each Ogg packet, in the range 1...255.*/ + int stream_count; + /**The number of coupled Opus streams in each Ogg packet, in the range + 0...127. + This must satisfy 0 <= coupled_count <= stream_count and + coupled_count + stream_count <= 255. + The coupled streams appear first, before all uncoupled streams, in an Ogg + Opus packet.*/ + int coupled_count; + /**The mapping from coded stream channels to output channels. + Let index=mapping[k] be the value for channel k. + If index<2*coupled_count, then it refers to the left channel + from stream (index/2) if even, and the right channel from + stream (index/2) if odd. + Otherwise, it refers to the output of the uncoupled stream + (index-coupled_count).*/ + unsigned char mapping[OPUS_CHANNEL_COUNT_MAX]; +}; + +/**The metadata from an Ogg Opus stream. + + This structure holds the in-stream metadata corresponding to the 'comment' + header packet of an Ogg Opus stream. + The comment header is meant to be used much like someone jotting a quick + note on the label of a CD. + It should be a short, to the point text note that can be more than a couple + words, but not more than a short paragraph. + + The metadata is stored as a series of (tag, value) pairs, in length-encoded + string vectors, using the same format as Vorbis (without the final "framing + bit"), Theora, and Speex, except for the packet header. + The first occurrence of the '=' character delimits the tag and value. + A particular tag may occur more than once, and order is significant. + The character set encoding for the strings is always UTF-8, but the tag + names are limited to ASCII, and treated as case-insensitive. + See the Vorbis + comment header specification for details. + + In filling in this structure, libopusfile will null-terminate the + #user_comments strings for safety. + However, the bitstream format itself treats them as 8-bit clean vectors, + possibly containing NUL characters, so the #comment_lengths array should be + treated as their authoritative length. + + This structure is binary and source-compatible with a + vorbis_comment, and pointers to it may be freely cast to + vorbis_comment pointers, and vice versa. + It is provided as a separate type to avoid introducing a compile-time + dependency on the libvorbis headers.*/ +struct OpusTags{ + /**The array of comment string vectors.*/ + char **user_comments; + /**An array of the corresponding length of each vector, in bytes.*/ + int *comment_lengths; + /**The total number of comment streams.*/ + int comments; + /**The null-terminated vendor string. + This identifies the software used to encode the stream.*/ + char *vendor; +}; + +/**\name Functions for manipulating header data + + These functions manipulate the #OpusHead and #OpusTags structures, + which describe the audio parameters and tag-value metadata, respectively. + These can be used to query the headers returned by libopusfile, or + to parse Opus headers from sources other than an Ogg Opus stream, provided + they use the same format.*/ +/*@{*/ + +/**Parses the contents of the ID header packet of an Ogg Opus stream. + \param[out] _head Returns the contents of the parsed packet. + The contents of this structure are untouched on error. + This may be NULL to merely test the header + for validity. + \param[in] _data The contents of the ID header packet. + \param _len The number of bytes of data in the ID header packet. + \return 0 on success or a negative value on error. + \retval #OP_ENOTFORMAT If the data does not start with the "OpusHead" + string. + \retval #OP_EVERSION If the version field signaled a version this library + does not know how to parse. + \retval #OP_EIMPL If the channel mapping family was 255, which general + purpose players should not attempt to play. + \retval #OP_EBADHEADER If the contents of the packet otherwise violate the + Ogg Opus specification: +
    +
  • Insufficient data,
  • +
  • Too much data for the known minor versions,
  • +
  • An unrecognized channel mapping family,
  • +
  • Zero channels or too many channels,
  • +
  • Zero coded streams,
  • +
  • Too many coupled streams, or
  • +
  • An invalid channel mapping index.
  • +
*/ +OP_WARN_UNUSED_RESULT int opus_head_parse(OpusHead *_head, + const unsigned char *_data,size_t _len) OP_ARG_NONNULL(2); + +/**Converts a granule position to a sample offset for a given Ogg Opus stream. + The sample offset is simply _gp-_head->pre_skip. + Granule position values smaller than OpusHead#pre_skip correspond to audio + that should never be played, and thus have no associated sample offset. + This function returns -1 for such values. + This function also correctly handles extremely large granule positions, + which may have wrapped around to a negative number when stored in a signed + ogg_int64_t value. + \param _head The #OpusHead information from the ID header of the stream. + \param _gp The granule position to convert. + \return The sample offset associated with the given granule position + (counting at a 48 kHz sampling rate), or the special value -1 on + error (i.e., the granule position was smaller than the pre-skip + amount).*/ +ogg_int64_t opus_granule_sample(const OpusHead *_head,ogg_int64_t _gp) + OP_ARG_NONNULL(1); + +/**Parses the contents of the 'comment' header packet of an Ogg Opus stream. + \param[out] _tags An uninitialized #OpusTags structure. + This returns the contents of the parsed packet. + The contents of this structure are untouched on error. + This may be NULL to merely test the header + for validity. + \param[in] _data The contents of the 'comment' header packet. + \param _len The number of bytes of data in the 'info' header packet. + \retval 0 Success. + \retval #OP_ENOTFORMAT If the data does not start with the "OpusTags" + string. + \retval #OP_EBADHEADER If the contents of the packet otherwise violate the + Ogg Opus specification. + \retval #OP_EFAULT If there wasn't enough memory to store the tags.*/ +OP_WARN_UNUSED_RESULT int opus_tags_parse(OpusTags *_tags, + const unsigned char *_data,size_t _len) OP_ARG_NONNULL(2); + +/**Initializes an #OpusTags structure. + This should be called on a freshly allocated #OpusTags structure before + attempting to use it. + \param _tags The #OpusTags structure to initialize.*/ +void opus_tags_init(OpusTags *_tags) OP_ARG_NONNULL(1); + +/**Add a (tag, value) pair to an initialized #OpusTags structure. + \note Neither opus_tags_add() nor opus_tags_add_comment() support values + containing embedded NULs, although the bitstream format does support them. + To add such tags, you will need to manipulate the #OpusTags structure + directly. + \param _tags The #OpusTags structure to add the (tag, value) pair to. + \param _tag A NUL-terminated, case-insensitive, ASCII string containing + the tag to add (without an '=' character). + \param _value A NUL-terminated UTF-8 containing the corresponding value. + \return 0 on success, or a negative value on failure. + \retval #OP_EFAULT An internal memory allocation failed.*/ +int opus_tags_add(OpusTags *_tags,const char *_tag,const char *_value) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2) OP_ARG_NONNULL(3); + +/**Add a comment to an initialized #OpusTags structure. + \note Neither opus_tags_add_comment() nor opus_tags_add() support comments + containing embedded NULs, although the bitstream format does support them. + To add such tags, you will need to manipulate the #OpusTags structure + directly. + \param _tags The #OpusTags structure to add the comment to. + \param _comment A NUL-terminated UTF-8 string containing the comment in + "TAG=value" form. + \return 0 on success, or a negative value on failure. + \retval #OP_EFAULT An internal memory allocation failed.*/ +int opus_tags_add_comment(OpusTags *_tags,const char *_comment) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Look up a comment value by its tag. + \param _tags An initialized #OpusTags structure. + \param _tag The tag to look up. + \param _count The instance of the tag. + The same tag can appear multiple times, each with a distinct + value, so an index is required to retrieve them all. + The order in which these values appear is significant and + should be preserved. + Use opus_tags_query_count() to get the legal range for the + \a _count parameter. + \return A pointer to the queried tag's value. + This points directly to data in the #OpusTags structure. + It should not be modified or freed by the application, and + modifications to the structure may invalidate the pointer. + \retval NULL If no matching tag is found.*/ +const char *opus_tags_query(const OpusTags *_tags,const char *_tag,int _count) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Look up the number of instances of a tag. + Call this first when querying for a specific tag and then iterate over the + number of instances with separate calls to opus_tags_query() to retrieve + all the values for that tag in order. + \param _tags An initialized #OpusTags structure. + \param _tag The tag to look up. + \return The number of instances of this particular tag.*/ +int opus_tags_query_count(const OpusTags *_tags,const char *_tag) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Clears the #OpusTags structure. + This should be called on an #OpusTags structure after it is no longer + needed. + It will free all memory used by the structure members. + \param _tags The #OpusTags structure to clear.*/ +void opus_tags_clear(OpusTags *_tags) OP_ARG_NONNULL(1); + +/*@}*/ + +/*@}*/ + +/**\defgroup url_options URL Reading Options*/ +/*@{*/ +/**\name URL reading options + Options for op_url_stream_create() and associated functions. + These allow you to provide proxy configuration parameters, skip SSL + certificate checks, etc. + Options are processed in order, and if the same option is passed multiple + times, only the value specified by the last occurrence has an effect + (unless otherwise specified). + They may be expanded in the future.*/ +/*@{*/ + +/*These are the raw numbers used to define the request codes. + They should not be used directly.*/ +#define OP_SSL_SKIP_CERTIFICATE_CHECK_REQUEST (6464) +#define OP_HTTP_PROXY_HOST_REQUEST (6528) +#define OP_HTTP_PROXY_PORT_REQUEST (6592) +#define OP_HTTP_PROXY_USER_REQUEST (6656) +#define OP_HTTP_PROXY_PASS_REQUEST (6720) + +#define OP_URL_OPT(_request) ((_request)+(char *)0) + +/*These macros trigger compilation errors or warnings if the wrong types are + provided to one of the URL options.*/ +#define OP_CHECK_INT(_x) ((void)((_x)==(opus_int32)0),(opus_int32)(_x)) +#define OP_CHECK_CONST_CHAR_PTR(_x) ((_x)+((_x)-(const char *)(_x))) + +/**Skip the certificate check when connecting via TLS/SSL (https). + \param _b opus_int32: Whether or not to skip the certificate + check. + The check will be skipped if \a _b is non-zero, and will not be + skipped if \a _b is zero. + \hideinitializer*/ +#define OP_SSL_SKIP_CERTIFICATE_CHECK(_b) \ + OP_URL_OPT(OP_SSL_SKIP_CERTIFICATE_CHECK_REQUEST),OP_CHECK_INT(_b) + +/**Proxy connections through the given host. + If no port is specified via #OP_HTTP_PROXY_PORT, the port number defaults + to 8080 (http-alt). + All proxy parameters are ignored for non-http and non-https URLs. + \param _host const char *: The proxy server hostname. + This may be NULL to disable the use of a proxy + server. + \hideinitializer*/ +#define OP_HTTP_PROXY_HOST(_host) \ + OP_URL_OPT(OP_HTTP_PROXY_HOST_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/**Use the given port when proxying connections. + This option only has an effect if #OP_HTTP_PROXY_HOST is specified with a + non-NULL \a _host. + If this option is not provided, the proxy port number defaults to 8080 + (http-alt). + All proxy parameters are ignored for non-http and non-https URLs. + \param _port opus_int32: The proxy server port. + This must be in the range 0...65535 (inclusive), or the + URL function this is passed to will fail. + \hideinitializer*/ +#define OP_HTTP_PROXY_PORT(_port) \ + OP_URL_OPT(OP_HTTP_PROXY_PORT_REQUEST),OP_CHECK_INT(_port) + +/**Use the given user name for authentication when proxying connections. + All proxy parameters are ignored for non-http and non-https URLs. + \param _user const char *: The proxy server user name. + This may be NULL to disable proxy + authentication. + A non-NULL value only has an effect + if #OP_HTTP_PROXY_HOST and #OP_HTTP_PROXY_PASS + are also specified with non-NULL + arguments. + \hideinitializer*/ +#define OP_HTTP_PROXY_USER(_user) \ + OP_URL_OPT(OP_HTTP_PROXY_USER_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/**Use the given password for authentication when proxying connections. + All proxy parameters are ignored for non-http and non-https URLs. + \param _pass const char *: The proxy server password. + This may be NULL to disable proxy + authentication. + A non-NULL value only has an effect + if #OP_HTTP_PROXY_HOST and #OP_HTTP_PROXY_USER + are also specified with non-NULL + arguments. + \hideinitializer*/ +#define OP_HTTP_PROXY_PASS(_pass) \ + OP_URL_OPT(OP_HTTP_PROXY_PASS_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/*@}*/ +/*@}*/ + +/**\defgroup stream_callbacks Abstract Stream Reading Interface*/ +/*@{*/ +/**\name Functions for reading from streams + These functions define the interface used to read from and seek in a stream + of data. + A stream does not need to implement seeking, but the decoder will not be + able to seek if it does not do so. + These functions also include some convenience routines for working with + standard FILE pointers, complete streams stored in a single + block of memory, or URLs.*/ +/*@{*/ + +typedef struct OpusFileCallbacks OpusFileCallbacks; + +/**Reads up to \a _nbytes bytes of data from \a _stream. + \param _stream The stream to read from. + \param[out] _ptr The buffer to store the data in. + \param _nbytes The maximum number of bytes to read. + This function may return fewer, though it will not + return zero unless it reaches end-of-file. + \return The number of bytes successfully read, or a negative value on + error.*/ +typedef int (*op_read_func)(void *_stream,unsigned char *_ptr,int _nbytes); + +/**Sets the position indicator for \a _stream. + The new position, measured in bytes, is obtained by adding \a _offset + bytes to the position specified by \a _whence. + If \a _whence is set to SEEK_SET, SEEK_CUR, or + SEEK_END, the offset is relative to the start of the stream, + the current position indicator, or end-of-file, respectively. + \retval 0 Success. + \retval -1 Seeking is not supported or an error occurred. + errno need not be set.*/ +typedef int (*op_seek_func)(void *_stream,opus_int64 _offset,int _whence); + +/**Obtains the current value of the position indicator for \a _stream. + \return The current position indicator.*/ +typedef opus_int64 (*op_tell_func)(void *_stream); + +/**Closes the underlying stream. + \retval 0 Success. + \retval EOF An error occurred. + errno need not be set.*/ +typedef int (*op_close_func)(void *_stream); + +/**The callbacks used to access non-FILE stream resources. + The function prototypes are basically the same as for the stdio functions + fread(), fseek(), ftell(), and + fclose(). + The differences are that the FILE * arguments have been + replaced with a void *, which is to be used as a pointer to + whatever internal data these functions might need, that #seek and #tell + take and return 64-bit offsets, and that #seek must return -1 if + the stream is unseekable.*/ +struct OpusFileCallbacks{ + /**Used to read data from the stream. + This must not be NULL.*/ + op_read_func read; + /**Used to seek in the stream. + This may be NULL if seeking is not implemented.*/ + op_seek_func seek; + /**Used to return the current read position in the stream. + This may be NULL if seeking is not implemented.*/ + op_tell_func tell; + /**Used to close the stream when the decoder is freed. + This may be NULL to leave the stream open.*/ + op_close_func close; +}; + +/**Opens a stream with fopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _path The path to the file to open. + \param _mode The mode to open the file in. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_fopen(OpusFileCallbacks *_cb, + const char *_path,const char *_mode) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2) + OP_ARG_NONNULL(3); + +/**Opens a stream with fdopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _fd The file descriptor to open. + \param _mode The mode to open the file in. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_fdopen(OpusFileCallbacks *_cb, + int _fd,const char *_mode) OP_ARG_NONNULL(1) OP_ARG_NONNULL(3); + +/**Opens a stream with freopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _path The path to the file to open. + \param _mode The mode to open the file in. + \param _stream A stream previously returned by op_fopen(), op_fdopen(), + or op_freopen(). + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_freopen(OpusFileCallbacks *_cb, + const char *_path,const char *_mode,void *_stream) OP_ARG_NONNULL(1) + OP_ARG_NONNULL(2) OP_ARG_NONNULL(3) OP_ARG_NONNULL(4); + +/**Creates a stream that reads from the given block of memory. + This block of memory must contain the complete stream to decode. + This is useful for caching small streams (e.g., sound effects) in RAM. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will be + filled in here. + \param _data The block of memory to read from. + \param _size The size of the block of memory. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_mem_stream_create(OpusFileCallbacks *_cb, + const unsigned char *_data,size_t _size) OP_ARG_NONNULL(1); + +/**Creates a stream that reads from the given URL. + This function behaves identically to op_url_stream_create(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will + be filled in here. + \param _url The URL to read from. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[in,out] _ap A list of the \ref url_options "optional flags" to use. + This is a variable-length list of options terminated + with NULL. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_url_stream_vcreate(OpusFileCallbacks *_cb, + const char *_url,va_list _ap) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Creates a stream that reads from the given URL using the specified proxy. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will be + filled in here. + \param _url The URL to read from. + Currently only the , , and schemes + are supported. + Both and may be disabled at compile time, + in which case opening such URLs will always fail. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated with + NULL. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_url_stream_create(OpusFileCallbacks *_cb, + const char *_url,...) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_open_close Opening and Closing*/ +/*@{*/ +/**\name Functions for opening and closing streams + + These functions allow you to test a stream to see if it is Opus, open it, + and close it. + Several flavors are provided for each of the built-in stream types, plus a + more general version which takes a set of application-provided callbacks.*/ +/*@{*/ + +/**Test to see if this is an Opus stream. + For good results, you will need at least 57 bytes (for a pure Opus-only + stream). + Something like 512 bytes will give more reliable results for multiplexed + streams. + This function is meant to be a quick-rejection filter. + Its purpose is not to guarantee that a stream is a valid Opus stream, but to + ensure that it looks enough like Opus that it isn't going to be recognized + as some other format (except possibly an Opus stream that is also + multiplexed with other codecs, such as video). + \param[out] _head The parsed ID header contents. + You may pass NULL if you do not need + this information. + If the function fails, the contents of this structure + remain untouched. + \param _initial_data An initial buffer of data from the start of the + stream. + \param _initial_bytes The number of bytes in \a _initial_data. + \return 0 if the data appears to be Opus, or a negative value on error. + \retval #OP_FALSE There was not enough data to tell if this was an Opus + stream or not. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL The stream used a feature that is not implemented, + such as an unsupported channel family. + \retval #OP_ENOTFORMAT If the data did not contain a recognizable ID + header for an Opus stream. + \retval #OP_EVERSION If the version field signaled a version this library + does not know how to parse. + \retval #OP_EBADHEADER The ID header was not properly formatted or contained + illegal values.*/ +int op_test(OpusHead *_head, + const unsigned char *_initial_data,size_t _initial_bytes); + +/**Open a stream from the given file path. + \param _path The path to the file to open. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + The failure code will be #OP_EFAULT if the file could not + be opened, or one of the other failure codes from + op_open_callbacks() otherwise. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_file(const char *_path,int *_error) + OP_ARG_NONNULL(1); + +/**Open a stream from a memory buffer. + \param _data The memory buffer to open. + \param _size The number of bytes in the buffer. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_memory(const unsigned char *_data, + size_t _size,int *_error); + +/**Open a stream from a URL. + This function behaves identically to op_open_url(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always + fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \param[in,out] _ap A list of the \ref url_options "optional flags" to + use. + This is a variable-length list of options terminated + with NULL. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_vopen_url(const char *_url, + int *_error,va_list _ap) OP_ARG_NONNULL(1); + +/**Open a stream from a URL. + However, this approach will not work for live streams or HTTP/1.0 servers + (which do not support Range requets). + \param _url The URL to open. + Currently only the , , and schemes + are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated with + NULL. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_url(const char *_url, + int *_error,...) OP_ARG_NONNULL(1); + +/**Open a stream using the given set of callbacks to access it. + \param _source The stream to read from (e.g., a FILE *). + \param _cb The callbacks with which to access the stream. + read() must + be implemented. + seek() and + tell() may + be NULL, or may always return -1 to + indicate a source is unseekable, but if + seek() is + implemented and succeeds on a particular source, then + tell() must + also. + close() may + be NULL, but if it is not, it will be + called when the \c OggOpusFile is destroyed by + op_free(). + It will not be called if op_open_callbacks() fails + with an error. + \param _initial_data An initial buffer of data from the start of the + stream. + Applications can read some number of bytes from the + start of the stream to help identify this as an Opus + stream, and then provide them here to allow the + stream to be opened, even if it is unseekable. + \param _initial_bytes The number of bytes in \a _initial_data. + If the stream is seekable, its current position (as + reported by + tell() + at the start of this function) must be equal to + \a _initial_bytes. + Otherwise, seeking to absolute positions will + generate inconsistent results. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + The failure code will be one of +
+
#OP_EREAD
+
An underlying read, seek, or tell operation + failed when it should have succeeded, or we failed + to find data in the stream we had seen before.
+
#OP_EFAULT
+
There was a memory allocation failure, or an + internal library error.
+
#OP_EIMPL
+
The stream used a feature that is not + implemented, such as an unsupported channel + family.
+
#OP_EINVAL
+
seek() + was implemented and succeeded on this source, but + tell() + did not, or the starting position indicator was + not equal to \a _initial_bytes.
+
#OP_ENOTFORMAT
+
The stream contained a link that did not have + any logical Opus streams in it.
+
#OP_EBADHEADER
+
A required header packet was not properly + formatted, contained illegal values, or was missing + altogether.
+
#OP_EVERSION
+
An ID header contained an unrecognized version + number.
+
#OP_EBADLINK
+
We failed to find data we had seen before after + seeking.
+
#OP_EBADTIMESTAMP
+
The first or last timestamp in a link failed + basic validity checks.
+
+ \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_callbacks(void *_source, + const OpusFileCallbacks *_cb,const unsigned char *_initial_data, + size_t _initial_bytes,int *_error) OP_ARG_NONNULL(2); + +/**Partially open a stream from the given file path. + \see op_test_callbacks + \param _path The path to the file to open. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + The failure code will be #OP_EFAULT if the file could not + be opened, or one of the other failure codes from + op_open_callbacks() otherwise. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_file(const char *_path,int *_error) + OP_ARG_NONNULL(1); + +/**Partially open a stream from a memory buffer. + \see op_test_callbacks + \param _data The memory buffer to open. + \param _size The number of bytes in the buffer. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_memory(const unsigned char *_data, + size_t _size,int *_error); + +/**Partially open a stream from a URL. + This function behaves identically to op_test_url(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \see op_test_url + \see op_test_callbacks + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always + fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \param[in,out] _ap A list of the \ref url_options "optional flags" to + use. + This is a variable-length list of options terminated + with NULL. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_vtest_url(const char *_url, + int *_error,va_list _ap) OP_ARG_NONNULL(1); + +/**Partially open a stream from a URL. + \see op_test_callbacks + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure + codes. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated + with NULL. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_url(const char *_url, + int *_error,...) OP_ARG_NONNULL(1); + +/**Partially open a stream using the given set of callbacks to access it. + This tests for Opusness and loads the headers for the first link. + It does not seek (although it tests for seekability). + You can query a partially open stream for the few pieces of basic + information returned by op_serialno(), op_channel_count(), op_head(), and + op_tags() (but only for the first link). + You may also determine if it is seekable via a call to op_seekable(). + You cannot read audio from the stream, seek, get the size or duration, + get information from links other than the first one, or even get the total + number of links until you finish opening the stream with op_test_open(). + If you do not need to do any of these things, you can dispose of it with + op_free() instead. + + This function is provided mostly to simplify porting existing code that used + libvorbisfile. + For new code, you are likely better off using op_test() instead, which + is less resource-intensive, requires less data to succeed, and imposes a + hard limit on the amount of data it examines (important for unseekable + sources, where all such data must be buffered until you are sure of the + stream type). + \param _source The stream to read from (e.g., a FILE *). + \param _cb The callbacks with which to access the stream. + read() must + be implemented. + seek() and + tell() may + be NULL, or may always return -1 to + indicate a source is unseekable, but if + seek() is + implemented and succeeds on a particular source, then + tell() must + also. + close() may + be NULL, but if it is not, it will be + called when the \c OggOpusFile is destroyed by + op_free(). + It will not be called if op_open_callbacks() fails + with an error. + \param _initial_data An initial buffer of data from the start of the + stream. + Applications can read some number of bytes from the + start of the stream to help identify this as an Opus + stream, and then provide them here to allow the + stream to be tested more thoroughly, even if it is + unseekable. + \param _initial_bytes The number of bytes in \a _initial_data. + If the stream is seekable, its current position (as + reported by + tell() + at the start of this function) must be equal to + \a _initial_bytes. + Otherwise, seeking to absolute positions will + generate inconsistent results. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_callbacks(void *_source, + const OpusFileCallbacks *_cb,const unsigned char *_initial_data, + size_t _initial_bytes,int *_error) OP_ARG_NONNULL(2); + +/**Finish opening a stream partially opened with op_test_callbacks() or one of + the associated convenience functions. + If this function fails, you are still responsible for freeing the + \c OggOpusFile with op_free(). + \param _of The \c OggOpusFile to finish opening. + \return 0 on success, or a negative value on error. + \retval #OP_EREAD An underlying read, seek, or tell operation failed + when it should have succeeded. + \retval #OP_EFAULT There was a memory allocation failure, or an + internal library error. + \retval #OP_EIMPL The stream used a feature that is not implemented, + such as an unsupported channel family. + \retval #OP_EINVAL The stream was not partially opened with + op_test_callbacks() or one of the associated + convenience functions. + \retval #OP_ENOTFORMAT The stream contained a link that did not have any + logical Opus streams in it. + \retval #OP_EBADHEADER A required header packet was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An ID header contained an unrecognized version + number. + \retval #OP_EBADLINK We failed to find data we had seen before after + seeking. + \retval #OP_EBADTIMESTAMP The first or last timestamp in a link failed basic + validity checks.*/ +int op_test_open(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Release all memory used by an \c OggOpusFile. + \param _of The \c OggOpusFile to free.*/ +void op_free(OggOpusFile *_of); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_info Stream Information*/ +/*@{*/ +/**\name Functions for obtaining information about streams + + These functions allow you to get basic information about a stream, including + seekability, the number of links (for chained streams), plus the size, + duration, bitrate, header parameters, and meta information for each link + (or, where available, the stream as a whole). + Some of these (size, duration) are only available for seekable streams. + You can also query the current stream position, link, and playback time, + and instantaneous bitrate during playback. + + Some of these functions may be used successfully on the partially open + streams returned by op_test_callbacks() or one of the associated + convenience functions. + Their documention will indicate so explicitly.*/ +/*@{*/ + +/**Returns whether or not the data source being read is seekable. + This is true if +
    +
  1. The seek() and + tell() callbacks are both + non-NULL,
  2. +
  3. The seek() callback was + successfully executed at least once, and
  4. +
  5. The tell() callback was + successfully able to report the position indicator afterwards.
  6. +
+ This function may be called on partially-opened streams. + \param _of The \c OggOpusFile whose seekable status is to be returned. + \return A non-zero value if seekable, and 0 if unseekable.*/ +int op_seekable(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Returns the number of links in this chained stream. + This function may be called on partially-opened streams, but it will always + return 1. + The actual number of links is not known until the stream is fully opened. + \param _of The \c OggOpusFile from which to retrieve the link count. + \return For fully-open seekable sources, this returns the total number of + links in the whole stream. + For partially-open or unseekable sources, this always returns 1.*/ +int op_link_count(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Get the serial number of the given link in a (possibly-chained) Ogg Opus + stream. + This function may be called on partially-opened streams, but it will always + return the serial number of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the serial number. + \param _li The index of the link whose serial number should be retrieved. + Use a negative number to get the serial number of the current + link. + \return The serial number of the given link. + If \a _li is greater than the total number of links, this returns + the serial number of the last link. + If the source is not seekable, this always returns the serial number + of the current link.*/ +opus_uint32 op_serialno(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the channel count of the given link in a (possibly-chained) Ogg Opus + stream. + This is equivalent to op_head(_of,_li)->channel_count, but + is provided for convenience. + This function may be called on partially-opened streams, but it will always + return the channel count of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the channel count. + \param _li The index of the link whose channel count should be retrieved. + Use a negative number to get the channel count of the current + link. + \return The channel count of the given link. + If \a _li is greater than the total number of links, this returns + the channel count of the last link. + If the source is not seekable, this always returns the channel count + of the current link.*/ +int op_channel_count(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the total (compressed) size of the stream, or of an individual link in + a (possibly-chained) Ogg Opus stream, including all headers and Ogg muxing + overhead. + \param _of The \c OggOpusFile from which to retrieve the compressed size. + \param _li The index of the link whose compressed size should be computed. + Use a negative number to get the compressed size of the entire + stream. + \return The compressed size of the entire stream if \a _li is negative, the + compressed size of link \a _li if it is non-negative, or a negative + value on error. + The compressed size of the entire stream may be smaller than that + of the underlying source if trailing garbage was detected in the + file. + \retval #OP_EINVAL The source is not seekable (so we can't know the length), + \a _li wasn't less than the total number of links in + the stream, or the stream was only partially open.*/ +opus_int64 op_raw_total(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the total PCM length (number of samples at 48 kHz) of the stream, or of + an individual link in a (possibly-chained) Ogg Opus stream. + Users looking for op_time_total() should use op_pcm_total() + instead. + Because timestamps in Opus are fixed at 48 kHz, there is no need for a + separate function to convert this to seconds (and leaving it out avoids + introducing floating point to the API, for those that wish to avoid it). + \param _of The \c OggOpusFile from which to retrieve the PCM offset. + \param _li The index of the link whose PCM length should be computed. + Use a negative number to get the PCM length of the entire stream. + \return The PCM length of the entire stream if \a _li is negative, the PCM + length of link \a _li if it is non-negative, or a negative value on + error. + \retval #OP_EINVAL The source is not seekable (so we can't know the length), + \a _li wasn't less than the total number of links in + the stream, or the stream was only partially open.*/ +ogg_int64_t op_pcm_total(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the ID header information for the given link in a (possibly chained) Ogg + Opus stream. + This function may be called on partially-opened streams, but it will always + return the ID header information of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the ID header + information. + \param _li The index of the link whose ID header information should be + retrieved. + Use a negative number to get the ID header information of the + current link. + For an unseekable stream, \a _li is ignored, and the ID header + information for the current link is always returned, if + available. + \return The contents of the ID header for the given link.*/ +const OpusHead *op_head(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the comment header information for the given link in a (possibly + chained) Ogg Opus stream. + This function may be called on partially-opened streams, but it will always + return the tags from the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the comment header + information. + \param _li The index of the link whose comment header information should be + retrieved. + Use a negative number to get the comment header information of + the current link. + For an unseekable stream, \a _li is ignored, and the comment + header information for the current link is always returned, if + available. + \return The contents of the comment header for the given link, or + NULL if this is an unseekable stream that encountered + an invalid link.*/ +const OpusTags *op_tags(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Retrieve the index of the current link. + This is the link that produced the data most recently read by + op_read_float() or its associated functions, or, after a seek, the link + that the seek target landed in. + Reading more data may advance the link index (even on the first read after a + seek). + \param _of The \c OggOpusFile from which to retrieve the current link index. + \return The index of the current link on success, or a negative value on + failure. + For seekable streams, this is a number between 0 and the value + returned by op_link_count(). + For unseekable streams, this value starts at 0 and increments by one + each time a new link is encountered (even though op_link_count() + always returns 1). + \retval #OP_EINVAL The stream was only partially open.*/ +int op_current_link(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Computes the bitrate for a given link in a (possibly chained) Ogg Opus + stream. + The stream must be seekable to compute the bitrate. + For unseekable streams, use op_bitrate_instant() to get periodic estimates. + \param _of The \c OggOpusFile from which to retrieve the bitrate. + \param _li The index of the link whose bitrate should be computed. + USe a negative number to get the bitrate of the whole stream. + \return The bitrate on success, or a negative value on error. + \retval #OP_EINVAL The stream was only partially open, the stream was not + seekable, or \a _li was larger than the number of + links.*/ +opus_int32 op_bitrate(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Compute the instantaneous bitrate, measured as the ratio of bits to playable + samples decoded since a) the last call to op_bitrate_instant(), b) the last + seek, or c) the start of playback, whichever was most recent. + This will spike somewhat after a seek or at the start/end of a chain + boundary, as pre-skip, pre-roll, and end-trimming causes samples to be + decoded but not played. + \param _of The \c OggOpusFile from which to retrieve the bitrate. + \return The bitrate, in bits per second, or a negative value on error. + \retval #OP_FALSE No data has been decoded since any of the events + described above. + \retval #OP_EINVAL The stream was only partially open.*/ +opus_int32 op_bitrate_instant(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Obtain the current value of the position indicator for \a _of. + \param _of The \c OggOpusFile from which to retrieve the position indicator. + \return The byte position that is currently being read from. + \retval #OP_EINVAL The stream was only partially open.*/ +opus_int64 op_raw_tell(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Obtain the PCM offset of the next sample to be read. + If the stream is not properly timestamped, this might not increment by the + proper amount between reads, or even return monotonically increasing + values. + \param _of The \c OggOpusFile from which to retrieve the PCM offset. + \return The PCM offset of the next sample to be read. + \retval #OP_EINVAL The stream was only partially open.*/ +ogg_int64_t op_pcm_tell(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_seeking Seeking*/ +/*@{*/ +/**\name Functions for seeking in Opus streams + + These functions let you seek in Opus streams, if the underlying source + support it. + Seeking is implemented for all built-in stream I/O routines, though some + individual sources may not be seekable (pipes, live HTTP streams, or HTTP + streams from a server that does not support Range requests). + + op_raw_seek() is the fastest: it is guaranteed to perform at most one + physical seek, but, since the target is a byte position, makes no guarantee + how close to a given time it will come. + op_pcm_seek() provides sample-accurate seeking. + The number of physical seeks it requires is still quite small (often 1 or + 2, even in highly variable bitrate streams). + + Seeking in Opus requires decoding some pre-roll amount before playback to + allow the internal state to converge (as if recovering from packet loss). + This is handled internally by libopusfile, but means there is + little extra overhead for decoding up to the exact position requested + (since it must decode some amount of audio anyway). + It also means that decoding after seeking may not return exactly the same + values as would be obtained by decoding the stream straight through. + However, such differences are expected to be smaller than the loss + introduced by Opus's lossy compression.*/ +/*@{*/ + +/**Seek to a byte offset relative to the compressed data. + This also scans packets to update the PCM cursor. + It will cross a logical bitstream boundary, but only if it can't get any + packets out of the tail of the link to which it seeks. + \param _of The \c OggOpusFile in which to seek. + \param _byte_offset The byte position to seek to. + \return 0 on success, or a negative error code on failure. + \retval #OP_EREAD The underlying seek operation failed. + \retval #OP_EINVAL The stream was only partially open, or the target was + outside the valid range for the stream. + \retval #OP_ENOSEEK This stream is not seekable. + \retval #OP_EBADLINK Failed to initialize a decoder for a stream for an + unknown reason.*/ +int op_raw_seek(OggOpusFile *_of,opus_int64 _byte_offset) OP_ARG_NONNULL(1); + +/**Seek to the specified PCM offset, such that decoding will begin at exactly + the requested position. + \param _of The \c OggOpusFile in which to seek. + \param _pcm_offset The PCM offset to seek to. + This is in samples at 48 kHz relative to the start of the + stream. + \return 0 on success, or a negative value on error. + \retval #OP_EREAD An underlying read or seek operation failed. + \retval #OP_EINVAL The stream was only partially open, or the target was + outside the valid range for the stream. + \retval #OP_ENOSEEK This stream is not seekable. + \retval #OP_EBADLINK We failed to find data we had seen before, or the + bitstream structure was sufficiently malformed that + seeking to the target destination was impossible.*/ +int op_pcm_seek(OggOpusFile *_of,ogg_int64_t _pcm_offset) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_decoding Decoding*/ +/*@{*/ +/**\name Functions for decoding audio data + + These functions retrieve actual decoded audio data from the stream. + The general functions, op_read() and op_read_float() return 16-bit or + floating-point output, both using native endian ordering. + The number of channels returned can change from link to link in a chained + stream. + There are special functions, op_read_stereo() and op_read_float_stereo(), + which always output two channels, to simplify applications which do not + wish to handle multichannel audio. + These downmix multichannel files to two channels, so they can always return + samples in the same format for every link in a chained file. + + If the rest of your audio processing chain can handle floating point, those + routines should be preferred, as floating point output avoids introducing + clipping and other issues which might be avoided entirely if, e.g., you + scale down the volume at some other stage. + However, if you intend to direct consume 16-bit samples, the conversion in + libopusfile provides noise-shaping dithering API. + + libopusfile can also be configured at compile time to use the + fixed-point libopus API. + If so, the floating-point API may also be disabled. + In that configuration, nothing in libopusfile will use any + floating-point operations, to simplify support on devices without an + adequate FPU. + + \warning HTTPS streams may be be vulnerable to truncation attacks if you do + not check the error return code from op_read_float() or its associated + functions. + If the remote peer does not close the connection gracefully (with a TLS + "close notify" message), these functions will return OP_EREAD instead of 0 + when they reach the end of the file. + If you are reading from an URL (particularly if seeking is not + supported), you should make sure to check for this error and warn the user + appropriately.*/ +/*@{*/ + +/**Reads more samples from the stream. + \note Although \a _buf_size must indicate the total number of values that + can be stored in \a _pcm, the return value is the number of samples + per channel. + This is done because +
    +
  1. The channel count cannot be known a prior (reading more samples might + advance us into the next link, with a different channel count), so + \a _buf_size cannot also be in units of samples per channel,
  2. +
  3. Returning the samples per channel matches the libopus API + as closely as we're able,
  4. +
  5. Returning the total number of values instead of samples per channel + would mean the caller would need a division to compute the samples per + channel, and might worry about the possibility of getting back samples + for some channels and not others, and
  6. +
  7. This approach is relatively fool-proof: if an application passes too + small a value to \a _buf_size, they will simply get fewer samples back, + and if they assume the return value is the total number of values, then + they will simply read too few (rather than reading too many and going + off the end of the buffer).
  8. +
+ \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed native-endian 16-bit values with a nominal + range of [-32768,32767). + Multiple channels are interleaved using the + Vorbis + channel ordering. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (5760 + values per channel). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + libopusfile may return less data than + requested. + If so, there is no guarantee that the remaining data + in \a _pcm will be unmodified. + \param[out] _li The index of the link this data was decoded from. + You may pass NULL if you do not need this + information. + If this function fails (returning a negative value), + this parameter is left unset. + \return The number of samples read per channel on success, or a negative + value on failure. + The channel count can be retrieved on success by calling + op_head(_of,*_li). + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for all channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read(OggOpusFile *_of, + opus_int16 *_pcm,int _buf_size,int *_li) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream. + \note Although \a _buf_size must indicate the total number of values that + can be stored in \a _pcm, the return value is the number of samples + per channel. +
    +
  1. The channel count cannot be known a prior (reading more samples might + advance us into the next link, with a different channel count), so + \a _buf_size cannot also be in units of samples per channel,
  2. +
  3. Returning the samples per channel matches the libopus API + as closely as we're able,
  4. +
  5. Returning the total number of values instead of samples per channel + would mean the caller would need a division to compute the samples per + channel, and might worry about the possibility of getting back samples + for some channels and not others, and
  6. +
  7. This approach is relatively fool-proof: if an application passes too + small a value to \a _buf_size, they will simply get fewer samples back, + and if they assume the return value is the total number of values, then + they will simply read too few (rather than reading too many and going + off the end of the buffer).
  8. +
+ \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples as + signed floats with a nominal range of + [-1.0,1.0]. + Multiple channels are interleaved using the + Vorbis + channel ordering. + This must have room for at least \a _buf_size floats. + \param _buf_size The number of floats that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (5760 + samples per channel). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \param[out] _li The index of the link this data was decoded from. + You may pass NULL if you do not need this + information. + If this function fails (returning a negative value), + this parameter is left unset. + \return The number of samples read per channel on success, or a negative + value on failure. + The channel count can be retrieved on success by calling + op_head(_of,*_li). + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for all channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_float(OggOpusFile *_of, + float *_pcm,int _buf_size,int *_li) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream and downmixes to stereo, if necessary. + This function is intended for simple players that want a uniform output + format, even if the channel count changes between links in a chained + stream. + \note \a _buf_size indicates the total number of values that can be stored + in \a _pcm, while the return value is the number of samples per + channel, even though the channel count is known, for consistency with + op_read(). + \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed native-endian 16-bit values with a nominal + range of [-32768,32767). + The left and right channels are interleaved in the + buffer. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (11520 + values total). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \return The number of samples read per channel on success, or a negative + value on failure. + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for both channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_stereo(OggOpusFile *_of, + opus_int16 *_pcm,int _buf_size) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream and downmixes to stereo, if necessary. + This function is intended for simple players that want a uniform output + format, even if the channel count changes between links in a chained + stream. + \note \a _buf_size indicates the total number of values that can be stored + in \a _pcm, while the return value is the number of samples per + channel, even though the channel count is known, for consistency with + op_read_float(). + \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed floats with a nominal range of + [-1.0,1.0]. + The left and right channels are interleaved in the + buffer. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (11520 + values total). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \return The number of samples read per channel on success, or a negative + value on failure. + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for both channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + that did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_float_stereo(OggOpusFile *_of, + float *_pcm,int _buf_size) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +# if OP_GNUC_PREREQ(4,0) +# pragma GCC visibility pop +# endif + +# if defined(__cplusplus) +} +# endif + +#endif diff --git a/quakespasm/MacOSX/codecs/include/opusfile.h b/quakespasm/MacOSX/codecs/include/opusfile.h new file mode 100644 index 00000000..e74eda2f --- /dev/null +++ b/quakespasm/MacOSX/codecs/include/opusfile.h @@ -0,0 +1,3 @@ +/* just a wrapper to bypass the pkg-config thingy: the + * headers under opus/ are edited accordingly for this */ +#include diff --git a/quakespasm/MacOSX/codecs/lib/libogg.dylib b/quakespasm/MacOSX/codecs/lib/libogg.dylib index 07949844933bb05c46d2e0631757fa9d9efd1ba3..42b453a526e5578e352af4ec1c45359bdafdf669 100755 GIT binary patch delta 4900 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 delta 4621 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 diff --git a/quakespasm/MacOSX/codecs/lib/libopus.dylib b/quakespasm/MacOSX/codecs/lib/libopus.dylib new file mode 100755 index 0000000000000000000000000000000000000000..26154ba3c7c18b5db01c8613a60025400db117dd GIT binary patch literal 787416 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 z zo!yE(2=f^vSH! zgjRBtAYRUn1S_+KJ-i?_Yn8_7)js4{xlfbAs`^OcCqeDqdHQ8%_HiVC*wn4nSC42R z1mB;1p~^(&4u@>KqVvn^U)0O!iWc2v2xH2K@N( zp62Q1qM};A>=+h!$4=7Wqhna5O3c4-5ZHGSs8L|AEV%m+?BC=sJ-Yf(;z?*xy$zm& zT1qc_LaTzS^&7U`3*8yIGD#?S|D^3eB|0EU$p9uDL~0F^+-AtZX-EeV(T6FeVGm$8 z)|ucge8psUB)a$g#Zbk$=9ONy#Z;`{krk^-{{CCVyh3?TpoDmp2$T_xTj#SMGoVFH zP-P#Qi$SODPVhqvmjG?|)~SWN@O$1IrJaHsZ6t#pqj0Lyx@hJgX&<3DEsH3v^mr9b zm{nD2&7jcMYf<(Nm#f$w35p^?Wv{Uk{t*=I`Kl|m{f9TO>mrP1EqdDwX+t~rikw54 zG(b=#1Uk2Gs0Hsjm%KvclSEwcgkq_^cU!SQo6lKZo_pszvuOF{N_NnC3Cx@#j^RFQ zf%0b-x_#rHrb(rA3y)={OGvK%$+f7E@RPKT)|T1?s1inJcW|TEwm%DZwAwIQXGN9m zd_xy_!Rw}hMfT{z|*jo`K8CXLiWFVC{XLNRz}4X zqv=a*0DLn80B!M&Pm7i1S}?m?t4F4nJQ2X6zSwB1usdG0%{uY3fGnwlw0 z{*|tH4Vl2MSK(WfGdmvQXD0b(HW8ea`xBBVk zN?CjPp`}CcNe!j~;6ypt-h>{uZr@_7-nS#yRy_@T+;$`QtfxPte!Jp%soz+?0a3|h zenJx|l?|xbxH9GUvWX$y0ZW@w#0m1tCPI68aU~{B%`xdnt9^3=dz8()yQ0;-%@ajK zI`8P0OpX^GV873qUC5tG67}wpvJVxUJsh?(!QiagvK?QS-C*(geGeJu^oZ4TdFXa&;!k5z28CssX>zDpR=nt)!-YV-;$Sya9-I zh64c7NMr+vmq~Dpb48D&HK_@-qc62gqI|eDTjS^z0tOwPvD(p%0MLy^)Y&sdOBE(2K znoDw#j7ctWqx7@7pAl8DMHrXnOoXqR4jm#%;V)wJL#_Lz*NeFC$LBrG63ebDb&D4C z!X%8Ds4*KyHG^jF=H+z1e_17J2#A40!N@&3>ils&MF>Y{HzC5(XW`HnoGUN`o4u3K zKW!W9EW_TR!^_rPx3*3#cQ^EU+C0 zB;GRT0MFL}a_h*ipI)CV_^Mf-T>BUT0X|sGqqD(0{Fyw^+r)XG4~z1Eu2MDj=}+b9 z&8k4F5cO{?WAh?`u59WyAur;uSi{5h?6lPanUG1HOyGVJ8_0n-Eu}TwMy`=yIWLl4hLt)MrIH+&bGSkn8-)TjeqmTRZej zRjR`u7l~}bN1xd+3{|Gz@$fvOD_*AQXYmO<)SP#miwEYrC!n2|>s>V8TyXetHUUju zvo_uzTT5k9P_Jc*@@zA_PE)@8XS|WVD?uS%tOAEkEm8a~Uu=>a7jvwl3IGKAu?2H$ z=MCaZ<417M4cyD>Y(B>7*l@zanSnoGqLeY`23{xe;uH4$1@y`dA#uD1qq~lC^Z+Za zu8Bs&-;nIIfl?cj>P|fA)mQ8~#=o4-;4%S%JmqADq*y#68Dtgqm58CkR6ZL9(~xSR z6Gaeua_&Oa%Q$iKy&3Dr0aN zTb6D{63&JyHO_cw8ChTbequG-LpZ%tt8voYx=p2JzQiB`TYk%bi(vs?V{zXjX6%gZ zHBV!L3bQLUNm$9v0qPAGkauXnxA3CT_TvgLl~aaN5<7p!WY@&wXq!RYHh65}si=1i z=Qv-B_;V^b{Tw)jN{t3Cmc+sa_cK;-7A8Wmb#7n!?;u@@?-ahA%`rw!i)PkUNPg-t zcvvggk<=~GV$3gqJI|fZu>26Zl_U}%j2J~I<<5;5i$(%X3ffM<(W3^+?)8iU5` z`DS#xVZVk-G)Xw;>~faezzCBzIN~=|hW4EtKuoge?UiWnopXAeCI3WbBs{e!;)Oce zx<}(r#+6dI`kln1^ZQfB7|GHA2}Y%_MzdH>^5OL$jWZGb(FmLM0(hDWJ`&g-HlrEy zRXF>%^9twpCu1t1us~u_PpJC21e&jP${cs!q4+l$iumJspjE5p`9-Z?v=4RGeAh%8 zcg)Q5Y!R;_o4RunhAS-!IoClWJ`j^=HmzesCmYiz9FyG9`u6``>WPj?892m#~R-R5%Y7TPtD`x7YaT5`vW{8g%Y_6D5gNZRzaK{$E}kfNON>$*FMho|jf z6z}^cH7Zb7xYv?tqbUYjEH2uiL7lTGDqUuHytHN9WDuQVs%c8FTXam_yuBCtp}Q!R zQSl-ER}8z*77lX47=X($A_3Vg-qB!UaieZ?9BeZC9E0-6ODS^KpqZIs=EXI? zu!!J^aa9ue1C$i69MBV2{Q$3W+ZI)XoTPt(`s|E5dw{NsB^!5K>NkoFfT<9Jz1vAb zi8oX@RmeY$#n1Qa9qvj3jozu|DPL8MLAcaU5*G|m=IH~x^`}BXf3t|`Ppu&eL1Alu z>X#-&#Selurh`NaxKj?V9I+aOsCAT#H9>!9lSRfX$Y^&n>+o*((4-Fn`o~^ty0fXQ zqVPGn7iUQo5J(}DRfFw=Y+tl6GbK@xctV^zw8_Zw{juu7#J}Q*$*eoaPNH?xOT$JX z%iVMgOFCvgu`?{8NclRoI_K=X8Oevu#xtcp5=uMQLIOPR>afpyTX>>8U0@#mjXcta z88zyOZEzv&$3oKE%9O=r~3+Zp$ZU)+qlmZ{KV@Th&rk})uoOx=+$M|PV#yrCiegQ&~C1qPfaFG+hII$ zEEE&qimhZP-w{lX^XkKe+g-nm?0D%US@vDw z+MntULh*UNz$MWj-G)d%ir|1^{H_YXL;Oth#!3nWFYh96ChWCuF%WQ;NuCRwO%pEU zrwI$i>OU^N-b<;K(ZV#dGtgQ-h0??8v=t!(lGTt$o!faWC8RGsAhxQlf-aS4b_;%O z{2lBIac9OE9RI>r%w|D&B}wydO|@w8sf!(n>*2Wq57eo#T)nO#q6Iizg21ab2wl#m zuSLiIfmN5cvQuqv*-4ridJt~Ue!L%=6kmn;xA`#2DD6URhl&$#*ijgrV(^#vw^~gw zDHVA)WaIh5WudR?qt*2l&hl4qBAeSCGB9rEc3z3XU&@B4nz)S>@C@yQ6)KG zgw#)WJzdID_8&Z71P*Gh;xXxiedEmyYi)z!#m*E%z?fC@Mf7!&VIR8M8Wz%2ZTU^8 zB3d}mW@y-H-eMD1_b%L>E9O%f6a82(9RO(!6g%G?<*d&^Fq4ROha)`?!+|Yj9%3Jj zNmIK8(~cEsOgr@1$s??if?JINAx$kN;kgcYKbL~ON&I#PRyWewc@tf=e*e76Qv zX6ap*vlt}`JeoZ0`>A)J`ZRAdoK2ydiwwO5sc=k2aZHTfI!kRYr!OZxQu3Hz^@^uS zJ1Y^K8HRX>sN`l!iQZi3FDQ(Tf4q&on^`p7)K&PLxmk3QY$Hd(7Q3~AWtmC#*>xvN zBQIf-9kPM=K_vazvd>IUiGjy2}z6(u-(dtA+GdIL^3fb|(P9Z6?3DVR&EOrEIKKl~*D=a8& zJ2o3Ky*YU!^Pah7d84|HSy##XQzf}x^2NETeT{i%h3-6s_3MQa&sf^6nF`;mtJS-h zG>M}~xkZ2c<%vw_B%1bPc$5?y4~jDU;;&KRq-_1Xr&ytBWwxGZt8Q;Wk2T6F)XrnK zq9kN&=^my-o(}Xo&g^685N6ZaXs9vNVtwByRK#0*^q3N>NIZ`K^zcnr+rFEN0vla~ zb>YAnu4kC7FjHm?(AdLS5$743Dq)O5_|vi;aPRzKsUv`K4h z4Gk(5jzNaXoJAbd@V*CGiY?riI>x#|_=BXov4Rx#1fPhVSHP;U1Y_ zfKy~JO(u(bheq+kQ%sC4ZD=It%1AtfW%T^BOp+1fIRGX%o>6p2myxFoA0B66)obo` z`8H#0r0ReXB%J|WY!o+@>FytmP#BCc3WEowQOKzbkZG;TKv(r_AE`0uvbu<_DpRG- zU8?f9b}-*a|1E|Z-n#pV$Uf$@cfJkI{iSz`I94&7lm(KgiTf*4YjuQeb0OV|#KEO6 zkD0ZNR-Q+)iPtl;$%@hA4@pH0H>w8XFfHhubQx_R9Opwn9L=yR!wDk@MSMvKYkk4` zGQ-)5Jf`%&g{+_6^8W%^!Ig`sTe<}!v-O`t-Y+=9IgGr9Kl~pf?-a5kjDMR^sWp?6 zyp|Ck=|cYgv{=64I@TU6Q#EhJt*_m9e`K`4&HS^b#ZDvta0UCu54gx+Bq3*hMI6_% zABLzi|3sMOPY)NR>EfcoU4w9fOe3-Jd9%t94SxbWb$*$o#DnX=2Ijb`)Gxk`4@?qa z*G%1iR)jJFQa9PYC;(p@F1+59QO4Hsw11-T$R?9OSKMKdPwivNOzl(Is+jgeQ+wA= zQ~TJ@@*(PMsvOmCc(KWsl}}YE%0~29X6ycu%y=v8P|P^9fO;l9pV=XT5AZB(dsmio zRB6QrP;q7<$jt3`pn*s5af4ltrYqo)L-%#SZOwgdn*Q=Ganq~W`QUCg3FP*jP;gh9 zeJ{!1-&m*pjS0j18x!M&gWBJa2Hox-4Q(yR@!ihEYuYiA{u}rv?H<}Rx(Fri2>57o zZvQD;R{pEa!y?# zXr00BFxHW>%So^r{1W523f&j#8nHoq+wCsU8LYl-=0`FB-~3#2Fvb-#pK5 zqw_dny6@zi;=}4uD1(dmlCH9&=$^BEv{|qA_7D*sG&RWwzxz%z$`lJ<*nA;t+ARu6IRMeCIzN%!bT_3i|w z?G|VYNa|)yQdPa%Wmsk!V_t@~D@=b4`R6hR8xFd&u#J9H^YTlyLOV6P-LS>2e0{uU z9dq>Zja`gNx!?%bRfgjJ%^@0K#O&I6Sn`LY7%8ZCbzY7mb#haGX<)Y<>_%MVmwa*G z_>uUlb+sxE7smbRAIa=m*-qwQQQYk{TUK9~?uCw}v+y*x7*+2#8W%4@ z$Cn|MdY8Sn(olIGHe}t-eU$w@=mA-L4FE=IU2(w-x8!to`PkyCu7Ai`@m)UV$pAz3 zbK~B?zDMl%ZOwiNtj(vmgKc|@*dF5o%k|yk`+KsZYTBC%%_-&WTWZ?BVHBIgL(LG? z(EgX9rT5U)yN_*b`5h~0-HdZ^5$Bg!!#2;AJb~l%zq=p7@PprxhQgKl!q3hb1qp5^%r8SkL~5V3E9WQs<$QX4K{n&FAzL& zcNcYh)meX1%i#}iIwkv9)0ds~7Zf_{ce7fY@8()$)tKvh6~l~&-@Ez!g($(nSa#?h zKf~YFpOoDF!@ul)v)E-nuc-JU#OP`IX(}B`m(ypitv83CqT0LCezdcGhda==_o}wR ztD2ml66(pkeM{RbVO(6C++BQ$c{S;W>RT`?KWkO@n?+oZ{z_5Xp`xbmJn_2w&c@SH z`z~=09DK9qaIsx^?xf}puE}ot&IWxu_y=zO?KyJV_;+2tU=lmvOg#6|NvV>bYBW zvoKzt+TPT#NtBb8eFMYeZfE^x+VSk@-EcQ|sGjdvPT_t-?J*}Gpu0Fi-!whuz7pB2 zzT<|I1gkM;#TMQyK=wDXS;Hgh4#tmqP7TlL??&C%WzXM>vYG4RJ~uzLd%^a|_^r<7 z-I3}i7jA;v6mC;R<99_ikD{&-?e${6Wb5gNk=8>W(us>X&D1|X=GL8m1dVA&LDQKs ztz;G&(z`R>sdK{4S}e>jr(o0$+1@BtSFe*{RYBA7&U$RFaWvf?md+I$hZ+Na`YinW z%E*0G<}ZifHDGV~>brIN)P@UT8{h#p?(=k`ENkPjw41PP?Ip z@lQIN2O`yvILqX32xdi>MaDxOyRtFvM%_Xq7d?`=U$$QEJEX`gG|%9CMH& z^Y@~!54INKUzbqS-P@Bs?R>waBC_ic6mz0Qg>h@-&H5$ud}YwJnKWQa515o89f*k) z&~oil9dXw0oSIF1$zL*xPSCjlbGw#O@P$OJe~@nPNO#kV9Da&$ftLF$Wf?;=`WlDY z=JGNWtvJ_L*LFL`64zpDyn&M2^=#jc=+<{LC-7DF9A>jp%}>@^?f7Ib8}vEnX~>_Lq{;#repteRNG)tQ%KBfqsB07 z{5@y=6@_iDesdoNLIM2;{DyP5*BszH?jW*X1yd2nXVU*d9(PNs`-fq752K&csU-1k z;B;!#oDxmzteA7(7Qd{8TS8~}bvG3JP8C(}a4y=j4;_T~w=MsG`?PljKDGO|XFO8m z(X+m9&;0oM99z)4&I*;gANn)0wE3nn+?b-n>EgjPEb12RPk#+>(Qu8|z1aS?Zg4Z` z#`d$>bKt6vu^`yr);p7>(7qjc^0Xk$WcoXAmc4$8StwjL47Y^rKK(tRb* z3f{lLv%K}l-g9_{TaVP7#-`n8a`=*ghym*)GtYsSz2F7hP_&mYxOpS}HQLB_yDY2U zPVf0XW5r+eLb~-*LEUuh2D(1GZ<`l;AqV^mk^Wd{CZra@=%=l3X3R|>D=y-B&1n86 zMBFP&_$wzIPG4w>Nj%6|$a=r2n1d>>YV-YI`t<8R7FO0w+P$gbE3Ey9`Z+^|vL{n? zft~R7Xj(e9=fl&+KNoRlO+{~64K%~+jes6LiLVOxLo9Q+*`PHW;42&8D;wY|8{jMZ zC-8M{ed?{m>1Z<<5OHr@Wu13*<>)%^`pR&f*Hl@aqiUcn03fM7_dOLw$FUD=#peyC z7yk`t1bt`Lx_zd}x(w@7h9l)RA+^Q|_{fIP!SpmzD*Mm$Ww{DG6cm`W<7r5K=X`QG ztc-(k*s6p{%?c6nj5!zWZR-+HoEGUL0lEVL%7#RR9-0fbO5OYqQ{8oOV!R)n=XU8{qquMG zp7BhJ;_hQY*V~&v&bFGbX_VDYXKI2Hwsonfg2b4XF1;5xsR5Ok5}?j~T-Sg(R48>S zBouGkdmui3YuvBnv`KJ-QJXno%?R>lOh!;W-Io8R%1@qyuBhJ}%hrT3O_5E<+Xzvl z89^ND5!}u)-R%^uzE>|%r#^Vz_x;hb&heuKrw&!VP?dK{$oaD{a-Rb_j{_vj2WgJ_ zdtOSt7U#q&+g*fOe>B+wd>1=K*ZBfL2yziUC4~Q|#O>K|JOIm|dwq{PqoO}`J!#A= zm}~!8-i!(EjIuoRCS&Mz`e%&O0P)t1Rt8R;D~*yrr+Y zSPTeXFZL%IH3Nua`;F>%_($S}@|zvg!%c3O6kuqZrD;=YqSU(sWU){X(C zVysoPX`JD7Z%pb=|K~io|D_W)l@Gn%*AF~n2`HY=MclK#1bJn{-U;R`utFR6R9sZhLR6JKn#f~ zsX7uheV(E5Id4V{{Mp&`kR$Fan2&t#W45nax`c4ti^mKT!U%)cY6C=|ePJ&<2UeZ? zjvdod0DmL#F-Pj7Bv;EWXOEPi#w^vvwMP>k^W9&mi=w&t74@!259#?rs|-eCB%h$m zwfqe&_b(|#5i(p3n_`c~IV-j4w4qjB2+RoBtShdKw{#hVILY6FJ7i%Ih7leAh4;L6 zeopP&orkJo6*6yK3F+fSrq%4GqS04>fOw5sZs6uct!!u_u|I3Wrp-f$+x9;`hKbG? zjZT_G(eaXP2f1wu%kfQ7_XuwX;`2TTO2TCBx895rGe9!FYB6*!1__ zrK2Z(fL`hA8dKTkv-9vJPcSn^7aowFzsrDCwlw0FEs-CELy1?&neD57cX1zbwsRj% zLUH~EN|E!v7B8~NbM;2tou=w{)5lRY8$u#N$llCUvgrpx)b1mwGd*G!{N!9X2$r{6v%*>o_;I z!JPrdM6d3*Ces-juo9d*dna|bb*XO)oR!_D?{sI>cwHj86vN92>$y1|vGp2I(GwNKtm*Y?sDwu!XrIX!G)gE>4QmK3j2cNVWnZYcM z)E`iHh0LL$YRpTPE3+ls;5$_N2EoktRoIlfuGPc2*gP}3@^T}FXa$*djOdNn&=pLZ z351UEdzz8+)4o_Ye?7Uz+2M35PNhcFHDZvw#uSnPk51Czx8I;cU}diR2&AWkJK;SE z-iPNu%T5Xdc9N09RWnCA$vuPQ`c@6Id+JdI*BL%#CionmI*?-spWstpz;<F-ZL=Vt#sJ(XFifT+i2L9 z8}0g^;*u|9?jfn2cD3Grhq^g}4M3=enQU?ObYG83TtbIT`heTtLQTf24d3F~zFe&g z<;B0xe2+B!GvYvR9mRQ|^zM2r?VNi+?!he}fl4@`F$D;%f5$38F5{JVR4*b8yqi*awP65L}wZ zM7{6S;7rF!JtiFIPY&ttsE$N8Q$oxgWWqD<-!&6lMD3ZMlU~wnFVbupQ!Gk;`|vG`4@_+b5eRDIq7KC=wv+%Q_2TKAEd7Jr8dZ<=7% z^QiETs&N|+oOGsUP%l)svZtj>!Ggr-BnyLEsUYGdN;U_o&bQrXda}n#?|4wh zlHCImZpoKep4^@&j;Eea%;92+lYl)cnW2U31x!I`ZICyUrZ>=n;JWJ-2}N4l{s&ua zZZ9}&ucz9G7aLvpM5Owq#oJk}M&0K!W+99)n8duDUPn(>LBLsGWJjrl?qv6ZliG}a zm$?PKd9jhajo2sy&WAG8U<5X`L@}R#Q!$z+^!CCZ^rqfr!J{4vMEba2|9ISwp-tg7 zHmh6|c)_xb^pm68D-i`3?Y^1u+S>~H~wex=g5HUCnj5=?%5Ia2G;mVeGwRm4?97QM& z8gN1t5D>f7pS463J*v=|Q^u zIE7aNk7vZGeb`i@#i{!5 zV(QvJA7(Q#LM-|$kxw5T(0k@Z`1MhuKR$Z&1WGze>JN`zwmA7wQm;IE>IkVf^{^g? z9wvXA)qQv7HaMag-%PZvM^=FS#V2+Yet^}BeQSQN)u`1_wwuYcsix=EP}`2Hxcz4v z12=nIZ`+|!2mzSD9=8)oVEdNbm$ocw8|zWy`&}Eb-60Mb;(}M(@rhILJl#UWHc6OcE;#rHbj(MNjr0tj79HQ` zE$!gjv~s$jX+qmzw&_@v0DRu<%EU6xxo?*>DL4{*vG50_M!r8VHK*=8f`XlyM*VWk z5FGjP?Doua-_Gfi1mFL3zviS1j=Epd9Wnbgt-X7oBW>CATmAe|{lntGF1KeBaUTn| zZB7riZB7ohZAyb}o8y9Qn-e;Q_G`Xi2G-GK>WIIjU{F&>;mwP+=kOH`h1~v4Ic<&m ziylc|!g>S!-2-0ik=(}3BigtT^bxl|(%P?3%w5FZO_vQ`b5+c}YZV<3aaXG!YW>9M z^vR~2rmvWNpv>P;m+2|nACcB0MKE6{C4oBgxBMWU*82;KDcEcVl|*plWJ-*Msl7}K zK%V7V{O~l|W}X#V<@2n(`+t~c6|Z`qAU!tEiNX7M!E>^n!B$c>{pEUXB{``^>L1!p z%BJ6jEt$JXH~of|a%O?S|2%P#{#26ejChJpwGRhHl%h%K>Gu&oS-F9kH{zz25sh#< z2RN?RXP!3(&nDS&@P2LZz94um1QHe)>srWa=NW6d;l5)`EFx~FX3Y&Uy)cFw<98sZ zUClB(g@3Ptf||`!`Az@FspuE>js}D^yz=o89s$_*6O?v?*sTNw2Tbi@*q`kg`zw0? z6ZARJ?2+LYs@8op*d{x@)ozoW%sc(mRN88{$&PEa+hlq4`B%aI7_!fwu(dE$0%{6` z3J&J(drIefhe>z3NcVcssqM0v7elq^xTj*m$?4>w9kV<5p1)&un~w0EKw=e`9HKrE z-oE=t=p?Tb;)gcTvY9!&59?Eek70SXb^ih|XiS;b?V%=+fnc|j5J!OI#Rxg~pKxE4 zzoAwDh69V;{-ryiEB*8CY~eR@U0(;iQ@y8YGQk02s<$+q9r=FW)jZFLeE;dMRzJ~n z3P+RH`=OTVEl$dV>T?U%(^LX$H&y!)o%x`CoQsUtWY?cett_3FUr&w*8<6be?G?aY zsM1Zz*rPusa{(0*Xt>o-GcoTWQx{xEgX;S|QzPS95=ASok8E5_zG)8<+w|qy z)>lO?(>Cg@T;CUJ**Wd=4EF1GUI20=XQyw zon`CLz~=M6wuekzn47$%I#{07P?oN7IyJvQC%FSSTMyZF_{UV=pQ;2kO52~R8Vcon zmBqlX2*?TVJHF;f8}aV9z4}4ZR}?nXaX@7rXUxB)XDviR0j_UCwZ+1N<-~w|F*R)r>!Nz~A5MVCsao;T!bV1%E5H*ksISxpj3GCP4d?S; z?}Bpg;&Jq1q7-YZ9fbptDfd@yC9!i6^whKHL>+B-dvxm&sY?^sKiRJuUIs1QiL>(& z+H{%_G?U^!*Lvh)vNWG4!cc*F!yhf5ny)#fH4^ z5(I|78?Et*r9Md(3kqWFR`2o>5@1vz*IhDv zc$ZlSt`KqV?2okdb52yuyA9J#8N)^n!j$XCD@H!eaPy1JJK8{EX-Gf2bZyT&aA=&mhwMnDjSN4R5AH4vUkpqRp?NWvRj?1FDVNR8R`%|Mk+}P8)ZJm` zC!|~PebEuCXL+OS(x^+n7&B8&`%XS!3>+<5r;NCwUENr zl^}O&u(lpDL$-d`z9lBTS<7TVuvjQRz)^&!!Tl zBsUUayCge+F^uBLdgxq#ZoQ~+vXZ8r6(rp0hrSwLMQn1X5Kx%yGv&xb$52_-2NrXG z)3EU1B!2^c#Iy8hwdPX9m1N}_a*yxThDP|h>@yHXVLx|9F)3cRTW>vw!-da8+=ooM zp6uxK$}%<9h;jvpa!#^BGJu-EJ_zuGHI1H0+iA#G^W+idJ|pe;r-(%L1;GR!}@UJTl78JfuaZ9^3??m^828_YT~ zK)R_nhCGXh;T$YxTqb`bJ^@oO%T63@BdsOr3E2fGHJWzO*jYxBX+8WQqhW)7oQrq5 zv$p!7r<7I+r{;>aO?*ic4O1!>WKHPNa7uZf&_F-8kO6^tXlf#C^V4;e{*NcZ*bGZ( zJ-ie7+PT;OU8(aXD9u){5_*laB-SM*TwuB(F4I=u%Lq2up{!U zAP6e<-Wy`UE{H~?2&m_IsIkVLSYkBR7!?%`i6ZtAW9*_v<;31aa|dWN@9+J8 z{-@kMWuJX!XJ=+-W@l&VJs4Cz*UwD!3g1l~v877s{j-$DIKxGS1Z@LLWKiqS5bG}* z@)p-k4Jm@dWczjoYFidajSOZ04_G=-`nOp0nB>RNx$KvlDLPN-27d*#RtD4~}_tP^)BWG*E3 zf|=-l5jCb+@DkL z{7Cu%y@A3{5kE8uvW=>vTy!Y7L=b*}2P|1%p|^oD-({O2@^!z6dBzLAI#tUeV%i!O zItd!0=UBX6B=pmqq>@N4s5}ls5}wG5$XmCHpcLG7-XoC)614sZ0<6-a8_>ks+W;)x zgMFYmF8mj&hDBZ!M;u2<0+6ujUCdq7jYqwnM>p1r5eZ93)H_dTju-kLumDi!>G7 zEG1&bNcE5ip?C|OzpW!CKS38d=bMm0l+0woT09viim4O)ASj`RkzGk9XCmdtGQTM! zaU?DSnnDXy12b|gUBt)pdR#u~Q{g3lgFjR0dpi)ES+-I+EG$I)&m(`$_9!~jJT(vF zr`LQUp%9xQUV)Jl6>3w6Z7}ycM9EGEr)O7wCSgPNeQMvy6f^WmOo|w)ZZYKi&Vh zkP97VX%AHPMGHt<`d3FyR4#rFU4L8*z=-L7jam#N+~aqu4}201&29MGcDg3}3!00N zRopYR)*nloz?|8|(CE**npQR84ww}B5q6|Q9dinMS#!;du5-{>sFOoVezlX+8lYnB znu+vE<0(Rf&`%&7Vu2WwO_y)x3gp5;LFBbdM$SD9C-m4{KWv$T$V4a?39jTD)avTu zGC4PvgF}deNE#Bi5S1wEPl7A5t-!y$*EJ2lRE8{n`h3xg!U?EzrU*O1zwgluv(Ql3 zZWTOp3TgZ4g55Bj7q~_eH(={!ny*S)i32ZDl{!&RYP&c##N)C~)gLRt5~d;S%B&A3 z<6TBWC~hkD{6W&u;ywsdI&l>)8|vcAj1$cVlT=Dvi5W6O9KJBJKcTi@q8ym;(>ed5 z80{%^isU!=HhBv>Jx4$;PGR6{mUh7b#N!wKNvKuAvuM~35EVxj)vZk-xkUnF{1d$P z#bbh~hifnyw>b#7F>J} z#v>$^>Y)pS0)tPH3pA`7?2BBWS`F9ne#KRzPP+E85Db#eMb&}SBKO40x8p*gkI)ba zm#rAn44q(^253GMdevYe#iIQfg%^Sg48^`^ED!FeXN) zJ--6^@V=yOA)CpVRcpvyQk985Ez|+$J&`y&SG^kf$%wA$s$o6FBcTY9u7x^Lg{lcU zM99HFeoHq$Gl>2%T_HHA1Jnr@=?aQ@h-QIJjUxaJLx4s&3mZm~nDA+b z9~yv1VJY8nw9~K`UuI8kGXSfIO0iPuGgmQ1e)($V3#$8?QmE`qLG3q`K+$Bt1wkU5 zONQ5=BeGW%@8xT#OhLnum)Rl8aZtvr!svo3(;Y@3jIEN=OLKRdA>58< zb+gt(7$H~>nK+crT$`p#U_@usXkrT@jD}EUs~m{MnZG-^#(cf}UEQMX&74EU1K@&c zLSc{zXR^_{_}mb6(jRnW;x0kDX>F!ZfD_A53y!RzK6m6MgB}y?vKAs7s z-UJ~sBac>-A>6~rK{yNYD60oW*Hegp;mB)Q2mPb~#HMrpdXD;6CJe_gIGvKheCSO=V9x|?E(YVM4{ODW~`00S-|vk)>n47lb= z<4DqcK-WEhYzVAsW{$)`;KvGgwW0wa!)W;5!^LEGuD_zERvHo7SBNqF5 z8H>HS~63EXLQW$%zBgnTJY^V;I^qaRrea%_ z!z6NRx~vPJz5h&JA)RwWO2Of8ZiRZEMUe4i0yI=-Dr-DLwL};U);Lqb>Q4TymB>u3 zq&yK*lb(2q7K)dVE5%26);neT!YfnB@HcLm*g+WpXr9pD)wRe#nNS~w1I=pEJVPun zsZQugQ-Y%vSxX{7x5Uw{hR~U^T_ogl7ghLTfN%w2n)E8X4lWZ#xzaWH3-w?*p$PKD zOeA89p}Y`-xj)x6Nu--fXJ8urLas6ybwQo9gvL5@K^f-J5rk8Li|-GSHe?Pg=04~a zwLX1x=Fb=r%sRGSWIX^<$tNcagLmeD5=@PbPWv0ZlZv-GxMyg7r{NX37p_pg$pkw7 zeJ;Lz;p9B>!P*zv?2+6uYW)Y&lO5pJ*PJ|(t2U-z$c4QbcZXz}dgljt{&e;&r6X$n zi2(KfBf11w8nH&{{gL--V;V37!x5=WAk-xqlQWNeaF8-J0lOg6jvUD^ZOphptAt)4 zG9e8yG}tyc1E=Xyh9+WfJKcQOjQ}+WTP4DWdH_U^NJB*>NZf@pO(oX=%?mg`2otou zFt$g;LI~W+UVR;E;YW<%kHDW)(XUjIa+9){9ap&`Di7Kzc}(c>V4a@|hvFq#u}g7w zAJk#kisy->l&JPT;5lVB#LUPh2ma%F=w*0>)N@OKW3|d$h6d9bT4gRngJ}(9oE6x` zOa&rg#UbV^40lK~!!To>bN`H-B_xY-T2;no&w&r?5FFAmor18#}yTr@g$ z?`J0FkEUBhlwWvMX5$t#3-TrUdu$&?Ae;Gm7x)Qwd3?H!d6|iBtVNdZkx!PuGC8BN zy%5W6GK>wcAz9)c(O_-pf#xb202GgzI!6+QD${YI%7DF7h#zgRS6|9!b#V)rdjugQL$h@gp^1>sQsOam>YjsgB23- zbdRK=Vv3sYt;aoLS5i;n@`X~D*cq@PaW5g-JsWFLi3q4eikPd#grvq?edm`#QH;;G zP{aA=h8%g9E5kRof$?{?M}zFYBsNCqc>iP(JMLDVLaNexc| zEm*F%Gk37S0>UQrO9>iHgRYc;p0lArSWHa?N$Ki+)^q(Z@}9-u zYdjb69Pf-jYuS2kUvmYVP+RgIzeJ^-5v&nWPK6D*2dDq0 z1|b8Upn2$~Anc@#Zo&?N9VF3Bh23H?*AMaS)F()mVeS)2GSot|&G|Z%-E1A&(ZZdJ z!P=Ucdl2)aRk;Rf08(PO=x1(AC^P4x8+Djh$U1ied8dxd>~|c5|ny zNZb^xH!95M5%;(Y$X0}8EmeZ$#rk#x+IK;ZBhbDNew3A#7(g-RiRk)rWIE|YSUm>( zs&qzi_?243^WX0Vz%DGkrZ&nNsOlVVS0vY$G*r45aq;0hg2$pg*tG%Pp>S(izlNQn2*i>S=6r*Z(J+h zxJ_JfRnZ$QP%18eySUO3YL$9^Wqilw?+{n6piEr;PI0^v$6}p;fpS2Y@fVlBPuy)v z&n7JvwH**w?w~E|`TIqSl5r&hbB14sT^l%7gmb3}=r)L_YtYjRNOO= z*_Yz-i8$4X;|UR8t5fTMz;p~>ln%upuDJXZQNuZ4Up>DCzT@&~S+_cIq6lLD21Z3-pg?LE;ET&A zO(MK+OvAYR-QwZK|MhTS6Y-?yx6q4dMC}|>P((4iZxz!r;9ouG8eXLl#StE=1mu4O zXsv@1PZwT=Hc>B6^E5x=!MI%7TUfmy4diu@4#})1k2b~6i#CY0PRNW@gdMc|(@^3d zMZ9D`zCbkMBp@B~tww7dQi%%{_GwuG8bQ-<6{WTZjuO>5eyfbu6j)wL2`Vfuq6yWB z7iesRDKi$Z|Ak|%SgtLWtSkbkVwDE*wpg;_fCE}z@f-BS`1dOHoWp&i* zIkj+K)7veTq@Y3-uH}SKt^Cag6=Hva?$QJ{1njha?VGR%iuFW>bKfeXrMT9lLy#BV zfkV^_mZKa|&M4Ho3df(xo3AmG0?ZH;)dV)dL!tDd;epsDr!Gb%J^95BwnE!H-)4`l z4r_ukY$)w)RhFiLe%}S!rUjB~%D{_2E?cwX6%pc!+l95JBNC|KN}>3WnoLSEU8laG zP(;PGF%pR&L>RdehXR29f=>A@?1+^~8&N=6z#+PL)3?f#s4s_3LGW!MVU0v-BCKh6 zQy7l_Z}<`dEdd~lcX{E70{!nBK-y~e$D+KVmWjxEWui>uh&47bBKldK@Em%gW$zG; zqu~LL;_~f0AcR}SzSKK;ct!+k-}|GFIf^~+<3qI%aA%NZ1Uu`ez7!U}H`oJ$5F zAb5kuDWT4Z*KlZ%AtXiz4#`@qVlc)!pEooClFj*Z{k4HAf6G8y-?;a1Rj?Rue=Tgt z6VY{pbe-+7_Fr_L*{`|JQN0h5t7$Q+{PYM%+7TC-Mb1V%6vHO=aKthw0^m zHw{X7+X5vVd2kkgR@HS;74egzUz_VYi}YKRq4Gp@br=FjR^WLZ@tlC?PX!)Cib=Uh zwd(J6BH|(HpzJayqCf9{m<%h?GkupP*!6d;|6O3B#DmW_`@G{-jX9N4`F> z?gaKscdz`I&WUfQbr5Mbvv=_+>cYa)&!A1T%V2kZ^NT4tJ_jYW&7wPSse#0()Ho==oo z;F<>NOII62FYI{$R*&;6Q(#g(bO-KPjT66x5mp0nt^_8v8-62uQYG;uHrrG6!-nAg zmgDyNTaGvyfc+#kAWxuMkt{O`zA4wCKWb3s5y&jl4$KTau4+Rlx9oY8^7t6Oc=B`n ze`CE*YmlX{=C#hx=#!7unl_Nc4mbWIQmN8Etkg~T!K;emmO?V<$w~hKq>D)^@sB<%v z&OMG3O~7dcPh%}E!ffjJBJB#&A_fnCE<84-46V;m4A#QXj?x?2^UiCAZA=zsue@id zW_B!C)P`qr$`rO=DX5CBi-&|u$yC=yQCE0Yj+0rCDfm4=!sY9$>_j*GKhW=w$BWSK z5}f@1MZf=Rf2INHzSN)l>7cMbx8Rieb3J}Ve=f(t|JI*3F|NS7Gg{k01?HFuw#bn` zqtAncKZ@r;=R06bF=7c<(QCoVH8%>@_6k!)x5T$?%!#5!ri&sGHwC``qd$UmzZKF` zlMF)kafP00<3!NY6GYpBJ{wXjn=VixsrT3hs*tMQWw%FRP}QoAQoaI|ZOl!gsxZ~e zIYp@IeU3AYHzv5%Nu$sKNd*jn>H6oXnzt$0x=+kT=q`Z5nqO8QI9G}}jJ!d&yhjnvGS~Q)XE%yH;@U>M? zKDtGKb`X-4`RZCLy^)E1g8;t58o|TU+UuNcupOS--|H5Z&jcZW9x~GFa>T`kl5g)dlJ zhgMtCCqUZ?a6!-z{s9*#n81ZYjuO$Cun4a*Hh#kS=eT@N8Wx5m>q{RL;nDSH5*8-?${#11Bk?omga2oN%qd<{!EyuuObjxC6&G!_z4 zEqKEU6-(tROByy6L9=UOC|neN)hP=;{$$loT+BR?&-0 zi)_|Xdp}=fgAnlO3u08#qzm9<>g0?n)Heb&1|>2RU}&!SYMZzMiddt_vQ7!d#d6zs z2uaZVfiwpZ=M7pkOi;QBAM`xliq+}=e*Ow2?G`okM39|Q!&xYi1cwSck!gFb2$GOK zet5vfASqxWa;>{}obRv6F)RZi7O5Y-NywzW_$G`S3Sc~KenZS!)J07K@>8zY`z*G8-Zpoy?Yg)OIt3d+V@^3~il%mYZ6KZu>F2gOC=!~oX@ zw!^`f(J&6*QSO2Ub^fJ{UIFvf^N}_h^Ph%sf|(#0l=fujV3<@g4H>Y~z$o-H0<*A>V9beyP@UZIb0NtvIZp+KEPJM7}pF);vkS1zfVz41Wy~))74s+} zRa%jE6nJMp(>sE-jeL(|QUld!15_}GBL8#rJP*1rK>GU}b-<1$d44 zY@j5t(3%9yn3~2~$yyAxBUCZzo^O%tJnkqlK@t6_2>dec{2NE)+U=;K1ZVy_`;w;U zp${>87bzJ1I}7+OYXAi+BrwedZpz z9ecqHRK*-Kbiy$ZtxTTLj0)(l2&}&VpI?L3tm6$-(Rfn~l@#hw1=>jw7%LUUuL)J^ zq(2G0r1O2Ql_{aN_^4VFqdWp*?}xvk7i{Ycf&f+MnLis19u zSMga$y8+q}Q2+kHc8{p~KM9!fe-}ZpYmxELtpAy5Qk^sgwG|>-qz(sFdlRBNUIBiJ zs((8W5Fv1VK;*Z?n5U>{g_>J)$c?WcwVA;6ze-<)Y5JAY^K#*g2( zJSDi7uE&qB<{Y%V6*xkk{v~u>Yt?2kjmZU?-X@9@3eqi5G%j7HI9q!9IaFKfG^_vz z^`FZE(~66}qmPsF?{z-BJ`Tws@=6b{;Tv{51iux1!_GDGIvMVSOe1<7GL59G6MrS) zi2lSS{x2mFYd`1Wg^HSZZ69#>hhkrzrDH_mbyVq8I-tlX5-@rvQXA9@$UMRtXej)( za0KlTnP_kWz(9#gJWowPItBXCEj^Ex02|YArucdk9g=P$qK1C3gbJ$TC@RpVK&c#p zQ$sJb)I46890wws=XwNAX#OaAo)>ANurpSeWx1dC z5sNbp&^H!7rJ<43bR@}!NkUKn7^*dUEbM3{Bk5fM;_p-pHwkUo&oCy?D~!mnC^X+c z%y*X3CKAIaPSs6-feC=qhCqmbY|1~Q=(79pJn*A*mFQ zBo_b_Oa0vut8xtt^%4Bb(orzl^36BF&Dd5_LbE7!=?_omAxYgRJj7P`sEBxcn_AJ zh+BjbDZuM!Osw+kTtbCpAWg;8V`@FRD;OC-#)=xyM#FX7_0>(W5E#LZl3OtroR0PxrJ+>-qeW4qY;&G<)9d_bm!KQ`m@_xdy9iou6~0(Q`%HfRw#c`L4% zF(R27Ru_#;lMC=e;y)%D?8G0lycmYjwdR|zH}U-9M_}cKFaZnxi}71j^EI6YvnkZ zj+-dQ$LQEiIsS!?D=Eh_>DWOzo=(Rq<1=(UOF53C<4el%QaaAW zF||j0EbY||8@J+Vf1Ez|{1vWCl4N0NX=(l=>ZcESQ+!A0-cAM4jw_!hp z4Z-Rx7F%!+2Z#qPU)F*}M@5e7?e0`eMeqLXV`S!k`4W?iET4U{F#TH6FIywC)`Mi0 zrjl9g6C7(~@qAh^XY7p6XLX5_SpG`Y6!#c@f2Xps;61I( zp7AW@PP|&y?tDLQd&S^I%O`wTR(|z@Bk`&08*J*FyYXDxnIkXsajEbzH#fI(H>de? zexJ~%*wY#ZUR{~DzVveYBl>3_k-|4GEi8DWjjj~m5cx~(dmmohJ3jnGgJp>=JowHs z&4=y|DnIRdoBAG~^78UV=A55k2;{kcHu!Y$&7Yn5y8d@B{kXwmaEG{l`f(h)O7RD7v~cC)e?Pfg?_d{ZXP?(LP_QT$6Gm8iB)HAtRZW~IkNxAAH2>EY@u{j_RHQew>XDPu#2^y|?v z5bvvBMf!Eq+7$~l@iV7R91}9AcUJ*8lXe1qSJ# zgZNjPl?E0o1Beu$N*mU; zy72N?tNht7TCLjV;A6GDj!!~*Tc7R^LVO%GvwY^PTkLac&nBM>sRw*o>QDRh*m=jt zdEPspk~MAQtFKGRgFRj3QGa{L^X|2f8+L0eFLCK1>jQ_$Nf{I6UCU$SZvE%ThzOKd z++QY7zrI$U_;j;;rQ%Nccf_h)zIFUI!ZNiBNw(T2V}AZ7s1{V<46 z={uC~Tr->>$r!=UT^h+9Ge`4_>%;i?!Q*%r)dc=}!9@PRVlqz|IEB0X7|!))B6#nA zrt)3)Bl+@+)A+q@)A^Li-|^bDXYhw7XYe(HqIlDLQG9jZnLH(ZCZFvR&2LSN=G*p1 z^K-AGc`f%CKD%cOPyH^2FZ&^epWYM0osY-xN`J@jS@&Z2&Brl(->Vot?|lr<{20S8 ze~RHY#u&Z{f7$r^gg>yJ_}h%*AM#`PmAn`}JU527d>6w9;n}lKW4P83!?p?=%8+^orr(ZDaU{rhv^g zhCeP9!~3!rUg}9SFMlBcPb2Is;Ju~_1r89YpX*2mL;N#bpGx_xjGkM?KC|>hw6zBV+_?9J6e8{9IKC)vJ zPjQRlLoK6t&zm#&ihVP9odq+v{m2>IN1nk`ooDa`kG|u(^xyGnOTOcGM}Eg&wfv6v zDDfS)zCE26+cljJh@H+^m+Aa%mFc|IlWF|Y!D&2Y&NTkM`!t^5GK~*^6v-FwjpSvb zBl)AYk=#)o$+efK@;+;(^2p&+`6D;<>yrq6Vs`{@77@YUHjm)NbHn+RL*cw(R5AIE7D~HiiGybP8Yaax!1LV=}iKGnuElPUh!sP2$Z~OyaM*Oyai1Ch;k0 z6M56fiM(^YiClko0-w8l0^ibM0>0}Q-;LnmKaAi(El2Pf*Ft#7??Sj#K7@DQKb%|l z9L~$X9L9A?!}!oT!}#)JLwSQCL%Cb-5T3Aj2=}WygbzPDm_O)0n4ft$h?mt2;>W5C z;(z}(kar3i$lY%Y;A18X;A)EjyuyZh~F^=@-146QzO#P-zi`o? zk8bDBBlT@~UXwQb-7kK8Ocg)g^Lt-@z{;0@Kdm)?_=xl02XOxJjLcJHnSa>f!*^Bj z;dgYc_<}rdo;=2z55Cfp#|5IJi0g{d;&W^p@p|JudCxx^a;Zf_-e`3L@O*tz7Bs7=Fab(bmL>(-T3r5wYl^CTD+xSEuOQsCa?X`mA~la z$^-Y*;O-@A@E=B2=gW^&VOgAAiZ7yH>O3Q^ytOqmu3TJCz-;)ukAJ zyV912+_&Ko4QzPL>DD|l-HMMXZpAHnsJOh^l2`o4g0J?l;OUbkz95-#m<)2g`T6p% zWk1OgKYf&w>gLKHe}6A0%kSijj5l)aPOs$~mtM*_{a(nySku{m<^ zGlM)~Qnvi$4&X>wEGqQ|`)JUuMb0Cf$}#J-sQv2)iN2WnYu0gj|(R-~L-p z>UUXAy>v1Th) zbB3kMlm1GR{|?m4za^*0b{>c2o2w4WP3)6pi>Uo_=bYc=%Ki4r6EgS6zRh;a%Qozk zr#S48|BU)oKA62#cI)wr?5h7+-t4|v{%!F_x$CE&= zmY>BZ$m8$NlD}^oC-3bPBd=6P$(iS-$!!-z$mKgtmfP7+kT0AFlYgB(O3v{cAz37zx-ppKJuvtJ>((ly2?X)capD_>>wXL7AQMK`O6PIedWdvedJfGTFMQ& zG?!mlHjx|dZz#VQT~GF^R7Z9^TT31rQ$z0Au&Vr5Rwen?!t!!d>oRikvr_VcwQBiY zu)X{#*H+%R#Y%qN(?U+S%J+FR=$+4${m*^;)sK88hTik}bohpkvD9Us{-e(MG)>9$ znc|r4(_+LSpV0^Q`cx{u!)L_6pMBhRuJ`$lt@Ih%b+OO$ALsknzfAO55+Cg|sQM(I zwQ0kB_@G`s?jM7EHZS+~iEUip=l0pEK4(Td`Gl*ieY|~Mw7NI(a;rBR4z>E@^7>YH zY-hJ>9nq_m+m))V!*1C_6^lbTn2r9_A!@rXY{Wd{>@+;Stg?y=+8e& z33uG5e;e`dIkS^0O0^~P9rLeJVg~NhKRd}z@|0vLNa`Y)@0fp;63>|@N>CYD>MaeH zLZz{i`HuNlDdCCx^lvc!O_ruf(NetGAT$B%X7fLO+|*?&xm0(pRolIeN8Nh$8#M52 z)VN90X3d*>we)V~BXjQS*Tz4fZD63Ab2aydO}%_t`vnBH>k!yF*O)u`m@+o|vHu*uV+6Xxm`E&XBLrfs|SCa0twKlA668+Yz!KYR1BbhVb9 zhfbWSS+ZvHj(sVAoH%#&Ue2qJjx~6%F*CF)Htjxi?Cj-R51!gR5`f@v#fnZBIUW?&{q~FLR5#w;vh1{8#;jJ1>mIJUWk` zx8dNqdvEP)2M(XHaO1v=%m2LiRIF~-Nl9DMF6S6+Jp0A0*WY+&-FWcqt*0K@H0V8J z)qzV-teXtg>^T42%4^K>w1-yS6V{%5Wz~G-;zLCdC#6LvwdosFT(bGe(v14jEwyY{oJSoeNZa-$dM!a_y0PtbuB7EACx)= z3--v7y$k%@s04jbiau1*w>Fia4@#XrapJ_`!@G2TZb|{=J3T%9z=7>r-`Z4yJ}7k} zBO~L`p`G*n+zKK7@@N`pdX!X!En_96*-|UEm(`UvO8wYH)?UI+R%{Lo{79)D+r%nM zOQjC%59TfXCXHrySYPRaWQ7DxZ`e4g23y6PB(3Djl0p5yNQ2qmth01na%S_HN{W&i zv8}ASv{LE;$WvSYJYE}Ja5vGuH+v`}h`Bp1!39a0Fp!FouirSfbM zD<;KB&Dl;?TUsaeWM^1_lp;-GIc&Ie9V_Rjvlnc%>(R0{Vf$|@$4g;0-5n6D=#gQ0-2sQ zmv%}c*iF_`IwMtJ-$P=|l3K7`%uQM^^^* zaH$UaiB*ukmx5RtYa#8DLLo7GNoS>sY%wbispQ3WGk57nsW&^v0wui^!Je=Y(oM+{ zvhx)Sld7>Fn4_eTINQ$}NIy#h*}F!Rboq+y_6ueWP4a0=_jcV zJI{ioG-)b(%0i`El8QyK*KDj*ovmc0qXUpg#JW{=n~>6%oM&4$Zts#F)_PbF!I)SjiYmeL++6w6|Lr1Mf` zwv?5S5+!f;8}pDhNPXD_)=oMiMY3mXq;wmj1=*-9mh4h}M6bhSkJ?STe3 zjZa7=yHC!YmrC|t#F#~?WakB6TAn%y_T6{Q*QSzPw}0`*RI=v|XKzg{Y`oiCN_v|ANVrdEM{c7mTzCA;kVewS0p9(xsbBbDs1tyAu%lKnMl zQg$lYT{a`0rjoq{oi&y0tc7)RQ^~#p{`6#5LHE^@Jq4XuPj(b^Wj)zXk>iT%$!@yl zRZ>s(5_E1o*-0n$PI|JBprh-_E`si^ZvuPh-+c=*eC|89mC9 zEu_b@WFzUxEEsOmY(bnz@R6)12E|U8wZSfvNHg)p6m;>L65eO?WZSu z0&Ucztz;|e(RQ*S^<*~yCwj6MfFnKG3BVc3GqO?jz@-eF>d77ej`hH`44mtMdl`M8 zM_p|->XkHK6m%#&i@PZ7U(1SN*@Q9xDWblk0yyF8N(u0?Lz*Bng zmJfJL4_@;D&*{N?KHxz;c+m$usRwVi0*~s!tF6GZde%?}*J3Q4AEtBSUAj-aOXZ1o z>3QN^s*iY=>L=c%_Yv>X`-yi69^zesk9e2hCEg|YiFc_z#Jki!;$3Pl@h-KWc$e@& zyi52Y-X(ky?-KrqcL|@wyM$ljUBWlTvm->fzm->r%m->%*m->@Y_TSZh8m3i{44^CKw17f{9=w7ztK_ znP8_jP+O=?)HZ4(wUydTZ72CfxFDPmZU{$&E5aG!j&Ml0B%Bg%3CDzM!a3od`hfa^ z`h@z1`iT09`i%OH`jGmP`jq;X`k4Bf`keZnXn<&eXo6^iXoP5mXohHqXozTuXo_fy zXpCr$XpU%)Xpm@;Xp(4?Xq0G`XqIS~Xqaf3Xqsr7Xq;%BXr5@Fcz}3;c!GF?c!YR` zc!qd~c!+q3c#3$7c#L?Bc#e3Fc#wFJc#?RNc$9dRc$RpVH7v2obS`+Cc-&N8@IJ`^ zQ++}FlT7UsvWjGusr^EhkxVn;M>gS0$Uc&R zCVUFnNHWrdZy`HLhMM|A$X1fErv4JLmt?T1KZR^28Exus+0_3+mXl03(T9-rB=b%5 zBgO(66HN3a#tIrUO!Ozl5*kxX^eM&~8goqa%T4qw#wHr0O!O|sE*is3{2<0Q8skj- zBE~)%15NxS#zq<=P5dUtP8vf^{3ym&8e>iTD#l(KgH8M_#%3C$iFfgg7`tf9UnMMx(x$v2^^kj`R~ ze?pf54-4G}I2O7N={zR+DRd#yiA?fU=t|&Wp*x`ug)W6Y6}lDaSSEQbbT87uO!AzY zufruvA7sea;NdLQvHy`OlP;2|C+_((q>c!`Gze&S(j5AiUyk9e5c zOFT^NCmtqz5Dyc6h=&PZ#KVL?;$gxk@i5_+c$n}_JWTi}9;W^v9;W^w9;W^x9;W^y z9;W^z9;W^!9;W^#9;W^$9wvGq9wz!A9wvGr9wz!B9wvGs9wz!C9wvGt9wzz|a}*|h zkm!?mnCO*wnCO>ynCO{!nCP2$nCP8&nCPE)nD~KsnD~QunD~WwnD~cynD~i!nD~o$ znD~u&nD~!)nD~)+nD~=;nD~`=nD|%x(J@`4dsK$X(lhid)j@Spom4lygWg5&q<0ex z1Pj4Lun~*|E5S^#QyZu))Fx^hwUOFNZKk#p4hR>76T%JQh*S zS$WnIo~AR1mI#3->IQ4hroiKrgBThgc$j`iG(a#sNk^Fr>km)UpR7I`1CP>O#9a8n zgLDva0$t%LI)ONWA@C$!VU5`Yc#Iw*9w!hUB0a0XdchNP7Cz|_@D$x-Em$}_LXQ!< zA;SZ-k2$iA@bnyGRoMV|f-bQJEDRo>dx+?00}sz3RtBEzB=~M>vZ3(wTxCtzM0j+v z5$h2I4^A4Z$a=$5bB@(vq44C~VqPo)9-AkK4B_z5>}RDA0WuH1muhSvJT-qICS)u; zGXEgb!5lap4o}M|R*MaTC*~S!$|k|%VnEzbJ9t=*Ad;jHJSpdy2O9}b%Wc+@ zO@&A0DO0i5@Sq%EPOLLLCC3pdF$kWN%gmFFgU94PE5-ugAxS|LMGtsFPP5u5{|(RsVZe7yV0-2@n)2>jLohC_j0FJL$V_^bwu4g@|M0;6MrzgocH zFyOB#FgOYL@&Lw00$(kGv8ljMbzo=^@Z$*#jRQVv10%zMk7mHgWVF97Ffa=3_XY+c z(cUjVYG9xq+U<;%H$r>Mqs7h9P6xEKKH66rEo_W-RY1#HpgoRgQ3JH23|i6z@K;0& zya0D8K;97WmIcI30cRyZ+7j?N0YXo}RSu9f13Z-hkvB8PAeo_|*fNU!GXGKxS<&-v zT}QE4{1tr6^_qVfJKLJEO#B_d-&Xwnguj*eTZq5;_*;#?W%&CZe@UkECHS3(KXVy6 zUx7cmKk+Mn?3Qz#}4Q;p!0xE{W^!cPjQ>)$5Cdu*d=Zr{}$>d~oD_f9>! z_UX{8eeb}2?FP0V*nXVbWY>u55!DwsE-LlC(@*xB?Dp8CSf|?VE>?C=vnf2(Z&<+a z_I(5Ux9i`jZ?7%`{06oT^&Z)3RI7+4GwRN(k?1nCR>yii{RXxgT_?*-*-a!L83=10F zGOXE@CX<^_Y!TNu!EIT!`IU#&=vb%D^dWv@JtnwC)SXdvnrmdWm};}DYfCRKyTW;G z`IQwmm)`Dhpu_>YWhJ!gGJE*s_T74PAJA>2JS1pHn-T58f+jVe+GJ*vsZAo9&+*jM zUQ=~Z<)PI&y0O_|oH^I$Y+{Pc&IcoYFBIb&#ro9}9KC$Kl`aKZ6a{9{Yp`iz&8&5GmQ}j1$VqLW* zUYh?TEun2$6*K1DUFAcG7fqksH;+yQHmXyrMm3kpl`2*!U#@JK(#}q$939jpOV}5; zD`snBZKa|LidI_W__yIm$=%S_p=w|Yk1D0@Db(__&+$zQqs9&C5$MynPSvt%+t2RN z$%{LG9zV2m;}1y*GbWE7(x*#MYp+IiYgMaU&e_4fn3V-n$IqL$YSs4b<_7}?PMI1% zPd9JbvQ^7gt>3&pK6bWFr(3jW(Xv(e(EQTo&D*!{OWT*0mUbrXOqR;JoDFb?2HRJ1 zFOm07U8j6WDPMMf_qL{Qo@K7e&*r^D$y%SPnd|@Zw?vuRW$lfwtt;k!uxsw&C`q=G zWc{XnQ^Z;Xzqb8kIj~}0h1%Yh?=4uz;>F&Vshex#R;+?$u@BB8KBz3;*Qvl>RP(ne zo8P>CzS`1Q+QI$H`g1G#)V6w4r;kd?Z{=&9XZ+Z%h4jv8P~~^bez>*D_DN{{SC$qf zEG>%V^ay(Trv9i$wxwz{EX$s^?VeNI>P8$GNdC!@3uzY6quI_;M(x);3F1dr$dJUC27miTTbQV zZXweaZArac#-&l`k<*rMJ$0{i<$AtjqLyttnpMTK!_etTn+{&M?^M1?+kxQ=Hm6;$ zP+jgYbn2p?)327V)}n3yNeea|y zj&ju+cMPAsc5h}@=}K*TkBM5kHT`OZYE4^rk65w&^qq>;eFu+?Teaij9p?%`!zabB z+?9E~x`$7vfsp=56@x!u=|>TJ)V7w{}nF!_t)zAu}Oq!;xDR8+II- zxc0ZBe`i;2(0+K-@?9A>o>Z&j6FhMGsvYO6&BcZK@r|hf7)~8 z{OxBY%DXoY=ss*>OwyWdhfdvitOn8gbQ&-wdhUv!lh53FZdcm15$`;Be6()O_LMU> zpEx?#Z0y~sZ`h34%QhZ3ll9zAUA1wWu0tlqC9U0_a{9(&+tM`~`*t2SDSF*os+I#fR zyDzLAs?~4RVL;dn&FWv0k6*r1+^I@kFBF(QXT>iEPhNXu?^LJ)hwIW2ets`77#wYG2Bw zUaR2#VKe5f+;-^n&BrAiT|An$?LKmH{8F_4#uLXfHR`nNG;sV(?W(PZ&t^ThRabA+ zru*^>v!reJ#=#M^z9xJ zk+}HB9fvaiy7#h_OB4S-BO{{cE#0u2;B%}Ifu%S()y%T zW~yXTNGSN(wfc~aVQZ83CTl}m`+?t?RQ0?T=}VJWjT*9T)Mo6BLTRKhAUm)w<2r>U zYe$Yae@Um^{=s{foBk&z<&>D5uHe+!_^n>uFX7VL zwc4<--k~AaXMU%dIx=DM9L?x$V;WW8cv-g~dHM8_Y1PGhrSs$3ADaDPohEer%Bj6a zM2^77?CR?0Ut`F|&=6NJ3>RS^eZH6TBPf-au5KYUfY}GM^-K6;Nt}^MSi^g zBS0K{%s$Y=hQvnx^Mk!gii2l+`d6_cL2_?*h!d`S>jPP^TD212M&rFu^#F13SNC#3 zkLhSxa5a7zzp2wZdNij5TW>Uh9^P8I74O%`FDxB`Bs{oz)0xHs`SIm@LLfujOmf5u z)f>oEZ&vQfET3ieJdKv*BPk_?ON%g=z5 zsaN*hUU_%*gK3Yydwn{uiRJ9#bDcuUhgNQ1)vxx(rXSwDee?R!#giv8kL~E@-J*H3 z`ejIMv|+8`mWXZ5ve(+d%kb)E+V2cj>T^~V-)CCE5UaYaCrd+tGb=+Iv%j{*_Vi#` zY3pN$v_=Ux2OA8H;$t`RWyxM={;5pA5#46l_g$$fPrq#)J?)-Y4s)j8YZiaoe8||Y zrr+xOx>;Sz-DpR@R6*NU^{aT?>rm1qG`3u&x|Qv&4Gk*wWc6$7#|@o|-&?pz^<-mZ z3%lE4mZz4nzyH`gb9}ci6x~m`ud%jiS^Tu|!+Hj_@^q_O-br1ec%fQ+@%-6S$B*pa zk~FG)lbRKsOWIkhEELF<@7pK#|GZ*e)P!MuI=7WuG^$&>hD*hArAs-Kw70Xh7K-)Z zU909r4sGL6!H#W;?Bdg)25Kp$Vw1Rl#MaJU4Dm(lEP6b%afMRq&lL5H(e=uFe&w&9 z!n=EWR4s>s#h}hxTCit_!o4dw6jkqY?;oDit8o>l5&%n4_&?Eqicw@>}HB5GKN=5Ccs ztBHf(-S}xtn>v+B*%zZG7X_cWc!jM$bA~v|{0V5#X2Ryru5@ePdGNT{MeDbpIdcXX z7qX05GuwLy4At#3KZ4)wQ+l=w9x!Fm_A^;1LZ8jECxwm(4VyZ1-lA2TVGf*GmbGv8 zi0++x4xL7<Ni)%chMO(05?y)YbhA>HEcfZ3>$=rYTd~}Sr?$lQX&9VKwTuNB7{I`Zn`xlRESGTO41vBP8zny_QEvq?LLlAy^{qW-N-;eK5 zzq~!k#ZT{_-aNW7c0j8drEEzJ{q*7G{quXjA0OPXV#xyL1FUiETqE{4&Y8VQ4zgn( z{)($(&2sPl(z~LHeKe%clATp7_wl*)!y7natb2ZSUwl`0E;&l4y{gdnI8)65_ zHJt=}`MEFdp4q)Fcxv6~7G(*H_c?$4me{j_6JaI))y?#E5p8SQ z6X5ypADxF>YFI|7run(gZ=@^@YvbxbuQ%p@e0A>xpl@Eegq1kYd;91w!o5csI~tSB zpII!kC3`rl0{S=Do_)AH%LBcay}dWV_u^E13+!-_|Muq3gKF5qM*om~WR`DP0_5Yf zKYtotPfeKk`0Dn-`1aL`Q!nMcd2n*=Xs>btqEGK~F8`L$qpp)O^r5?tuA3O(D$oO_ z13q`n9oW2Lab?i_l=tjr`r3%#I;DivF~bMb*s54b=ZZDzHuLS+Z&c)*!W-f!-?L4} zZUcvB6fafI#kHQXzF()_gGQY%S-NVS#(u^@qsC2~GWC7afG&LohboG3L#&{jSeCJ> z*k^$LSk-)&w=R!duDGPTY;l?EGR&o=i=E4rD(kBZt5Utnjmirv`&E8gX<4O~m9A8r zT+y!L>I!u#>@DB2{NZw~%Izy#zwG)l4rQWCXFGRt-sR-rG`>`(V-?46hYWQYbx6q_ zCEnY&wofRYX=i8GzSun53>ym@*?OAQ9@Qhu>X!X1zL!p-4b6<>^EZFGl~*RO)5p2F z=^ygnw|qbK-M+VP-?VrW^*Zg9?W=AtSHF1lyyf%x&+a~L@$~yA&mVVryeFqz&a6kz z4MPkUv)gAMedzx%<3aF)%lAX>zx^laAGd!p?v1%u>R#&IiFaM^-nz5)&X7B9civ`Y zWUbAbmenUq&T`8tlVz7>k;Sq;HyBtkYfF`ttzSi)f6|02=j;4Ig?h<3V_fWAoC=UFrD5c*7XVel}(!hgZ8iTf3UHG8dmY$9+z; zX0dFx(G_vK>{F0MW7mKHdt52SCL60tTI0IBiVicNnJJ%979}#@8f(Mze9`!;aT;b0 zj^*F`q_R?#ZVfH&-=7C^#?e>kKxg>3t=JvoU&cJ6FXjVm0I#j_lCi5r1M4Ps$L;_9 zq;ln--d4vf*-PVN;|rq&eCIXs_uQClTx#5HY=nr|2^NVE*J4VsU38+Vi;N^k(UUzNKEdyIA+ATC|=Nw&l}ki;5EpqU%SuT(%Cq(VfHs5~li z;rCs8efMN$PEIqi{Mp^l>CShr$6kBw$Ju+Iea^f$cFfOT|MwHV|6b$hJKoxI)Gyz= zXVe{UZ$H=xIZpfp$C;0f(!;U)xD3;aXA2B?6@TA~YbmY|;Sxs`b(E0f+<39$Je+i# zS2sA$cQ1FGldizdIs@3VxbgwL3DlyHEkY&yq!scM{w?GYVQZI-vp;m4Uf6GAQCJxE zd<;MOGDheB5|3Z$m>)L7LqQYEx-hr3+(c5l4W-i`w zpL@fP-Z<-LPu8Aw(9?IG3ATCod*0b&vhxy$k2w?9L%_(V_pHR>8%59A&@0yyGiJ;H z?~{<7Ao{ZS`(ecMvAPN&p1X3#XXkzRb8F_^cI$;gm$VwN^*T=AvA1CFvxhF7_vAyH zrrvhzt#h%?o_F#^csKBCr_cM?n;!*#KzOU2Eyp15%Ez!8!?k1q(rTVP^uIvQ&cDZP z+yxz>hflj^7Vv3kMpqp4^oeI)+u3>MUCGN~|HdDpjL83(N09dpCv+@oBqX*-Kv}zy zM|TKzgWemOF(VCH=+UDeTv3g(J^Izxt_VTjBhAg%NPZ#2u=AUu?@{1KoOj=YZ6WBu z!%k;w&5z&MIu~h+;jf2LCh;TmW=~)D_S|N+~l>` zLg<3uvfp={OCLY=$d8Gip8&2x?7TMT?RV!-d(qmRefO%V(X)?yOK>jeJ{}St{5dav z=Y|8%z44%sf$DGkIUszY=P&)0#M%4z?1s%w?%-*MNi3lkm!!j1Cp7K7*9<@6M}Zxu zbBvS^lp8`Oc6x-4ke&O^J%9b>vWB{O_#CGRqb^;E*CHxMRZciyynI9fOKUt4bey1k zxC$XZug4S&Uz4c3W;8Zy@EM75_)miH*WwD0AKglW4?mXecutIdM*f${j+aC5SAqTt zxz%kvVAHtGW3R8cVT{Oa$2Gn~?UIi^n^1<_D`3n~Zq4ZO^#O#PL}7zTOmDmI&vNq$lny?3fy z7Jr-IDX*|^tk^_TODiPliBBYW@|%Rj z>&I-a*fe${24RtVNAlRNa_zqT#cStG@K)pdMiSnD3KPo6FD`lPP`T0afguSVIdA#y zg50j3sN5k(saQF3&q1!|S(W?WDdowDmn4*q2jVZezlBEspDFh{!X&|Czt_+8U>iS1 z<$}KLVTkcv^dF#dJH&SqJoy#N`Pnb+SnN;A&+8#znyR5xACrgE(@8zY52I%$=(V^k zf6|ZNOb?33DH#`gnNOpyoc3=i-*(|SSj&gWmj<8m3IA?fmE^A>yT`vw7k;_N2FY(H zRD0uJ2>#G;{2ZS|e+K+@P_3$h3_mLmV6Ah*QshEuP8^&B; zv3cyKaT^a9t{sFXsK2NB>0`RsTZ_x`2Z!ModoL^C|CS$rg;+Q^u1P-IaqXa8zVpfg zze_vlAC4b95=6hWgUN?zx$!tiL#ZE`Ed0_AmXQCGO!uoN;g@!>p8RK&!7uHgll-m2 z@QYui9qc53w;z8=I}p1j;C>ODsOA2mpB&RApEJSVP5vAF_|5&c_&%7C`D74=QrM4eHY1x@g#Wc@ZPWL!M6T`YR9Q% z%K6zLewT53^%T|j0sL)3sU1ufKh)w{LjHcHd+ql6PsUs4qnghIU%!uReCVYEH%utCcZh!U5Ez%tR=I?)oHXo><2H@mTyZ^Y8qRO6 z^2_!Jr}&lE*rn@XDR1i><-gMyjsHA$A5fIP_({r}qukfVn{QIp}?s3Riwa`|+Fd zZ5$)~m*Lt<{^8~m!oLkyKl%R`f16P1FD6TSeGb=_i`AaDN6-#r-W7IL4v%{^l;$(U zcqVPMI;?VL4Jwku$PMTJ)s3oexOJ42SNz{e{_Dp}<_MnrN7kNpuF?GetlEaq=WW;Z z;LXNWZlFxL;rtM2Q++kQ`gDEfr$_uFbYYd`<2xf z_<`Cb&!A1%*Y@+U>U&nYw}gGvSNChxcgcyW?qAhs>mmCO)rSY+8cOYBvTZ+I2v>Llemer;_rCR8yl$BU840ER#n$h@MAi3U z-}*KB^3Qift{&H}!&GjuZ@EX-{&yXz`sAU%2_ApweO~gH@vv2X4HMzI3Cg~&^}h84 z)wk8RKMP^wm`Tje&!3eish*Gc*3Zbs+kua$zD@h+XYrei55bSAzTf(mv%LGR)z>>! z_06^q-aYj;vhwy+slF`z?5$U6sDu0Xe)VDdbB_9Y{q!;2Pme9<>gj6N+wW63$InrH zXT4ADWY6iUuU6bGVIS*Z&nHyh%f9v%?+5w$&(_11Wvb72|3j@FcAuwfx#}71*M7^? zv-({6i~L@HmA9@4Q%|||DD9~pSL+JR9|!j|cCetN83j{JTk!cTnLZ*e(At{&HxZ>yZ|yryJd%g+v5 zo*mTpAGF&u-zwNItp(4LZJPg!`*=RV`l0_p)pwWg_%^cr_9f<*x!-#)bp^`^V-LBzjkWv>ZYD;c;CnbPdP{CH|H6(EBZdQlfds(-MFQ@wU zb>Daw^)!@OpW^R&T$O*&{Gaue8(F{XenIuUU-R$mOR6vIYv0J)Ls!4*%bLc8|2*x> zXTOwkt9|86f631$#J`(__fMK%(pRpyy@=f7xT-1lsWQtga_`^@zpVLfexKTV_g_@s zXQA5!kH3oTpF}pl`+gtwtrj;+@aQYAK5hTWy`lEisy44aru*4t_4HHEP5Y=P^rqUQ zFH8+lzB29EK|Q|bBFog{yruT|p8Fq0kF+b9hwq`DM||7k1aJ+$f8ytFtFQGRYS-%FhCJf3#Nbemmi`?T$#a-!<#+($jDsplv^e+^@g^;7UrwFloZ(BSdY z$nMhvm8x&XzgRwNS3mV^_R~|cUnc&o#}ztE^Iz&G$8_Pp8dsS7Ys%o?4xVoEe{UFm zDaUSH!Nb*_SA6Gb#rHqcPEe=)N2=V1hRH|x<$TdD@=q#*|1$9JB>!o{@Jl(i73lXp zKVEW6P0JxvrzN{4EnqZbRf(d_R)>jzwG9d7{ewX$0-29=zF)s@#W} zou_X-pTq5(s`_s8vxDhU@3pw9Pf`AR z%HY2YJUhsLWf}b2z%%(&)n86Kd=C73sDHVi{(^QW&rGcTo6tr~@U+9?{ZaAzLda!5 zu6E(eH)YF7e_tI`xmQl|lk>L2?U1WHPvy2y%+sDKyz|*tAh(`!m&xrzf~R~(AaU^A z!z9Dx-OrKwmifWfe^)!|$>-6>blX05kzd-138ncnS@@-W>=^<7Ht-%5V}{Twjid61Mhjz71Of4KH7?e2E)calE?Y(l9& zOU8eZ`xWH+DEA`8JoPrj_#*H5bcWwE!T&kN5d8yk-4T@=iJg~0uAg$-#7z=B<@4sZ z9dhAD&2M~}>ml*WE0C*hQMs`1_*vW^rQS{gZ}`(HcbwQLq0~-IHSdYZ{h+Q)ez8mL z2O;v$8AnB>`iDAq1i2+iwafoKUT=9`hg>$Ta?;05D9w+_ru^`6vP^y{Pd)g<y38nck zS?pQ}{s8&=nC>aZ5btNo{cs26hO1w(OU8sP8 z;#AX^NToWGnP^iWok>L_ZB8nBNk=rD3A86NfmmBI9u+mwro85KCX$IdZPB(wYC`}D z6OEBfEYTilj>O_%D-4yru6z+`JY!25ke8|uDsRv@@I{TYT^i?@9%B6X1)AQ+xR!A@ z;~k7wGv3Cyld-c}VHXZ#%F38Y^}oMha@_;tqCejCR*LCrA!9OGLUe}nM@jGtos z9Ao*8(t0S9^@~}<+-ANn1Z2L6G%x!}wOjrlk4t!^&-OCC_ftxDF48!Q>5}}_`#jVC zpmB(CmT~T4P47h8laP%n4mVS-RpT7!pYI%hhV-%u5`OuY@phl5w_#-c6ii9NMV*R2t(8zV|z6TGOZ;(*vJVdYEyRao`%- z#kh}g0Kaq6JmuS?oX=D5wHk*Qhi&`?P48tKxK8oTO&b3AR=hw%=^1B~}D4r0M8{MC$;jMp>nVZ4KJFXNqz`xxgK_cI<~ESm(P ze>`LPo~YoH83!3xGY&Cc!nlsHY@3LjEc+!+GG5O(%ea$q7vn9AyBTj~JnGfs4!r5$ z?~J~EPJdT51CAont=WPXd^8x!#;$D8I@)=;UH-z7G zknmSr!jGRzH9^js3%##OvCstfo}u_S{4HsHa}@`PgYy*2vnQcfh7>O)mM?Qls3-0v zmi{RG;YCVM<8Nc%V#Qw|y^HwEr1$ax|GmV4TIGL&{JnLGpCLW8O7W}2*?Ps}P@$6F zzy*rsyF6mgz-q-)Nyks%nh+wcyj<~lmj6!07n444m*O~afDfiWL!8^D^lK>}`i|l+ z6DNu9vHZjj5ZB$S{ErcL5z9Ct<;fAtd*6Zs_bI=OCxXMoa{gFwFEM`N%;1m=&v`ET*Z0P*3(_$h4@rV>}atT;rRBffw* z_=?g$4J_sBepT_+r1$()@mGlZ{;s%(*!id8$0_gN_kSe(4{;yy%j6I7!|Lx6_Ylhm z-zEPpd8m%?L0~Cgmn0&bOx%5_;u*x1M<`xEoFraG>>R7~F!2C!nm8u|C&D$vLCF+h zi{+Pr6ye*%p&5#QY~^Pu-bLIuNAWAfSs8c{MjgQVnyYv+u`^FGevV4pH}Pr2Sw2`_ zPTWNtChn_M`8MLph~le=!~B5SEtdb&O8*A2vqtgvEsiVxZ!6!X__xG8#BW-9Qt9I{ z*%Q~*WfUJy9OR3_ClUAbD19dJ0P!b)rK)rHEBzuX|G462;!3%ZAY5wcKUFN>%aZ)F zPbvO?#G#)n?ji2u0r#gYKR=+bo4Duq%KwIy->rBe9>9wJz>A6l#Nk&IPb1C|hlso7 z#)fdA#jh)Fv;1!=-bft8&jCxgl{kQ37?W@>arj`xy~Ig5gn{rsz~aAN;+IKx@WWgt z-~p=G?;NcdKQm`=PeAdB#J$HWo=IGHqGJ3gnc*KGzK}S4lG5XrpC8P)j<}onR^seO zmH%$yz{!dqv-E#c{98*8Dt?)`Zl>b*hzDjXJ{Ax2qmFf?zu|8 zkT_VQI6)kkulPDEPrQw|Z>7?owDL01K=?Cp?tI0EW3eLk3=khr9KJy5HN?RS6{m=u zPb$8~;!i2Q)AAEPWbs8x{|#{+@!zbxOneX~9-{X2@k5rr1Rh-?fcnWdue#LW% z!!i*>IG4DWI7}RTQ0bQvcgeyNp^G^1u;OnKcN71J*!hXlpC+y&?k64~#^X$5f6sp^ z|3u=@6N*1doRx(x!r7MoQ^ir@-0u`$Y5DoVqAkRgIi+tU4nD8=N#f88ihlzv<5QOS zMdC_1e2efm;;ug`KIkyzA9zLaalld^;eRNuBE4=jCW;8BTYlnY#NA_*-fa0#Q@oD2 zhxl4zr&{T^TYlnuiMxq^N}MBpkvKR<<;NVZ_6JW_93bwQuQ){9RjW7*EamH2srV|P zW6l>?t@vxiLE;|}hlqC)_YyxtoFjgT_yywEiC-d?AL5bxoC`I-$|IOR@v+2p#2+Kh z63?=j=PBk9+w&E57W16Ng~ax}MH8_-PqCKRo~QU6u{~FDqm`Ep6NEd6?YW5_E6?*2 zPgu-z5x*w3=N$fMG0!dhoj6B4YLfaRbcN=3AaO78(ZrQkD*XiF0P(5BLE;c`h+&xyQaG0%w{fqfmZ&z>7O zmDrviSqd!v5A!@pBXO4aa^h~{FBA6?e~UOr{GY`5guUq>FAyI?JO=wplHUi34<|m3 zcnWcVxQ6&7VwZRd@zunq5Z_5WllWoc(}{mUd=~K^iED`eLA;pw5d1Eb*jr0{JaIko zEaEWnxy0SXF<|k(J*RUeu|2PIEBSNezn2(C-;Mu%LL4Ce9r1kPw~3b#AA^IGV(*2- zXAp;pR}yE5+lfOw&$pS_p6|Ph*q-xy#Pai8->-@7dB499+jD^9@cNS2W6uYEh`5*M z1c%#xc5{HOyB7d0pKH?9TM zi~Y%)G{2LHJBb$pi@nzopHF-naVz@mauPUzYe>;%?$b;$Gqo%l~E7ca7yIzQ^(tKS`V;ewEnSqVf~*g4#r^ z3355bClCjoS3HZ@o_9Ql*!hFfBgFRn<2qt{4stW_hoHZg{NE(b5&wwTc|r9(O&lQp zGjW*s9pY}{qwu1XZ2cr;;yU8l#Fd;co@4pnRsM^Kv-}WVnmA0{MchSvH*t>m z2gJcs)&3`lL*o@cW9bJdevP<~{G$SDf6)AX5tiY^A>wJoUBorSJ@XwCK1m#0toqZ$ zmBe2n4#@*0gzph|&sF>ji{~i*J8=*3QOB!&fisjoi`b#Q<(5v|MjT$D{MQrL(VlG< zll~NO(wrd0^9|ww;>r^=|1j4BQ;EC(r1iIixRRQ%%c_I=jlrD z{U!JbgPlD8GbQxrOYlo2_>~g;_Y(Zi5W2Mk%_L4G-lk!MA~uN6DhoB5KBkh22hdE6!j#flX%s@`Gi>8RtTqUi`;dk_~iqfmI$0@+8~lC6<+462Yr zgWDX7BSSGZhEhY$aWn8mI)+yz+z4K-*kE|$Rc>1}lZrLcWzqJ=1f1=*L^EzWb}2H; zG#9WNx56PMJo1)@+t`uLB-&6Ur8Z{bgN4OAA8uPyV@9l#nz2k`o#PgYTjeS)yf#I7 z3oJlory*UKvM!csb)&_FaR(FErP8q(;w&-IO?Jf7;(9e^5H`A*D16_Xia=4c5$=vO zxeXieN{Ju{+Xf`=VTu~30J?3uWP{dfq1%ycl2=o#6q+Rp(Sr7B)igFW=K-i)K66g$52tN!v7=W9XZv<;LVM z{WH>$Nyy7ij*IR+y*AMT!_hpZ*R-L9bhPUbVTOziVv-rc1_?-sqT(^2Y_LO!hgVe$ z!P%IIq%a;*KwhdER9r-}s!I~>s5bbv73yPs(oH4sE*1t)sj>AKfXooA_8BIsgge>M??DXkaOFLSt zA!;kZ--AigA?%1#EQpFhJsLTx!T`}$l9Y@{8U|jQ1zF{Wg_qxoQ4Vo3d)f;9nrch0K(? z+66@wF1RJ$5tZS)E$?wjZA`Q`Mk8p~CKsgeuQa9+aTzhu3tjO% zSp>q={JhI36$++4C?{qcDX5g1r<4?JdQAbq3^CFWiw|~l zRnPcw1nh~&1#n%qQt9JkmZ zh*HPJ1Z~hhQY3n%%zQ(VW4s^At&Lq#hmisq_$Q9#h1~tuVf0R{a~Idv(F&POV01~v z)|VunZ|<}OiL|9D;mW`^sDbHbG%ZLr7E1FTz%^hg1UN7tf1C)%4jQdm+I5QZFO3+UPa^Q}fEas^bjmqc=dtJ6;p zZHVO7j=~Bp8D?;I;V`7C*oAaCoo-7cutsghmIl@dX40($v-pskH)d~|uCs8H&KnkI zoP|m4Xnt#he6e4=0nobtr)NE!oN@sR`?4Fu~4$D zBc6%rHzDlsY~5jUEu^y&is-4R`Wt;YB@1QQENY3m>UUZ57H#U_?i`O!n>BOR9J8M! z_l;;uw}D8SF$XuML<)0{4X#NtOPA^TclEScGp6Hqnvp#m+^ftAT6dWUFif}EKbx@- zh+~Ylddw&^ZB|uKZsAzdE_17<&6*y>eQW9R^WFNI`L&CXnQUjxYQv09{*ZedzkFeq zk;`WWgAQ*IRnzgOSr2D0MQw^l({pAcr7?o(9SYVIT|X-iWeq=wWGhJ!mgc4%Mc2-( zCbX)M5DdCT;UL%anMFdzfI+Hcp2ln&R+|YX%Canq-73T~Cu@+gMOtG6)`RAbfxcsJ z9*~r;hSj-zxkzqoH4Ey`T{&&$Y`Ntxsad(qt*Niq8HHI% z)GS{pDT|h$S5v>pJ>Qpd9!X{rAeH0B7A&+=RhSAhOH<|6g_(@Hw~*Z~31pUls&FG~ zTilfkk@Za8#f4$*CAh_3nqSc5Wh7fyyeCtH;#50FE>5*Gx_s*VrS+@a6|=lbEWxA4 z5FYrOR!G`T1ww$P0WezhHi$1;*?lnDaIlv*!)= zCL3!-laHxF%G+6wZ|y`gE6wn47Tn9NRUXPRUrOEvEbw$#LJlk(=ccAl>a1c#m0fHU z(mtKQs9D(dNt78i`Zc!PWPV-HmE!4!LWoAI_v-?d%mz&Auzet-s?1$|NVs2>P)+R( zZcNBBLbuZkRjiP0jo77TlINala!I4y19=6U7wlTjVLV^H;9KZC9q~+Cx~a1?ffQ z$WQ4DGv=nJ8T$(AK$B&GpTMNamw=AvOREaHZCIxb4zR^Km0YZ#EwY{)`t}ZL21wn= zGQ)5KZjNh;l$yr@1vCzG^o5x`VGbIN7nxF+Tr8k_NTyMn$$)J#rRn)TWcHy3`Rxc< z%AfC7CH(9IxM%9h6q^_-OVu#r z_6E1H0Sjca`%cp!g4=Lp19q9s@)z^Jk`&CTDZkQgN4YcHneKvf7cE}ppeA0aTZ7_Z4RCKu^c;UGrQuA#Old$}h z&P`_WTl}7hR0$1}9Z7LloW@$?tYN5Gh?~F377V>I@QDhpmvk*y1d5hSN>Ak*?l!Tgr@b-q{5Y9kw3kJBD=lhk}?d*kT1_r)Z(%Y#Zgkup;!va zTu4@z3{hq!_!iB&(mww*weMA2*qnx<`WMY+u$Q7)mV%;jcSMBpBMl2zK$5$G?q1k- zTTHYMhD@P~NyW{*fJTCu929QCkj3oR(2}A}1$=mN$YefOHYOAa6uYd5B*jMAip=*g z6!eE8T7egf(#@`q*NpsT2(6b*7V}9@7w2-KZH;E92alNyl8JX?t3eoj<>^rC8qB0) z7-?J?kD1caVII3jGLd$Sv^a<(Cmq%&G3esZ4hA<9Aq@}sv7cogw%|XRX~!|{XF!o< azHD)+1tylq@a7K~fjxo5IypV$IR77?*Exg$ literal 0 HcmV?d00001 diff --git a/quakespasm/MacOSX/codecs/lib/libopusfile.dylib b/quakespasm/MacOSX/codecs/lib/libopusfile.dylib new file mode 100755 index 0000000000000000000000000000000000000000..8f07c8c2106cfa0a4dcd5c79de1f1f392ad048fa GIT binary patch literal 148776 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 WpjsZ-q~+n3v46r{R6$eG^}hh_w(_a~ literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/include/opus/opus.h b/quakespasm/Windows/codecs/include/opus/opus.h new file mode 100644 index 00000000..611a5b91 --- /dev/null +++ b/quakespasm/Windows/codecs/include/opus/opus.h @@ -0,0 +1,906 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus.h + * @brief Opus reference implementation API + */ + +#ifndef OPUS_H +#define OPUS_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @mainpage Opus + * + * The Opus codec is designed for interactive speech and audio transmission over the Internet. + * It is designed by the IETF Codec Working Group and incorporates technology from + * Skype's SILK codec and Xiph.Org's CELT codec. + * + * The Opus codec is designed to handle a wide range of interactive audio applications, + * including Voice over IP, videoconferencing, in-game chat, and even remote live music + * performances. It can scale from low bit-rate narrowband speech to very high quality + * stereo music. Its main features are: + + * @li Sampling rates from 8 to 48 kHz + * @li Bit-rates from 6 kb/s to 510 kb/s + * @li Support for both constant bit-rate (CBR) and variable bit-rate (VBR) + * @li Audio bandwidth from narrowband to full-band + * @li Support for speech and music + * @li Support for mono and stereo + * @li Support for multichannel (up to 255 channels) + * @li Frame sizes from 2.5 ms to 60 ms + * @li Good loss robustness and packet loss concealment (PLC) + * @li Floating point and fixed-point implementation + * + * Documentation sections: + * @li @ref opus_encoder + * @li @ref opus_decoder + * @li @ref opus_repacketizer + * @li @ref opus_multistream + * @li @ref opus_libinfo + * @li @ref opus_custom + */ + +/** @defgroup opus_encoder Opus Encoder + * @{ + * + * @brief This page describes the process and functions used to encode Opus. + * + * Since Opus is a stateful codec, the encoding process starts with creating an encoder + * state. This can be done with: + * + * @code + * int error; + * OpusEncoder *enc; + * enc = opus_encoder_create(Fs, channels, application, &error); + * @endcode + * + * From this point, @c enc can be used for encoding an audio stream. An encoder state + * @b must @b not be used for more than one stream at the same time. Similarly, the encoder + * state @b must @b not be re-initialized for each frame. + * + * While opus_encoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * + * @code + * int size; + * int error; + * OpusEncoder *enc; + * size = opus_encoder_get_size(channels); + * enc = malloc(size); + * error = opus_encoder_init(enc, Fs, channels, application); + * @endcode + * + * where opus_encoder_get_size() returns the required size for the encoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The encoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * It is possible to change some of the encoder's settings using the opus_encoder_ctl() + * interface. All these settings already default to the recommended value, so they should + * only be changed when necessary. The most common settings one may want to change are: + * + * @code + * opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate)); + * opus_encoder_ctl(enc, OPUS_SET_COMPLEXITY(complexity)); + * opus_encoder_ctl(enc, OPUS_SET_SIGNAL(signal_type)); + * @endcode + * + * where + * + * @arg bitrate is in bits per second (b/s) + * @arg complexity is a value from 1 to 10, where 1 is the lowest complexity and 10 is the highest + * @arg signal_type is either OPUS_AUTO (default), OPUS_SIGNAL_VOICE, or OPUS_SIGNAL_MUSIC + * + * See @ref opus_encoderctls and @ref opus_genericctls for a complete list of parameters that can be set or queried. Most parameters can be set or changed at any time during a stream. + * + * To encode a frame, opus_encode() or opus_encode_float() must be called with exactly one frame (2.5, 5, 10, 20, 40 or 60 ms) of audio data: + * @code + * len = opus_encode(enc, audio_frame, frame_size, packet, max_packet); + * @endcode + * + * where + *
    + *
  • audio_frame is the audio data in opus_int16 (or float for opus_encode_float())
  • + *
  • frame_size is the duration of the frame in samples (per channel)
  • + *
  • packet is the byte array to which the compressed data is written
  • + *
  • max_packet is the maximum number of bytes that can be written in the packet (4000 bytes is recommended). + * Do not use max_packet to control VBR target bitrate, instead use the #OPUS_SET_BITRATE CTL.
  • + *
+ * + * opus_encode() and opus_encode_float() return the number of bytes actually written to the packet. + * The return value can be negative, which indicates that an error has occurred. If the return value + * is 1 byte, then the packet does not need to be transmitted (DTX). + * + * Once the encoder state if no longer needed, it can be destroyed with + * + * @code + * opus_encoder_destroy(enc); + * @endcode + * + * If the encoder was created with opus_encoder_init() rather than opus_encoder_create(), + * then no action is required aside from potentially freeing the memory that was manually + * allocated for it (calling free(enc) for the example above) + * + */ + +/** Opus encoder state. + * This contains the complete state of an Opus encoder. + * It is position independent and can be freely copied. + * @see opus_encoder_create,opus_encoder_init + */ +typedef struct OpusEncoder OpusEncoder; + +/** Gets the size of an OpusEncoder structure. + * @param[in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_encoder_get_size(int channels); + +/** + */ + +/** Allocates and initializes an encoder state. + * There are three coding modes: + * + * @ref OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice + * signals. It enhances the input signal by high-pass filtering and + * emphasizing formants and harmonics. Optionally it includes in-band + * forward error correction to protect against packet loss. Use this + * mode for typical VoIP applications. Because of the enhancement, + * even at high bitrates the output may sound different from the input. + * + * @ref OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most + * non-voice signals like music. Use this mode for music and mixed + * (music/voice) content, broadcast, and applications requiring less + * than 15 ms of coding delay. + * + * @ref OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that + * disables the speech-optimized mode in exchange for slightly reduced delay. + * This mode can only be set on an newly initialized or freshly reset encoder + * because it changes the codec delay. + * + * This is useful when the caller knows that the speech-optimized modes will not be needed (use with caution). + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (@ref OPUS_APPLICATION_VOIP/@ref OPUS_APPLICATION_AUDIO/@ref OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @param [out] error int*: @ref opus_errorcodes + * @note Regardless of the sampling rate and number channels selected, the Opus encoder + * can switch to a lower audio bandwidth or number of channels if the bitrate + * selected is too low. This also means that it is safe to always use 48 kHz stereo input + * and let the encoder optimize the encoding. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusEncoder *opus_encoder_create( + opus_int32 Fs, + int channels, + int application, + int *error +); + +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be at least the size returned by opus_encoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_encoder_create(),opus_encoder_get_size() + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO/OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_encoder_init( + OpusEncoder *st, + opus_int32 Fs, + int channels, + int application +) OPUS_ARG_NONNULL(1); + +/** Encodes an Opus frame. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm opus_int16*: Input signal (interleaved if 2 channels). length is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode( + OpusEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes an Opus frame from floating point input. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm float*: Input in float format (interleaved if 2 channels), with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. + * length is frame_size*channels*sizeof(float) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode_float( + OpusEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusEncoder allocated by opus_encoder_create(). + * @param[in] st OpusEncoder*: State to be freed. + */ +OPUS_EXPORT void opus_encoder_destroy(OpusEncoder *st); + +/** Perform a CTL function on an Opus encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusEncoder*: Encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_encoderctls. + * @see opus_genericctls + * @see opus_encoderctls + */ +OPUS_EXPORT int opus_encoder_ctl(OpusEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); +/**@}*/ + +/** @defgroup opus_decoder Opus Decoder + * @{ + * + * @brief This page describes the process and functions used to decode Opus. + * + * The decoding process also starts with creating a decoder + * state. This can be done with: + * @code + * int error; + * OpusDecoder *dec; + * dec = opus_decoder_create(Fs, channels, &error); + * @endcode + * where + * @li Fs is the sampling rate and must be 8000, 12000, 16000, 24000, or 48000 + * @li channels is the number of channels (1 or 2) + * @li error will hold the error code in case of failure (or #OPUS_OK on success) + * @li the return value is a newly created decoder state to be used for decoding + * + * While opus_decoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * @code + * int size; + * int error; + * OpusDecoder *dec; + * size = opus_decoder_get_size(channels); + * dec = malloc(size); + * error = opus_decoder_init(dec, Fs, channels); + * @endcode + * where opus_decoder_get_size() returns the required size for the decoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The decoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * To decode a frame, opus_decode() or opus_decode_float() must be called with a packet of compressed audio data: + * @code + * frame_size = opus_decode(dec, packet, len, decoded, max_size, 0); + * @endcode + * where + * + * @li packet is the byte array containing the compressed data + * @li len is the exact number of bytes contained in the packet + * @li decoded is the decoded audio data in opus_int16 (or float for opus_decode_float()) + * @li max_size is the max duration of the frame in samples (per channel) that can fit into the decoded_frame array + * + * opus_decode() and opus_decode_float() return the number of samples (per channel) decoded from the packet. + * If that value is negative, then an error has occurred. This can occur if the packet is corrupted or if the audio + * buffer is too small to hold the decoded audio. + * + * Opus is a stateful codec with overlapping blocks and as a result Opus + * packets are not coded independently of each other. Packets must be + * passed into the decoder serially and in the correct order for a correct + * decode. Lost packets can be replaced with loss concealment by calling + * the decoder with a null pointer and zero length for the missing packet. + * + * A single codec state may only be accessed from a single thread at + * a time and any required locking must be performed by the caller. Separate + * streams must be decoded with separate decoder states and can be decoded + * in parallel unless the library was compiled with NONTHREADSAFE_PSEUDOSTACK + * defined. + * + */ + +/** Opus decoder state. + * This contains the complete state of an Opus decoder. + * It is position independent and can be freely copied. + * @see opus_decoder_create,opus_decoder_init + */ +typedef struct OpusDecoder OpusDecoder; + +/** Gets the size of an OpusDecoder structure. + * @param [in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_size(int channels); + +/** Allocates and initializes a decoder state. + * @param [in] Fs opus_int32: Sample rate to decode at (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @param [out] error int*: #OPUS_OK Success or @ref opus_errorcodes + * + * Internally Opus stores data at 48000 Hz, so that should be the default + * value for Fs. However, the decoder can efficiently decode to buffers + * at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use + * data at the full sample rate, or knows the compressed data doesn't + * use the full frequency range, it can request decoding at a reduced + * rate. Likewise, the decoder is capable of filling in either mono or + * interleaved stereo pcm buffers, at the caller's request. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusDecoder *opus_decoder_create( + opus_int32 Fs, + int channels, + int *error +); + +/** Initializes a previously allocated decoder state. + * The state must be at least the size returned by opus_decoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusDecoder*: Decoder state. + * @param [in] Fs opus_int32: Sampling rate to decode to (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_decoder_init( + OpusDecoder *st, + opus_int32 Fs, + int channels +) OPUS_ARG_NONNULL(1); + +/** Decode an Opus packet. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload* + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available, the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an Opus packet with floating point output. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode_float( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusDecoder*: Decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_decoderctls. + * @see opus_genericctls + * @see opus_decoderctls + */ +OPUS_EXPORT int opus_decoder_ctl(OpusDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusDecoder allocated by opus_decoder_create(). + * @param[in] st OpusDecoder*: State to be freed. + */ +OPUS_EXPORT void opus_decoder_destroy(OpusDecoder *st); + +/** Parse an opus packet into one or more frames. + * Opus_decode will perform this operation internally so most applications do + * not need to use this function. + * This function does not copy the frames, the returned pointers are pointers into + * the input packet. + * @param [in] data char*: Opus packet to be parsed + * @param [in] len opus_int32: size of data + * @param [out] out_toc char*: TOC pointer + * @param [out] frames char*[48] encapsulated frames + * @param [out] size short[48] sizes of the encapsulated frames + * @param [out] payload_offset int*: returns the position of the payload within the packet (in bytes) + * @returns number of frames + */ +OPUS_EXPORT int opus_packet_parse( + const unsigned char *data, + opus_int32 len, + unsigned char *out_toc, + const unsigned char *frames[48], + short size[48], + int *payload_offset +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Gets the bandwidth of an Opus packet. + * @param [in] data char*: Opus packet + * @retval OPUS_BANDWIDTH_NARROWBAND Narrowband (4kHz bandpass) + * @retval OPUS_BANDWIDTH_MEDIUMBAND Mediumband (6kHz bandpass) + * @retval OPUS_BANDWIDTH_WIDEBAND Wideband (8kHz bandpass) + * @retval OPUS_BANDWIDTH_SUPERWIDEBAND Superwideband (12kHz bandpass) + * @retval OPUS_BANDWIDTH_FULLBAND Fullband (20kHz bandpass) + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_bandwidth(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples per frame from an Opus packet. + * @param [in] data char*: Opus packet. + * This must contain at least one byte of + * data. + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples per frame. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of channels from an Opus packet. + * @param [in] data char*: Opus packet + * @returns Number of channels + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_channels(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of frames in an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of frames + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] dec OpusDecoder*: Decoder state + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); +/**@}*/ + +/** @defgroup opus_repacketizer Repacketizer + * @{ + * + * The repacketizer can be used to merge multiple Opus packets into a single + * packet or alternatively to split Opus packets that have previously been + * merged. Splitting valid Opus packets is always guaranteed to succeed, + * whereas merging valid packets only succeeds if all frames have the same + * mode, bandwidth, and frame size, and when the total duration of the merged + * packet is no more than 120 ms. + * The repacketizer currently only operates on elementary Opus + * streams. It will not manipualte multistream packets successfully, except in + * the degenerate case where they consist of data from a single stream. + * + * The repacketizing process starts with creating a repacketizer state, either + * by calling opus_repacketizer_create() or by allocating the memory yourself, + * e.g., + * @code + * OpusRepacketizer *rp; + * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); + * if (rp != NULL) + * opus_repacketizer_init(rp); + * @endcode + * + * Then the application should submit packets with opus_repacketizer_cat(), + * extract new packets with opus_repacketizer_out() or + * opus_repacketizer_out_range(), and then reset the state for the next set of + * input packets via opus_repacketizer_init(). + * + * For example, to split a sequence of packets into individual frames: + * @code + * unsigned char *data; + * int len; + * while (get_next_packet(&data, &len)) + * { + * unsigned char out[1276]; + * opus_int32 out_len; + * int nb_frames; + * int err; + * int i; + * err = opus_repacketizer_cat(rp, data, len); + * if (err != OPUS_OK) + * { + * release_packet(data); + * return err; + * } + * nb_frames = opus_repacketizer_get_nb_frames(rp); + * for (i = 0; i < nb_frames; i++) + * { + * out_len = opus_repacketizer_out_range(rp, i, i+1, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packet(data); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * } + * opus_repacketizer_init(rp); + * release_packet(data); + * } + * @endcode + * + * Alternatively, to combine a sequence of frames into packets that each + * contain up to TARGET_DURATION_MS milliseconds of data: + * @code + * // The maximum number of packets with duration TARGET_DURATION_MS occurs + * // when the frame size is 2.5 ms, for a total of (TARGET_DURATION_MS*2/5) + * // packets. + * unsigned char *data[(TARGET_DURATION_MS*2/5)+1]; + * opus_int32 len[(TARGET_DURATION_MS*2/5)+1]; + * int nb_packets; + * unsigned char out[1277*(TARGET_DURATION_MS*2/2)]; + * opus_int32 out_len; + * int prev_toc; + * nb_packets = 0; + * while (get_next_packet(data+nb_packets, len+nb_packets)) + * { + * int nb_frames; + * int err; + * nb_frames = opus_packet_get_nb_frames(data[nb_packets], len[nb_packets]); + * if (nb_frames < 1) + * { + * release_packets(data, nb_packets+1); + * return nb_frames; + * } + * nb_frames += opus_repacketizer_get_nb_frames(rp); + * // If adding the next packet would exceed our target, or it has an + * // incompatible TOC sequence, output the packets we already have before + * // submitting it. + * // N.B., The nb_packets > 0 check ensures we've submitted at least one + * // packet since the last call to opus_repacketizer_init(). Otherwise a + * // single packet longer than TARGET_DURATION_MS would cause us to try to + * // output an (invalid) empty packet. It also ensures that prev_toc has + * // been set to a valid value. Additionally, len[nb_packets] > 0 is + * // guaranteed by the call to opus_packet_get_nb_frames() above, so the + * // reference to data[nb_packets][0] should be valid. + * if (nb_packets > 0 && ( + * ((prev_toc & 0xFC) != (data[nb_packets][0] & 0xFC)) || + * opus_packet_get_samples_per_frame(data[nb_packets], 48000)*nb_frames > + * TARGET_DURATION_MS*48)) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packets(data, nb_packets+1); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * opus_repacketizer_init(rp); + * release_packets(data, nb_packets); + * data[0] = data[nb_packets]; + * len[0] = len[nb_packets]; + * nb_packets = 0; + * } + * err = opus_repacketizer_cat(rp, data[nb_packets], len[nb_packets]); + * if (err != OPUS_OK) + * { + * release_packets(data, nb_packets+1); + * return err; + * } + * prev_toc = data[nb_packets][0]; + * nb_packets++; + * } + * // Output the final, partial packet. + * if (nb_packets > 0) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * release_packets(data, nb_packets); + * if (out_len < 0) + * return (int)out_len; + * output_next_packet(out, out_len); + * } + * @endcode + * + * An alternate way of merging packets is to simply call opus_repacketizer_cat() + * unconditionally until it fails. At that point, the merged packet can be + * obtained with opus_repacketizer_out() and the input packet for which + * opus_repacketizer_cat() needs to be re-added to a newly reinitialized + * repacketizer state. + */ + +typedef struct OpusRepacketizer OpusRepacketizer; + +/** Gets the size of an OpusRepacketizer structure. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_size(void); + +/** (Re)initializes a previously allocated repacketizer state. + * The state must be at least the size returned by opus_repacketizer_get_size(). + * This can be used for applications which use their own allocator instead of + * malloc(). + * It must also be called to reset the queue of packets waiting to be + * repacketized, which is necessary if the maximum packet duration of 120 ms + * is reached or if you wish to submit packets with a different Opus + * configuration (coding mode, audio bandwidth, frame size, or channel count). + * Failure to do so will prevent a new packet from being added with + * opus_repacketizer_cat(). + * @see opus_repacketizer_create + * @see opus_repacketizer_get_size + * @see opus_repacketizer_cat + * @param rp OpusRepacketizer*: The repacketizer state to + * (re)initialize. + * @returns A pointer to the same repacketizer state that was passed in. + */ +OPUS_EXPORT OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Allocates memory and initializes the new repacketizer with + * opus_repacketizer_init(). + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusRepacketizer *opus_repacketizer_create(void); + +/** Frees an OpusRepacketizer allocated by + * opus_repacketizer_create(). + * @param[in] rp OpusRepacketizer*: State to be freed. + */ +OPUS_EXPORT void opus_repacketizer_destroy(OpusRepacketizer *rp); + +/** Add a packet to the current repacketizer state. + * This packet must match the configuration of any packets already submitted + * for repacketization since the last call to opus_repacketizer_init(). + * This means that it must have the same coding mode, audio bandwidth, frame + * size, and channel count. + * This can be checked in advance by examining the top 6 bits of the first + * byte of the packet, and ensuring they match the top 6 bits of the first + * byte of any previously submitted packet. + * The total duration of audio in the repacketizer state also must not exceed + * 120 ms, the maximum duration of a single packet, after adding this packet. + * + * The contents of the current repacketizer state can be extracted into new + * packets using opus_repacketizer_out() or opus_repacketizer_out_range(). + * + * In order to add a packet with a different configuration or to add more + * audio beyond 120 ms, you must clear the repacketizer state by calling + * opus_repacketizer_init(). + * If a packet is too large to add to the current repacketizer state, no part + * of it is added, even if it contains multiple frames, some of which might + * fit. + * If you wish to be able to add parts of such packets, you should first use + * another repacketizer to split the packet into pieces and add them + * individually. + * @see opus_repacketizer_out_range + * @see opus_repacketizer_out + * @see opus_repacketizer_init + * @param rp OpusRepacketizer*: The repacketizer state to which to + * add the packet. + * @param[in] data const unsigned char*: The packet data. + * The application must ensure + * this pointer remains valid + * until the next call to + * opus_repacketizer_init() or + * opus_repacketizer_destroy(). + * @param len opus_int32: The number of bytes in the packet data. + * @returns An error code indicating whether or not the operation succeeded. + * @retval #OPUS_OK The packet's contents have been added to the repacketizer + * state. + * @retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence, + * the packet's TOC sequence was not compatible + * with previously submitted packets (because + * the coding mode, audio bandwidth, frame size, + * or channel count did not match), or adding + * this packet would increase the total amount of + * audio stored in the repacketizer state to more + * than 120 ms. + */ +OPUS_EXPORT int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param begin int: The index of the first frame in the current + * repacketizer state to include in the output. + * @param end int: One past the index of the last frame in the + * current repacketizer state to include in the + * output. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1276 for a single frame, + * or for multiple frames, + * 1277*(end-begin). + * However, 1*(end-begin) plus + * the size of all packet data submitted to + * the repacketizer since the last call to + * opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG [begin,end) was an invalid range of + * frames (begin < 0, begin >= end, or end > + * opus_repacketizer_get_nb_frames()). + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Return the total number of frames contained in packet data submitted to + * the repacketizer state so far via opus_repacketizer_cat() since the last + * call to opus_repacketizer_init() or opus_repacketizer_create(). + * This defines the valid range of packets that can be extracted with + * opus_repacketizer_out_range() or opus_repacketizer_out(). + * @param rp OpusRepacketizer*: The repacketizer state containing the + * frames. + * @returns The total number of frames contained in the packet data submitted + * to the repacketizer state. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * This is a convenience routine that returns all the data submitted so far + * in a single packet. + * It is equivalent to calling + * @code + * opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp), + * data, maxlen) + * @endcode + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1277*opus_repacketizer_get_nb_frames(rp). + * However, + * 1*opus_repacketizer_get_nb_frames(rp) + * plus the size of all packet data + * submitted to the repacketizer since the + * last call to opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_H */ diff --git a/quakespasm/Windows/codecs/include/opus/opus_defines.h b/quakespasm/Windows/codecs/include/opus/opus_defines.h new file mode 100644 index 00000000..0b8d8bb8 --- /dev/null +++ b/quakespasm/Windows/codecs/include/opus/opus_defines.h @@ -0,0 +1,655 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus_defines.h + * @brief Opus reference implementation constants + */ + +#ifndef OPUS_DEFINES_H +#define OPUS_DEFINES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @defgroup opus_errorcodes Error codes + * @{ + */ +/** No error @hideinitializer*/ +#define OPUS_OK 0 +/** One or more invalid/out of range arguments @hideinitializer*/ +#define OPUS_BAD_ARG -1 +/** The mode struct passed is invalid @hideinitializer*/ +#define OPUS_BUFFER_TOO_SMALL -2 +/** An internal error was detected @hideinitializer*/ +#define OPUS_INTERNAL_ERROR -3 +/** The compressed data passed is corrupted @hideinitializer*/ +#define OPUS_INVALID_PACKET -4 +/** Invalid/unsupported request number @hideinitializer*/ +#define OPUS_UNIMPLEMENTED -5 +/** An encoder or decoder structure is invalid or already freed @hideinitializer*/ +#define OPUS_INVALID_STATE -6 +/** Memory allocation has failed @hideinitializer*/ +#define OPUS_ALLOC_FAIL -7 +/**@}*/ + +/** @cond OPUS_INTERNAL_DOC */ +/**Export control for opus functions */ + +#ifndef OPUS_EXPORT +# if defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) +# elif defined(WIN32) && !defined(__MINGW32__) +# ifdef OPUS_BUILD +# define OPUS_EXPORT __declspec(dllexport) +# else +# define OPUS_EXPORT +# endif +# else +# define OPUS_EXPORT +# endif +#endif + +# if !defined(OPUS_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OPUS_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OPUS_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(3,0) +# define OPUS_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define OPUS_RESTRICT __restrict +# else +# define OPUS_RESTRICT +# endif +#else +# define OPUS_RESTRICT restrict +#endif + +/**Warning attributes for opus functions + * NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out + * some paranoid null checks. */ +#if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +# define OPUS_WARN_UNUSED_RESULT +#endif +#if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +#else +# define OPUS_ARG_NONNULL(_x) +#endif + +/** These are the actual Encoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +#define OPUS_SET_APPLICATION_REQUEST 4000 +#define OPUS_GET_APPLICATION_REQUEST 4001 +#define OPUS_SET_BITRATE_REQUEST 4002 +#define OPUS_GET_BITRATE_REQUEST 4003 +#define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004 +#define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005 +#define OPUS_SET_VBR_REQUEST 4006 +#define OPUS_GET_VBR_REQUEST 4007 +#define OPUS_SET_BANDWIDTH_REQUEST 4008 +#define OPUS_GET_BANDWIDTH_REQUEST 4009 +#define OPUS_SET_COMPLEXITY_REQUEST 4010 +#define OPUS_GET_COMPLEXITY_REQUEST 4011 +#define OPUS_SET_INBAND_FEC_REQUEST 4012 +#define OPUS_GET_INBAND_FEC_REQUEST 4013 +#define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014 +#define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015 +#define OPUS_SET_DTX_REQUEST 4016 +#define OPUS_GET_DTX_REQUEST 4017 +#define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020 +#define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021 +#define OPUS_SET_FORCE_CHANNELS_REQUEST 4022 +#define OPUS_GET_FORCE_CHANNELS_REQUEST 4023 +#define OPUS_SET_SIGNAL_REQUEST 4024 +#define OPUS_GET_SIGNAL_REQUEST 4025 +#define OPUS_GET_LOOKAHEAD_REQUEST 4027 +/* #define OPUS_RESET_STATE 4028 */ +#define OPUS_GET_SAMPLE_RATE_REQUEST 4029 +#define OPUS_GET_FINAL_RANGE_REQUEST 4031 +#define OPUS_GET_PITCH_REQUEST 4033 +#define OPUS_SET_GAIN_REQUEST 4034 +#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ +#define OPUS_SET_LSB_DEPTH_REQUEST 4036 +#define OPUS_GET_LSB_DEPTH_REQUEST 4037 + +#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 + +/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ + +/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ +#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) +#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) +#define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) +/** @endcond */ + +/** @defgroup opus_ctlvalues Pre-defined values for CTL interface + * @see opus_genericctls, opus_encoderctls + * @{ + */ +/* Values for the various encoder CTLs */ +#define OPUS_AUTO -1000 /**opus_int32: Allowed values: 0-10, inclusive. + * + * @hideinitializer */ +#define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x) +/** Gets the encoder's complexity configuration. + * @see OPUS_SET_COMPLEXITY + * @param[out] x opus_int32 *: Returns a value in the range 0-10, + * inclusive. + * @hideinitializer */ +#define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x) + +/** Configures the bitrate in the encoder. + * Rates from 500 to 512000 bits per second are meaningful, as well as the + * special values #OPUS_AUTO and #OPUS_BITRATE_MAX. + * The value #OPUS_BITRATE_MAX can be used to cause the codec to use as much + * rate as it can, which is useful for controlling the rate by adjusting the + * output buffer size. + * @see OPUS_GET_BITRATE + * @param[in] x opus_int32: Bitrate in bits per second. The default + * is determined based on the number of + * channels and the input sampling rate. + * @hideinitializer */ +#define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x) +/** Gets the encoder's bitrate configuration. + * @see OPUS_SET_BITRATE + * @param[out] x opus_int32 *: Returns the bitrate in bits per second. + * The default is determined based on the + * number of channels and the input + * sampling rate. + * @hideinitializer */ +#define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables variable bitrate (VBR) in the encoder. + * The configured bitrate may not be met exactly because frames must + * be an integer number of bytes in length. + * @warning Only the MDCT mode of Opus can provide hard CBR behavior. + * @see OPUS_GET_VBR + * @see OPUS_SET_VBR_CONSTRAINT + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Hard CBR. For LPC/hybrid modes at very low bit-rate, this can + * cause noticeable quality degradation.
+ *
1
VBR (default). The exact type of VBR is controlled by + * #OPUS_SET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x) +/** Determine if variable bitrate (VBR) is enabled in the encoder. + * @see OPUS_SET_VBR + * @see OPUS_GET_VBR_CONSTRAINT + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Hard CBR.
+ *
1
VBR (default). The exact type of VBR may be retrieved via + * #OPUS_GET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables constrained VBR in the encoder. + * This setting is ignored when the encoder is in CBR mode. + * @warning Only the MDCT mode of Opus currently heeds the constraint. + * Speech mode ignores it completely, hybrid mode may fail to obey it + * if the LPC layer uses more bitrate than the constraint would have + * permitted. + * @see OPUS_GET_VBR_CONSTRAINT + * @see OPUS_SET_VBR + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default). This creates a maximum of one + * frame of buffering delay assuming a transport with a + * serialization speed of the nominal bitrate.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x) +/** Determine if constrained VBR is enabled in the encoder. + * @see OPUS_SET_VBR_CONSTRAINT + * @see OPUS_GET_VBR + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default).
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x) + +/** Configures mono/stereo forcing in the encoder. + * This can force the encoder to produce packets encoded as either mono or + * stereo, regardless of the format of the input audio. This is useful when + * the caller knows that the input signal is currently a mono source embedded + * in a stereo stream. + * @see OPUS_GET_FORCE_CHANNELS + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x) +/** Gets the encoder's forced channel configuration. + * @see OPUS_SET_FORCE_CHANNELS + * @param[out] x opus_int32 *: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x) + +/** Configures the maximum bandpass that the encoder will select automatically. + * Applications should normally use this instead of #OPUS_SET_BANDWIDTH + * (leaving that set to the default, #OPUS_AUTO). This allows the + * application to set an upper bound based on the type of input it is + * providing, but still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_MAX_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Gets the encoder's configured maximum allowed bandpass. + * @see OPUS_SET_MAX_BANDWIDTH + * @param[out] x opus_int32 *: Allowed values: + *
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Sets the encoder's bandpass to a specific value. + * This prevents the encoder from automatically selecting the bandpass based + * on the available bitrate. If an application knows the bandpass of the input + * audio it is providing, it should normally use #OPUS_SET_MAX_BANDWIDTH + * instead, which still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Configures the type of signal being encoded. + * This is a hint which helps the encoder's mode selection. + * @see OPUS_GET_SIGNAL + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal type. + * @see OPUS_SET_SIGNAL + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x) + + +/** Configures the encoder's intended application. + * The initial value is a mandatory argument to the encoder_create function. + * @see OPUS_GET_APPLICATION + * @param[in] x opus_int32: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured application. + * @see OPUS_SET_APPLICATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the sampling rate the encoder or decoder was initialized with. + * This simply returns the Fs value passed to opus_encoder_init() + * or opus_decoder_init(). + * @param[out] x opus_int32 *: Sampling rate of encoder or decoder. + * @hideinitializer + */ +#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x) + +/** Gets the total samples of delay added by the entire codec. + * This can be queried by the encoder and then the provided number of samples can be + * skipped on from the start of the decoder's output to provide time aligned input + * and output. From the perspective of a decoding application the real data begins this many + * samples late. + * + * The decoder contribution to this delay is identical for all decoders, but the + * encoder portion of the delay may vary from implementation to implementation, + * version to version, or even depend on the encoder's initial configuration. + * Applications needing delay compensation should call this CTL rather than + * hard-coding a value. + * @param[out] x opus_int32 *: Number of lookahead samples + * @hideinitializer */ +#define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of inband forward error correction (FEC). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_INBAND_FEC + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable inband FEC (default).
+ *
1
Enable inband FEC.
+ *
+ * @hideinitializer */ +#define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of inband forward error correction. + * @see OPUS_SET_INBAND_FEC + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Inband FEC disabled (default).
+ *
1
Inband FEC enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's expected packet loss percentage. + * Higher values with trigger progressively more loss resistant behavior in the encoder + * at the expense of quality at a given bitrate in the lossless case, but greater quality + * under loss. + * @see OPUS_GET_PACKET_LOSS_PERC + * @param[in] x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured packet loss percentage. + * @see OPUS_SET_PACKET_LOSS_PERC + * @param[out] x opus_int32 *: Returns the configured loss percentage + * in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of discontinuous transmission (DTX). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_DTX + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable DTX (default).
+ *
1
Enabled DTX.
+ *
+ * @hideinitializer */ +#define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of discontinuous transmission. + * @see OPUS_SET_DTX + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
DTX disabled (default).
+ *
1
DTX enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) +/** Configures the depth of signal being encoded. + * This is a hint which helps the encoder identify silence and near-silence. + * @see OPUS_GET_LSB_DEPTH + * @param[in] x opus_int32: Input precision in bits, between 8 and 24 + * (default: 24). + * @hideinitializer */ +#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal depth. + * @see OPUS_SET_LSB_DEPTH + * @param[out] x opus_int32 *: Input precision in bits, between 8 and + * 24 (default: 24). + * @hideinitializer */ +#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the duration (in samples) of the last packet successfully decoded or concealed. + * @param[out] x opus_int32 *: Number of samples (at current sampling rate). + * @hideinitializer */ +#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) +/**@}*/ + +/** @defgroup opus_genericctls Generic CTLs + * + * These macros are used with the \c opus_decoder_ctl and + * \c opus_encoder_ctl calls to generate a particular + * request. + * + * When called on an \c OpusDecoder they apply to that + * particular decoder instance. When called on an + * \c OpusEncoder they apply to the corresponding setting + * on that encoder instance, if present. + * + * Some usage examples: + * + * @code + * int ret; + * opus_int32 pitch; + * ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); + * if (ret == OPUS_OK) return ret; + * + * opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); + * opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); + * + * opus_int32 enc_bw, dec_bw; + * opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); + * opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); + * if (enc_bw != dec_bw) { + * printf("packet bandwidth mismatch!\n"); + * } + * @endcode + * + * @see opus_encoder, opus_decoder_ctl, opus_encoder_ctl, opus_decoderctls, opus_encoderctls + * @{ + */ + +/** Resets the codec state to be equivalent to a freshly initialized state. + * This should be called when switching streams in order to prevent + * the back to back decoding from giving different results from + * one at a time decoding. + * @hideinitializer */ +#define OPUS_RESET_STATE 4028 + +/** Gets the final state of the codec's entropy coder. + * This is used for testing purposes, + * The encoder and decoder state should be identical after coding a payload + * (assuming no data corruption or software bugs) + * + * @param[out] x opus_uint32 *: Entropy coder state + * + * @hideinitializer */ +#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x) + +/** Gets the pitch of the last decoded frame, if available. + * This can be used for any post-processing algorithm requiring the use of pitch, + * e.g. time stretching/shortening. If the last frame was not voiced, or if the + * pitch was not coded in the frame, then zero is returned. + * + * This CTL is only implemented for decoder instances. + * + * @param[out] x opus_int32 *: pitch period at 48 kHz (or 0 if not available) + * + * @hideinitializer */ +#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the encoder's configured bandpass or the decoder's last bandpass. + * @see OPUS_SET_BANDWIDTH + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_decoderctls Decoder related CTLs + * @see opus_genericctls, opus_encoderctls, opus_decoder + * @{ + */ + +/** Configures decoder gain adjustment. + * Scales the decoded output by a factor specified in Q8 dB units. + * This has a maximum range of -32768 to 32767 inclusive, and returns + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. + * + * gain = pow(10, x/(20.0*256)) + * + * @param[in] x opus_int32: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) +/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN + * + * @param[out] x opus_int32 *: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_libinfo Opus library information functions + * @{ + */ + +/** Converts an opus error code into a human readable string. + * + * @param[in] error int: Error number + * @returns Error string + */ +OPUS_EXPORT const char *opus_strerror(int error); + +/** Gets the libopus version string. + * + * @returns Version string + */ +OPUS_EXPORT const char *opus_get_version_string(void); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_DEFINES_H */ diff --git a/quakespasm/Windows/codecs/include/opus/opus_multistream.h b/quakespasm/Windows/codecs/include/opus/opus_multistream.h new file mode 100644 index 00000000..64427870 --- /dev/null +++ b/quakespasm/Windows/codecs/include/opus/opus_multistream.h @@ -0,0 +1,632 @@ +/* Copyright (c) 2011 Xiph.Org Foundation + Written by Jean-Marc Valin */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ + +/** + * @file opus_multistream.h + * @brief Opus reference implementation multistream API + */ + +#ifndef OPUS_MULTISTREAM_H +#define OPUS_MULTISTREAM_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** Macros to trigger compilation errors when the wrong types are provided to a + * CTL. */ +/**@{*/ +#define __opus_check_encstate_ptr(ptr) ((ptr) + ((ptr) - (OpusEncoder**)(ptr))) +#define __opus_check_decstate_ptr(ptr) ((ptr) + ((ptr) - (OpusDecoder**)(ptr))) +/**@}*/ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 +#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 +/**@}*/ + +/** @endcond */ + +/** @defgroup opus_multistream_ctls Multistream specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, and + * @ref opus_decoderctls may be applied to a multistream encoder or decoder as + * well. + * In addition, you may retrieve the encoder or decoder state for an specific + * stream via #OPUS_MULTISTREAM_GET_ENCODER_STATE or + * #OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually. + */ +/**@{*/ + +/** Gets the encoder state for an individual stream of a multistream encoder. + * @param[in] x opus_int32: The index of the stream whose encoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the encoder. + * @param[out] y OpusEncoder**: Returns a pointer to the given + * encoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x,y) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) + +/** Gets the decoder state for an individual stream of a multistream decoder. + * @param[in] x opus_int32: The index of the stream whose decoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the decoder. + * @param[out] y OpusDecoder**: Returns a pointer to the given + * decoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_DECODER_STATE(x,y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) + +/**@}*/ + +/** @defgroup opus_multistream Opus Multistream API + * @{ + * + * The multistream API allows individual Opus streams to be combined into a + * single packet, enabling support for up to 255 channels. Unlike an + * elementary Opus stream, the encoder and decoder must negotiate the channel + * configuration before the decoder can successfully interpret the data in the + * packets produced by the encoder. Some basic information, such as packet + * duration, can be computed without any special negotiation. + * + * The format for multistream Opus packets is defined in the + *
Ogg + * encapsulation specification and is based on the self-delimited Opus + * framing described in Appendix B of RFC 6716. + * Normal Opus packets are just a degenerate case of multistream Opus packets, + * and can be encoded or decoded with the multistream API by setting + * streams to 1 when initializing the encoder or + * decoder. + * + * Multistream Opus streams can contain up to 255 elementary Opus streams. + * These may be either "uncoupled" or "coupled", indicating that the decoder + * is configured to decode them to either 1 or 2 channels, respectively. + * The streams are ordered so that all coupled streams appear at the + * beginning. + * + * A mapping table defines which decoded channel i + * should be used for each input/output (I/O) channel j. This table is + * typically provided as an unsigned char array. + * Let i = mapping[j] be the index for I/O channel j. + * If i < 2*coupled_streams, then I/O channel j is + * encoded as the left channel of stream (i/2) if i + * is even, or as the right channel of stream (i/2) if + * i is odd. Otherwise, I/O channel j is encoded as + * mono in stream (i - coupled_streams), unless it has the special + * value 255, in which case it is omitted from the encoding entirely (the + * decoder will reproduce it as silence). Each value i must either + * be the special value 255 or be less than streams + coupled_streams. + * + * The output channels specified by the encoder + * should use the + * Vorbis + * channel ordering. A decoder may wish to apply an additional permutation + * to the mapping the encoder used to achieve a different output channel + * order (e.g. for outputing in WAV order). + * + * Each multistream packet contains an Opus packet for each stream, and all of + * the Opus packets in a single multistream packet must have the same + * duration. Therefore the duration of a multistream packet can be extracted + * from the TOC sequence of the first stream, which is located at the + * beginning of the packet, just like an elementary Opus stream: + * + * @code + * int nb_samples; + * int nb_frames; + * nb_frames = opus_packet_get_nb_frames(data, len); + * if (nb_frames < 1) + * return nb_frames; + * nb_samples = opus_packet_get_samples_per_frame(data, 48000) * nb_frames; + * @endcode + * + * The general encoding and decoding process proceeds exactly the same as in + * the normal @ref opus_encoder and @ref opus_decoder APIs. + * See their documentation for an overview of how to use the corresponding + * multistream functions. + */ + +/** Opus multistream encoder state. + * This contains the complete state of a multistream Opus encoder. + * It is position independent and can be freely copied. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_init + */ +typedef struct OpusMSEncoder OpusMSEncoder; + +/** Opus multistream decoder state. + * This contains the complete state of a multistream Opus decoder. + * It is position independent and can be freely copied. + * @see opus_multistream_decoder_create + * @see opus_multistream_decoder_init + */ +typedef struct OpusMSDecoder OpusMSDecoder; + +/**\name Multistream encoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSEncoder structure. + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream encoder state. + * Call opus_multistream_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const 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(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Encodes a multistream Opus frame. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode( + OpusMSEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a multistream Opus frame from floating point input. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode_float( + OpusMSEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusMSEncoder allocated by + * opus_multistream_encoder_create(). + * @param st OpusMSEncoder*: Multistream encoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_encoder_destroy(OpusMSEncoder *st); + +/** Perform a CTL function on a multistream Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +/**\name Multistream decoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSDecoder structure. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_decoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream decoder state. + * Call opus_multistream_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSDecoder *opus_multistream_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int *error +) OPUS_ARG_NONNULL(5); + +/** Intialize a previously allocated decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_decoder_create + * @see opus_multistream_deocder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_decoder_init( + OpusMSDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Decode a multistream Opus packet. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode a multistream Opus packet with floating point output. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on a multistream Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusMSDecoder allocated by + * opus_multistream_decoder_create(). + * @param st OpusMSDecoder: Multistream decoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st); + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_MULTISTREAM_H */ diff --git a/quakespasm/Windows/codecs/include/opus/opus_types.h b/quakespasm/Windows/codecs/include/opus/opus_types.h new file mode 100644 index 00000000..b28e03ae --- /dev/null +++ b/quakespasm/Windows/codecs/include/opus/opus_types.h @@ -0,0 +1,159 @@ +/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */ +/* Modified by Jean-Marc Valin */ +/* + 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. + + 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 COPYRIGHT OWNER + 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. +*/ +/* opus_types.h based on ogg_types.h from libogg */ + +/** + @file opus_types.h + @brief Opus reference implementation types +*/ +#ifndef OPUS_TYPES_H +#define OPUS_TYPES_H + +/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */ +#if (defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H)) +#include + + typedef int16_t opus_int16; + typedef uint16_t opus_uint16; + typedef int32_t opus_int32; + typedef uint32_t opus_uint32; +#elif defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t opus_int32; + typedef _G_uint32_t opus_uint32; + typedef _G_int16 opus_int16; + typedef _G_uint16 opus_uint16; +# elif defined(__MINGW32__) + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; +# elif defined(__MWERKS__) + typedef int opus_int32; + typedef unsigned int opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; +# else + /* MSVC/Borland */ + typedef __int32 opus_int32; + typedef unsigned __int32 opus_uint32; + typedef __int16 opus_int16; + typedef unsigned __int16 opus_uint16; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 opus_int16; + typedef UInt16 opus_uint16; + typedef SInt32 opus_int32; + typedef UInt32 opus_uint32; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t opus_int16; + typedef u_int16_t opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16 opus_int16; + typedef u_int16 opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int opus_int32; + typedef unsigned opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short opus_int16; + typedef unsigned short opus_uint16; + typedef signed int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef long opus_int32; + typedef unsigned long opus_uint32; + +#elif defined(CONFIG_TI_C6X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#else + + /* Give up, take a reasonable guess */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#endif + +#define opus_int int /* used for counters etc; at least 16 bits */ +#define opus_int64 long long +#define opus_int8 signed char + +#define opus_uint unsigned int /* used for counters etc; at least 16 bits */ +#define opus_uint64 unsigned long long +#define opus_uint8 unsigned char + +#endif /* OPUS_TYPES_H */ diff --git a/quakespasm/Windows/codecs/include/opus/opusfile.h b/quakespasm/Windows/codecs/include/opus/opusfile.h new file mode 100644 index 00000000..4ac029ad --- /dev/null +++ b/quakespasm/Windows/codecs/include/opus/opusfile.h @@ -0,0 +1,1623 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE libopusfile 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 libopusfile SOURCE CODE IS (C) COPYRIGHT 1994-2012 * + * by the Xiph.Org Foundation and contributors http://www.xiph.org/ * + * * + ******************************************************************** + + function: stdio-based convenience library for opening/seeking/decoding + last mod: $Id: vorbisfile.h 17182 2010-04-29 03:48:32Z xiphmont $ + + ********************************************************************/ +#if !defined(_opusfile_h) +# define _opusfile_h (1) + +/**\mainpage + \section Introduction + + This is the documentation for the libopusfile C API. + + The libopusfile package provides a convenient high-level API for + decoding and basic manipulation of all Ogg Opus audio streams. + libopusfile is implemented as a layer on top of Xiph.Org's + reference + libogg + and + libopus + libraries. + + libopusfile provides several sets of built-in routines for + file/stream access, and may also use custom stream I/O routines provided by + the embedded environment. + There are built-in I/O routines provided for ANSI-compliant + stdio (FILE *), memory buffers, and URLs + (including URLs, plus optionally and URLs). + + \section Organization + + The main API is divided into several sections: + - \ref stream_open_close + - \ref stream_info + - \ref stream_decoding + - \ref stream_seeking + + Several additional sections are not tied to the main API. + - \ref stream_callbacks + - \ref header_info + - \ref error_codes*/ + + +# if defined(__cplusplus) +extern "C" { +# endif + +# include +# include +# include +# include + +/*Enable special features for gcc and gcc-compatible compilers.*/ +# if !defined(OP_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OP_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OP_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +# if OP_GNUC_PREREQ(4,0) +# pragma GCC visibility push(default) +# endif + +typedef struct OpusHead OpusHead; +typedef struct OpusTags OpusTags; +typedef struct OggOpusFile OggOpusFile; + +/*Warning attributes for libopusfile functions.*/ +# if OP_GNUC_PREREQ(3,4) +# define OP_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) +# else +# define OP_WARN_UNUSED_RESULT +# endif +# if OP_GNUC_PREREQ(3,4) +# define OP_ARG_NONNULL(_x) __attribute__((__nonnull__(_x))) +# else +# define OP_ARG_NONNULL(_x) +# endif + +/**\defgroup error_codes Error Codes*/ +/*@{*/ +/**\name List of possible error codes + Many of the functions in this library return a negative error code when a + function fails. + This list provides a brief explanation of the common errors. + See each individual function for more details on what a specific error code + means in that context.*/ +/*@{*/ + +/**A request did not succeed.*/ +#define OP_FALSE (-1) +/*Currently not used externally.*/ +#define OP_EOF (-2) +/**There was a hole in the page sequence numbers (e.g., a page was corrupt or + missing).*/ +#define OP_HOLE (-3) +/**An underlying read, seek, or tell operation failed when it should have + succeeded.*/ +#define OP_EREAD (-128) +/**A NULL pointer was passed where one was unexpected, or an + internal memory allocation failed, or an internal library error was + encountered.*/ +#define OP_EFAULT (-129) +/**The stream used a feature that is not implemented, such as an unsupported + channel family.*/ +#define OP_EIMPL (-130) +/**One or more parameters to a function were invalid.*/ +#define OP_EINVAL (-131) +/**A purported Ogg Opus stream did not begin with an Ogg page, a purported + header packet did not start with one of the required strings, "OpusHead" or + "OpusTags", or a link in a chained file was encountered that did not + contain any logical Opus streams.*/ +#define OP_ENOTFORMAT (-132) +/**A required header packet was not properly formatted, contained illegal + values, or was missing altogether.*/ +#define OP_EBADHEADER (-133) +/**The ID header contained an unrecognized version number.*/ +#define OP_EVERSION (-134) +/*Currently not used at all.*/ +#define OP_ENOTAUDIO (-135) +/**An audio packet failed to decode properly. + This is usually caused by a multistream Ogg packet where the durations of + the individual Opus packets contained in it are not all the same.*/ +#define OP_EBADPACKET (-136) +/**We failed to find data we had seen before, or the bitstream structure was + sufficiently malformed that seeking to the target destination was + impossible.*/ +#define OP_EBADLINK (-137) +/**An operation that requires seeking was requested on an unseekable stream.*/ +#define OP_ENOSEEK (-138) +/**The first or last granule position of a link failed basic validity checks.*/ +#define OP_EBADTIMESTAMP (-139) + +/*@}*/ +/*@}*/ + +/**\defgroup header_info Header Information*/ +/*@{*/ + +/**The maximum number of channels in an Ogg Opus stream.*/ +#define OPUS_CHANNEL_COUNT_MAX (255) + +/**Ogg Opus bitstream information. + This contains the basic playback parameters for a stream, and corresponds to + the initial ID header packet of an Ogg Opus stream.*/ +struct OpusHead{ + /**The Ogg Opus format version, in the range 0...255. + The top 4 bits represent a "major" version, and the bottom four bits + represent backwards-compatible "minor" revisions. + The current specification describes version 1. + This library will recognize versions up through 15 as backwards compatible + with the current specification. + An earlier draft of the specification described a version 0, but the only + difference between version 1 and version 0 is that version 0 did + not specify the semantics for handling the version field.*/ + int version; + /**The number of channels, in the range 1...255.*/ + int channel_count; + /**The number of samples that should be discarded from the beginning of the + stream.*/ + unsigned pre_skip; + /**The sampling rate of the original input. + All Opus audio is coded at 48 kHz, and should also be decoded at 48 kHz + for playback (unless the target hardware does not support this sampling + rate). + However, this field may be used to resample the audio back to the original + sampling rate, for example, when saving the output to a file.*/ + opus_uint32 input_sample_rate; + /**The gain to apply to the decoded output, in dB, as a Q8 value in the range + -32768...32767. + The decoder will automatically scale the output by + pow(10,output_gain/(20.0*256)).*/ + int output_gain; + /**The channel mapping family, in the range 0...255. + Channel mapping family 0 covers mono or stereo in a single stream. + Channel mapping family 1 covers 1 to 8 channels in one or more streams, + using the Vorbis speaker assignments. + Channel mapping family 255 covers 1 to 255 channels in one or more + streams, but without any defined speaker assignment.*/ + int mapping_family; + /**The number of Opus streams in each Ogg packet, in the range 1...255.*/ + int stream_count; + /**The number of coupled Opus streams in each Ogg packet, in the range + 0...127. + This must satisfy 0 <= coupled_count <= stream_count and + coupled_count + stream_count <= 255. + The coupled streams appear first, before all uncoupled streams, in an Ogg + Opus packet.*/ + int coupled_count; + /**The mapping from coded stream channels to output channels. + Let index=mapping[k] be the value for channel k. + If index<2*coupled_count, then it refers to the left channel + from stream (index/2) if even, and the right channel from + stream (index/2) if odd. + Otherwise, it refers to the output of the uncoupled stream + (index-coupled_count).*/ + unsigned char mapping[OPUS_CHANNEL_COUNT_MAX]; +}; + +/**The metadata from an Ogg Opus stream. + + This structure holds the in-stream metadata corresponding to the 'comment' + header packet of an Ogg Opus stream. + The comment header is meant to be used much like someone jotting a quick + note on the label of a CD. + It should be a short, to the point text note that can be more than a couple + words, but not more than a short paragraph. + + The metadata is stored as a series of (tag, value) pairs, in length-encoded + string vectors, using the same format as Vorbis (without the final "framing + bit"), Theora, and Speex, except for the packet header. + The first occurrence of the '=' character delimits the tag and value. + A particular tag may occur more than once, and order is significant. + The character set encoding for the strings is always UTF-8, but the tag + names are limited to ASCII, and treated as case-insensitive. + See the Vorbis + comment header specification for details. + + In filling in this structure, libopusfile will null-terminate the + #user_comments strings for safety. + However, the bitstream format itself treats them as 8-bit clean vectors, + possibly containing NUL characters, so the #comment_lengths array should be + treated as their authoritative length. + + This structure is binary and source-compatible with a + vorbis_comment, and pointers to it may be freely cast to + vorbis_comment pointers, and vice versa. + It is provided as a separate type to avoid introducing a compile-time + dependency on the libvorbis headers.*/ +struct OpusTags{ + /**The array of comment string vectors.*/ + char **user_comments; + /**An array of the corresponding length of each vector, in bytes.*/ + int *comment_lengths; + /**The total number of comment streams.*/ + int comments; + /**The null-terminated vendor string. + This identifies the software used to encode the stream.*/ + char *vendor; +}; + +/**\name Functions for manipulating header data + + These functions manipulate the #OpusHead and #OpusTags structures, + which describe the audio parameters and tag-value metadata, respectively. + These can be used to query the headers returned by libopusfile, or + to parse Opus headers from sources other than an Ogg Opus stream, provided + they use the same format.*/ +/*@{*/ + +/**Parses the contents of the ID header packet of an Ogg Opus stream. + \param[out] _head Returns the contents of the parsed packet. + The contents of this structure are untouched on error. + This may be NULL to merely test the header + for validity. + \param[in] _data The contents of the ID header packet. + \param _len The number of bytes of data in the ID header packet. + \return 0 on success or a negative value on error. + \retval #OP_ENOTFORMAT If the data does not start with the "OpusHead" + string. + \retval #OP_EVERSION If the version field signaled a version this library + does not know how to parse. + \retval #OP_EIMPL If the channel mapping family was 255, which general + purpose players should not attempt to play. + \retval #OP_EBADHEADER If the contents of the packet otherwise violate the + Ogg Opus specification: +
    +
  • Insufficient data,
  • +
  • Too much data for the known minor versions,
  • +
  • An unrecognized channel mapping family,
  • +
  • Zero channels or too many channels,
  • +
  • Zero coded streams,
  • +
  • Too many coupled streams, or
  • +
  • An invalid channel mapping index.
  • +
*/ +OP_WARN_UNUSED_RESULT int opus_head_parse(OpusHead *_head, + const unsigned char *_data,size_t _len) OP_ARG_NONNULL(2); + +/**Converts a granule position to a sample offset for a given Ogg Opus stream. + The sample offset is simply _gp-_head->pre_skip. + Granule position values smaller than OpusHead#pre_skip correspond to audio + that should never be played, and thus have no associated sample offset. + This function returns -1 for such values. + This function also correctly handles extremely large granule positions, + which may have wrapped around to a negative number when stored in a signed + ogg_int64_t value. + \param _head The #OpusHead information from the ID header of the stream. + \param _gp The granule position to convert. + \return The sample offset associated with the given granule position + (counting at a 48 kHz sampling rate), or the special value -1 on + error (i.e., the granule position was smaller than the pre-skip + amount).*/ +ogg_int64_t opus_granule_sample(const OpusHead *_head,ogg_int64_t _gp) + OP_ARG_NONNULL(1); + +/**Parses the contents of the 'comment' header packet of an Ogg Opus stream. + \param[out] _tags An uninitialized #OpusTags structure. + This returns the contents of the parsed packet. + The contents of this structure are untouched on error. + This may be NULL to merely test the header + for validity. + \param[in] _data The contents of the 'comment' header packet. + \param _len The number of bytes of data in the 'info' header packet. + \retval 0 Success. + \retval #OP_ENOTFORMAT If the data does not start with the "OpusTags" + string. + \retval #OP_EBADHEADER If the contents of the packet otherwise violate the + Ogg Opus specification. + \retval #OP_EFAULT If there wasn't enough memory to store the tags.*/ +OP_WARN_UNUSED_RESULT int opus_tags_parse(OpusTags *_tags, + const unsigned char *_data,size_t _len) OP_ARG_NONNULL(2); + +/**Initializes an #OpusTags structure. + This should be called on a freshly allocated #OpusTags structure before + attempting to use it. + \param _tags The #OpusTags structure to initialize.*/ +void opus_tags_init(OpusTags *_tags) OP_ARG_NONNULL(1); + +/**Add a (tag, value) pair to an initialized #OpusTags structure. + \note Neither opus_tags_add() nor opus_tags_add_comment() support values + containing embedded NULs, although the bitstream format does support them. + To add such tags, you will need to manipulate the #OpusTags structure + directly. + \param _tags The #OpusTags structure to add the (tag, value) pair to. + \param _tag A NUL-terminated, case-insensitive, ASCII string containing + the tag to add (without an '=' character). + \param _value A NUL-terminated UTF-8 containing the corresponding value. + \return 0 on success, or a negative value on failure. + \retval #OP_EFAULT An internal memory allocation failed.*/ +int opus_tags_add(OpusTags *_tags,const char *_tag,const char *_value) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2) OP_ARG_NONNULL(3); + +/**Add a comment to an initialized #OpusTags structure. + \note Neither opus_tags_add_comment() nor opus_tags_add() support comments + containing embedded NULs, although the bitstream format does support them. + To add such tags, you will need to manipulate the #OpusTags structure + directly. + \param _tags The #OpusTags structure to add the comment to. + \param _comment A NUL-terminated UTF-8 string containing the comment in + "TAG=value" form. + \return 0 on success, or a negative value on failure. + \retval #OP_EFAULT An internal memory allocation failed.*/ +int opus_tags_add_comment(OpusTags *_tags,const char *_comment) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Look up a comment value by its tag. + \param _tags An initialized #OpusTags structure. + \param _tag The tag to look up. + \param _count The instance of the tag. + The same tag can appear multiple times, each with a distinct + value, so an index is required to retrieve them all. + The order in which these values appear is significant and + should be preserved. + Use opus_tags_query_count() to get the legal range for the + \a _count parameter. + \return A pointer to the queried tag's value. + This points directly to data in the #OpusTags structure. + It should not be modified or freed by the application, and + modifications to the structure may invalidate the pointer. + \retval NULL If no matching tag is found.*/ +const char *opus_tags_query(const OpusTags *_tags,const char *_tag,int _count) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Look up the number of instances of a tag. + Call this first when querying for a specific tag and then iterate over the + number of instances with separate calls to opus_tags_query() to retrieve + all the values for that tag in order. + \param _tags An initialized #OpusTags structure. + \param _tag The tag to look up. + \return The number of instances of this particular tag.*/ +int opus_tags_query_count(const OpusTags *_tags,const char *_tag) + OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Clears the #OpusTags structure. + This should be called on an #OpusTags structure after it is no longer + needed. + It will free all memory used by the structure members. + \param _tags The #OpusTags structure to clear.*/ +void opus_tags_clear(OpusTags *_tags) OP_ARG_NONNULL(1); + +/*@}*/ + +/*@}*/ + +/**\defgroup url_options URL Reading Options*/ +/*@{*/ +/**\name URL reading options + Options for op_url_stream_create() and associated functions. + These allow you to provide proxy configuration parameters, skip SSL + certificate checks, etc. + Options are processed in order, and if the same option is passed multiple + times, only the value specified by the last occurrence has an effect + (unless otherwise specified). + They may be expanded in the future.*/ +/*@{*/ + +/*These are the raw numbers used to define the request codes. + They should not be used directly.*/ +#define OP_SSL_SKIP_CERTIFICATE_CHECK_REQUEST (6464) +#define OP_HTTP_PROXY_HOST_REQUEST (6528) +#define OP_HTTP_PROXY_PORT_REQUEST (6592) +#define OP_HTTP_PROXY_USER_REQUEST (6656) +#define OP_HTTP_PROXY_PASS_REQUEST (6720) + +#define OP_URL_OPT(_request) ((_request)+(char *)0) + +/*These macros trigger compilation errors or warnings if the wrong types are + provided to one of the URL options.*/ +#define OP_CHECK_INT(_x) ((void)((_x)==(opus_int32)0),(opus_int32)(_x)) +#define OP_CHECK_CONST_CHAR_PTR(_x) ((_x)+((_x)-(const char *)(_x))) + +/**Skip the certificate check when connecting via TLS/SSL (https). + \param _b opus_int32: Whether or not to skip the certificate + check. + The check will be skipped if \a _b is non-zero, and will not be + skipped if \a _b is zero. + \hideinitializer*/ +#define OP_SSL_SKIP_CERTIFICATE_CHECK(_b) \ + OP_URL_OPT(OP_SSL_SKIP_CERTIFICATE_CHECK_REQUEST),OP_CHECK_INT(_b) + +/**Proxy connections through the given host. + If no port is specified via #OP_HTTP_PROXY_PORT, the port number defaults + to 8080 (http-alt). + All proxy parameters are ignored for non-http and non-https URLs. + \param _host const char *: The proxy server hostname. + This may be NULL to disable the use of a proxy + server. + \hideinitializer*/ +#define OP_HTTP_PROXY_HOST(_host) \ + OP_URL_OPT(OP_HTTP_PROXY_HOST_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/**Use the given port when proxying connections. + This option only has an effect if #OP_HTTP_PROXY_HOST is specified with a + non-NULL \a _host. + If this option is not provided, the proxy port number defaults to 8080 + (http-alt). + All proxy parameters are ignored for non-http and non-https URLs. + \param _port opus_int32: The proxy server port. + This must be in the range 0...65535 (inclusive), or the + URL function this is passed to will fail. + \hideinitializer*/ +#define OP_HTTP_PROXY_PORT(_port) \ + OP_URL_OPT(OP_HTTP_PROXY_PORT_REQUEST),OP_CHECK_INT(_port) + +/**Use the given user name for authentication when proxying connections. + All proxy parameters are ignored for non-http and non-https URLs. + \param _user const char *: The proxy server user name. + This may be NULL to disable proxy + authentication. + A non-NULL value only has an effect + if #OP_HTTP_PROXY_HOST and #OP_HTTP_PROXY_PASS + are also specified with non-NULL + arguments. + \hideinitializer*/ +#define OP_HTTP_PROXY_USER(_user) \ + OP_URL_OPT(OP_HTTP_PROXY_USER_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/**Use the given password for authentication when proxying connections. + All proxy parameters are ignored for non-http and non-https URLs. + \param _pass const char *: The proxy server password. + This may be NULL to disable proxy + authentication. + A non-NULL value only has an effect + if #OP_HTTP_PROXY_HOST and #OP_HTTP_PROXY_USER + are also specified with non-NULL + arguments. + \hideinitializer*/ +#define OP_HTTP_PROXY_PASS(_pass) \ + OP_URL_OPT(OP_HTTP_PROXY_PASS_REQUEST),OP_CHECK_CONST_CHAR_PTR(_host) + +/*@}*/ +/*@}*/ + +/**\defgroup stream_callbacks Abstract Stream Reading Interface*/ +/*@{*/ +/**\name Functions for reading from streams + These functions define the interface used to read from and seek in a stream + of data. + A stream does not need to implement seeking, but the decoder will not be + able to seek if it does not do so. + These functions also include some convenience routines for working with + standard FILE pointers, complete streams stored in a single + block of memory, or URLs.*/ +/*@{*/ + +typedef struct OpusFileCallbacks OpusFileCallbacks; + +/**Reads up to \a _nbytes bytes of data from \a _stream. + \param _stream The stream to read from. + \param[out] _ptr The buffer to store the data in. + \param _nbytes The maximum number of bytes to read. + This function may return fewer, though it will not + return zero unless it reaches end-of-file. + \return The number of bytes successfully read, or a negative value on + error.*/ +typedef int (*op_read_func)(void *_stream,unsigned char *_ptr,int _nbytes); + +/**Sets the position indicator for \a _stream. + The new position, measured in bytes, is obtained by adding \a _offset + bytes to the position specified by \a _whence. + If \a _whence is set to SEEK_SET, SEEK_CUR, or + SEEK_END, the offset is relative to the start of the stream, + the current position indicator, or end-of-file, respectively. + \retval 0 Success. + \retval -1 Seeking is not supported or an error occurred. + errno need not be set.*/ +typedef int (*op_seek_func)(void *_stream,opus_int64 _offset,int _whence); + +/**Obtains the current value of the position indicator for \a _stream. + \return The current position indicator.*/ +typedef opus_int64 (*op_tell_func)(void *_stream); + +/**Closes the underlying stream. + \retval 0 Success. + \retval EOF An error occurred. + errno need not be set.*/ +typedef int (*op_close_func)(void *_stream); + +/**The callbacks used to access non-FILE stream resources. + The function prototypes are basically the same as for the stdio functions + fread(), fseek(), ftell(), and + fclose(). + The differences are that the FILE * arguments have been + replaced with a void *, which is to be used as a pointer to + whatever internal data these functions might need, that #seek and #tell + take and return 64-bit offsets, and that #seek must return -1 if + the stream is unseekable.*/ +struct OpusFileCallbacks{ + /**Used to read data from the stream. + This must not be NULL.*/ + op_read_func read; + /**Used to seek in the stream. + This may be NULL if seeking is not implemented.*/ + op_seek_func seek; + /**Used to return the current read position in the stream. + This may be NULL if seeking is not implemented.*/ + op_tell_func tell; + /**Used to close the stream when the decoder is freed. + This may be NULL to leave the stream open.*/ + op_close_func close; +}; + +/**Opens a stream with fopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _path The path to the file to open. + \param _mode The mode to open the file in. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_fopen(OpusFileCallbacks *_cb, + const char *_path,const char *_mode) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2) + OP_ARG_NONNULL(3); + +/**Opens a stream with fdopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _fd The file descriptor to open. + \param _mode The mode to open the file in. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_fdopen(OpusFileCallbacks *_cb, + int _fd,const char *_mode) OP_ARG_NONNULL(1) OP_ARG_NONNULL(3); + +/**Opens a stream with freopen() and fills in a set of callbacks + that can be used to access it. + This is useful to avoid writing your own portable 64-bit seeking wrappers, + and also avoids cross-module linking issues on Windows, where a + FILE * must be accessed by routines defined in the same module + that opened it. + \param[out] _cb The callbacks to use for this file. + If there is an error opening the file, nothing will be + filled in here. + \param _path The path to the file to open. + \param _mode The mode to open the file in. + \param _stream A stream previously returned by op_fopen(), op_fdopen(), + or op_freopen(). + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_freopen(OpusFileCallbacks *_cb, + const char *_path,const char *_mode,void *_stream) OP_ARG_NONNULL(1) + OP_ARG_NONNULL(2) OP_ARG_NONNULL(3) OP_ARG_NONNULL(4); + +/**Creates a stream that reads from the given block of memory. + This block of memory must contain the complete stream to decode. + This is useful for caching small streams (e.g., sound effects) in RAM. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will be + filled in here. + \param _data The block of memory to read from. + \param _size The size of the block of memory. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_mem_stream_create(OpusFileCallbacks *_cb, + const unsigned char *_data,size_t _size) OP_ARG_NONNULL(1); + +/**Creates a stream that reads from the given URL. + This function behaves identically to op_url_stream_create(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will + be filled in here. + \param _url The URL to read from. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[in,out] _ap A list of the \ref url_options "optional flags" to use. + This is a variable-length list of options terminated + with NULL. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_url_stream_vcreate(OpusFileCallbacks *_cb, + const char *_url,va_list _ap) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/**Creates a stream that reads from the given URL using the specified proxy. + \param[out] _cb The callbacks to use for this stream. + If there is an error creating the stream, nothing will be + filled in here. + \param _url The URL to read from. + Currently only the , , and schemes + are supported. + Both and may be disabled at compile time, + in which case opening such URLs will always fail. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated with + NULL. + \return A stream handle to use with the callbacks, or NULL on + error.*/ +OP_WARN_UNUSED_RESULT void *op_url_stream_create(OpusFileCallbacks *_cb, + const char *_url,...) OP_ARG_NONNULL(1) OP_ARG_NONNULL(2); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_open_close Opening and Closing*/ +/*@{*/ +/**\name Functions for opening and closing streams + + These functions allow you to test a stream to see if it is Opus, open it, + and close it. + Several flavors are provided for each of the built-in stream types, plus a + more general version which takes a set of application-provided callbacks.*/ +/*@{*/ + +/**Test to see if this is an Opus stream. + For good results, you will need at least 57 bytes (for a pure Opus-only + stream). + Something like 512 bytes will give more reliable results for multiplexed + streams. + This function is meant to be a quick-rejection filter. + Its purpose is not to guarantee that a stream is a valid Opus stream, but to + ensure that it looks enough like Opus that it isn't going to be recognized + as some other format (except possibly an Opus stream that is also + multiplexed with other codecs, such as video). + \param[out] _head The parsed ID header contents. + You may pass NULL if you do not need + this information. + If the function fails, the contents of this structure + remain untouched. + \param _initial_data An initial buffer of data from the start of the + stream. + \param _initial_bytes The number of bytes in \a _initial_data. + \return 0 if the data appears to be Opus, or a negative value on error. + \retval #OP_FALSE There was not enough data to tell if this was an Opus + stream or not. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL The stream used a feature that is not implemented, + such as an unsupported channel family. + \retval #OP_ENOTFORMAT If the data did not contain a recognizable ID + header for an Opus stream. + \retval #OP_EVERSION If the version field signaled a version this library + does not know how to parse. + \retval #OP_EBADHEADER The ID header was not properly formatted or contained + illegal values.*/ +int op_test(OpusHead *_head, + const unsigned char *_initial_data,size_t _initial_bytes); + +/**Open a stream from the given file path. + \param _path The path to the file to open. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + The failure code will be #OP_EFAULT if the file could not + be opened, or one of the other failure codes from + op_open_callbacks() otherwise. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_file(const char *_path,int *_error) + OP_ARG_NONNULL(1); + +/**Open a stream from a memory buffer. + \param _data The memory buffer to open. + \param _size The number of bytes in the buffer. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_memory(const unsigned char *_data, + size_t _size,int *_error); + +/**Open a stream from a URL. + This function behaves identically to op_open_url(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always + fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \param[in,out] _ap A list of the \ref url_options "optional flags" to + use. + This is a variable-length list of options terminated + with NULL. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_vopen_url(const char *_url, + int *_error,va_list _ap) OP_ARG_NONNULL(1); + +/**Open a stream from a URL. + However, this approach will not work for live streams or HTTP/1.0 servers + (which do not support Range requets). + \param _url The URL to open. + Currently only the , , and schemes + are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated with + NULL. + \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_url(const char *_url, + int *_error,...) OP_ARG_NONNULL(1); + +/**Open a stream using the given set of callbacks to access it. + \param _source The stream to read from (e.g., a FILE *). + \param _cb The callbacks with which to access the stream. + read() must + be implemented. + seek() and + tell() may + be NULL, or may always return -1 to + indicate a source is unseekable, but if + seek() is + implemented and succeeds on a particular source, then + tell() must + also. + close() may + be NULL, but if it is not, it will be + called when the \c OggOpusFile is destroyed by + op_free(). + It will not be called if op_open_callbacks() fails + with an error. + \param _initial_data An initial buffer of data from the start of the + stream. + Applications can read some number of bytes from the + start of the stream to help identify this as an Opus + stream, and then provide them here to allow the + stream to be opened, even if it is unseekable. + \param _initial_bytes The number of bytes in \a _initial_data. + If the stream is seekable, its current position (as + reported by + tell() + at the start of this function) must be equal to + \a _initial_bytes. + Otherwise, seeking to absolute positions will + generate inconsistent results. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + The failure code will be one of +
+
#OP_EREAD
+
An underlying read, seek, or tell operation + failed when it should have succeeded, or we failed + to find data in the stream we had seen before.
+
#OP_EFAULT
+
There was a memory allocation failure, or an + internal library error.
+
#OP_EIMPL
+
The stream used a feature that is not + implemented, such as an unsupported channel + family.
+
#OP_EINVAL
+
seek() + was implemented and succeeded on this source, but + tell() + did not, or the starting position indicator was + not equal to \a _initial_bytes.
+
#OP_ENOTFORMAT
+
The stream contained a link that did not have + any logical Opus streams in it.
+
#OP_EBADHEADER
+
A required header packet was not properly + formatted, contained illegal values, or was missing + altogether.
+
#OP_EVERSION
+
An ID header contained an unrecognized version + number.
+
#OP_EBADLINK
+
We failed to find data we had seen before after + seeking.
+
#OP_EBADTIMESTAMP
+
The first or last timestamp in a link failed + basic validity checks.
+
+ \return A freshly opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_open_callbacks(void *_source, + const OpusFileCallbacks *_cb,const unsigned char *_initial_data, + size_t _initial_bytes,int *_error) OP_ARG_NONNULL(2); + +/**Partially open a stream from the given file path. + \see op_test_callbacks + \param _path The path to the file to open. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + The failure code will be #OP_EFAULT if the file could not + be opened, or one of the other failure codes from + op_open_callbacks() otherwise. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_file(const char *_path,int *_error) + OP_ARG_NONNULL(1); + +/**Partially open a stream from a memory buffer. + \see op_test_callbacks + \param _data The memory buffer to open. + \param _size The number of bytes in the buffer. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure codes. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_memory(const unsigned char *_data, + size_t _size,int *_error); + +/**Partially open a stream from a URL. + This function behaves identically to op_test_url(), except that it + takes a va_list instead of a variable number of arguments. + It does not call the va_end macro, and because it invokes the + va_arg macro, the value of \a _ap is undefined after the call. + \see op_test_url + \see op_test_callbacks + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always + fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \param[in,out] _ap A list of the \ref url_options "optional flags" to + use. + This is a variable-length list of options terminated + with NULL. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_vtest_url(const char *_url, + int *_error,va_list _ap) OP_ARG_NONNULL(1); + +/**Partially open a stream from a URL. + \see op_test_callbacks + \param _url The URL to open. + Currently only the , , and + schemes are supported. + Both and may be disabled at compile + time, in which case opening such URLs will always fail. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want the + failure code. + See op_open_callbacks() for a full list of failure + codes. + \param ... The \ref url_options "optional flags" to use. + This is a variable-length list of options terminated + with NULL. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_url(const char *_url, + int *_error,...) OP_ARG_NONNULL(1); + +/**Partially open a stream using the given set of callbacks to access it. + This tests for Opusness and loads the headers for the first link. + It does not seek (although it tests for seekability). + You can query a partially open stream for the few pieces of basic + information returned by op_serialno(), op_channel_count(), op_head(), and + op_tags() (but only for the first link). + You may also determine if it is seekable via a call to op_seekable(). + You cannot read audio from the stream, seek, get the size or duration, + get information from links other than the first one, or even get the total + number of links until you finish opening the stream with op_test_open(). + If you do not need to do any of these things, you can dispose of it with + op_free() instead. + + This function is provided mostly to simplify porting existing code that used + libvorbisfile. + For new code, you are likely better off using op_test() instead, which + is less resource-intensive, requires less data to succeed, and imposes a + hard limit on the amount of data it examines (important for unseekable + sources, where all such data must be buffered until you are sure of the + stream type). + \param _source The stream to read from (e.g., a FILE *). + \param _cb The callbacks with which to access the stream. + read() must + be implemented. + seek() and + tell() may + be NULL, or may always return -1 to + indicate a source is unseekable, but if + seek() is + implemented and succeeds on a particular source, then + tell() must + also. + close() may + be NULL, but if it is not, it will be + called when the \c OggOpusFile is destroyed by + op_free(). + It will not be called if op_open_callbacks() fails + with an error. + \param _initial_data An initial buffer of data from the start of the + stream. + Applications can read some number of bytes from the + start of the stream to help identify this as an Opus + stream, and then provide them here to allow the + stream to be tested more thoroughly, even if it is + unseekable. + \param _initial_bytes The number of bytes in \a _initial_data. + If the stream is seekable, its current position (as + reported by + tell() + at the start of this function) must be equal to + \a _initial_bytes. + Otherwise, seeking to absolute positions will + generate inconsistent results. + \param[out] _error Returns 0 on success, or a failure code on error. + You may pass in NULL if you don't want + the failure code. + See op_open_callbacks() for a full list of failure + codes. + \return A partially opened \c OggOpusFile, or NULL on error.*/ +OP_WARN_UNUSED_RESULT OggOpusFile *op_test_callbacks(void *_source, + const OpusFileCallbacks *_cb,const unsigned char *_initial_data, + size_t _initial_bytes,int *_error) OP_ARG_NONNULL(2); + +/**Finish opening a stream partially opened with op_test_callbacks() or one of + the associated convenience functions. + If this function fails, you are still responsible for freeing the + \c OggOpusFile with op_free(). + \param _of The \c OggOpusFile to finish opening. + \return 0 on success, or a negative value on error. + \retval #OP_EREAD An underlying read, seek, or tell operation failed + when it should have succeeded. + \retval #OP_EFAULT There was a memory allocation failure, or an + internal library error. + \retval #OP_EIMPL The stream used a feature that is not implemented, + such as an unsupported channel family. + \retval #OP_EINVAL The stream was not partially opened with + op_test_callbacks() or one of the associated + convenience functions. + \retval #OP_ENOTFORMAT The stream contained a link that did not have any + logical Opus streams in it. + \retval #OP_EBADHEADER A required header packet was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An ID header contained an unrecognized version + number. + \retval #OP_EBADLINK We failed to find data we had seen before after + seeking. + \retval #OP_EBADTIMESTAMP The first or last timestamp in a link failed basic + validity checks.*/ +int op_test_open(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Release all memory used by an \c OggOpusFile. + \param _of The \c OggOpusFile to free.*/ +void op_free(OggOpusFile *_of); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_info Stream Information*/ +/*@{*/ +/**\name Functions for obtaining information about streams + + These functions allow you to get basic information about a stream, including + seekability, the number of links (for chained streams), plus the size, + duration, bitrate, header parameters, and meta information for each link + (or, where available, the stream as a whole). + Some of these (size, duration) are only available for seekable streams. + You can also query the current stream position, link, and playback time, + and instantaneous bitrate during playback. + + Some of these functions may be used successfully on the partially open + streams returned by op_test_callbacks() or one of the associated + convenience functions. + Their documention will indicate so explicitly.*/ +/*@{*/ + +/**Returns whether or not the data source being read is seekable. + This is true if +
    +
  1. The seek() and + tell() callbacks are both + non-NULL,
  2. +
  3. The seek() callback was + successfully executed at least once, and
  4. +
  5. The tell() callback was + successfully able to report the position indicator afterwards.
  6. +
+ This function may be called on partially-opened streams. + \param _of The \c OggOpusFile whose seekable status is to be returned. + \return A non-zero value if seekable, and 0 if unseekable.*/ +int op_seekable(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Returns the number of links in this chained stream. + This function may be called on partially-opened streams, but it will always + return 1. + The actual number of links is not known until the stream is fully opened. + \param _of The \c OggOpusFile from which to retrieve the link count. + \return For fully-open seekable sources, this returns the total number of + links in the whole stream. + For partially-open or unseekable sources, this always returns 1.*/ +int op_link_count(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Get the serial number of the given link in a (possibly-chained) Ogg Opus + stream. + This function may be called on partially-opened streams, but it will always + return the serial number of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the serial number. + \param _li The index of the link whose serial number should be retrieved. + Use a negative number to get the serial number of the current + link. + \return The serial number of the given link. + If \a _li is greater than the total number of links, this returns + the serial number of the last link. + If the source is not seekable, this always returns the serial number + of the current link.*/ +opus_uint32 op_serialno(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the channel count of the given link in a (possibly-chained) Ogg Opus + stream. + This is equivalent to op_head(_of,_li)->channel_count, but + is provided for convenience. + This function may be called on partially-opened streams, but it will always + return the channel count of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the channel count. + \param _li The index of the link whose channel count should be retrieved. + Use a negative number to get the channel count of the current + link. + \return The channel count of the given link. + If \a _li is greater than the total number of links, this returns + the channel count of the last link. + If the source is not seekable, this always returns the channel count + of the current link.*/ +int op_channel_count(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the total (compressed) size of the stream, or of an individual link in + a (possibly-chained) Ogg Opus stream, including all headers and Ogg muxing + overhead. + \param _of The \c OggOpusFile from which to retrieve the compressed size. + \param _li The index of the link whose compressed size should be computed. + Use a negative number to get the compressed size of the entire + stream. + \return The compressed size of the entire stream if \a _li is negative, the + compressed size of link \a _li if it is non-negative, or a negative + value on error. + The compressed size of the entire stream may be smaller than that + of the underlying source if trailing garbage was detected in the + file. + \retval #OP_EINVAL The source is not seekable (so we can't know the length), + \a _li wasn't less than the total number of links in + the stream, or the stream was only partially open.*/ +opus_int64 op_raw_total(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the total PCM length (number of samples at 48 kHz) of the stream, or of + an individual link in a (possibly-chained) Ogg Opus stream. + Users looking for op_time_total() should use op_pcm_total() + instead. + Because timestamps in Opus are fixed at 48 kHz, there is no need for a + separate function to convert this to seconds (and leaving it out avoids + introducing floating point to the API, for those that wish to avoid it). + \param _of The \c OggOpusFile from which to retrieve the PCM offset. + \param _li The index of the link whose PCM length should be computed. + Use a negative number to get the PCM length of the entire stream. + \return The PCM length of the entire stream if \a _li is negative, the PCM + length of link \a _li if it is non-negative, or a negative value on + error. + \retval #OP_EINVAL The source is not seekable (so we can't know the length), + \a _li wasn't less than the total number of links in + the stream, or the stream was only partially open.*/ +ogg_int64_t op_pcm_total(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the ID header information for the given link in a (possibly chained) Ogg + Opus stream. + This function may be called on partially-opened streams, but it will always + return the ID header information of the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the ID header + information. + \param _li The index of the link whose ID header information should be + retrieved. + Use a negative number to get the ID header information of the + current link. + For an unseekable stream, \a _li is ignored, and the ID header + information for the current link is always returned, if + available. + \return The contents of the ID header for the given link.*/ +const OpusHead *op_head(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Get the comment header information for the given link in a (possibly + chained) Ogg Opus stream. + This function may be called on partially-opened streams, but it will always + return the tags from the Opus stream in the first link. + \param _of The \c OggOpusFile from which to retrieve the comment header + information. + \param _li The index of the link whose comment header information should be + retrieved. + Use a negative number to get the comment header information of + the current link. + For an unseekable stream, \a _li is ignored, and the comment + header information for the current link is always returned, if + available. + \return The contents of the comment header for the given link, or + NULL if this is an unseekable stream that encountered + an invalid link.*/ +const OpusTags *op_tags(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Retrieve the index of the current link. + This is the link that produced the data most recently read by + op_read_float() or its associated functions, or, after a seek, the link + that the seek target landed in. + Reading more data may advance the link index (even on the first read after a + seek). + \param _of The \c OggOpusFile from which to retrieve the current link index. + \return The index of the current link on success, or a negative value on + failure. + For seekable streams, this is a number between 0 and the value + returned by op_link_count(). + For unseekable streams, this value starts at 0 and increments by one + each time a new link is encountered (even though op_link_count() + always returns 1). + \retval #OP_EINVAL The stream was only partially open.*/ +int op_current_link(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Computes the bitrate for a given link in a (possibly chained) Ogg Opus + stream. + The stream must be seekable to compute the bitrate. + For unseekable streams, use op_bitrate_instant() to get periodic estimates. + \param _of The \c OggOpusFile from which to retrieve the bitrate. + \param _li The index of the link whose bitrate should be computed. + USe a negative number to get the bitrate of the whole stream. + \return The bitrate on success, or a negative value on error. + \retval #OP_EINVAL The stream was only partially open, the stream was not + seekable, or \a _li was larger than the number of + links.*/ +opus_int32 op_bitrate(OggOpusFile *_of,int _li) OP_ARG_NONNULL(1); + +/**Compute the instantaneous bitrate, measured as the ratio of bits to playable + samples decoded since a) the last call to op_bitrate_instant(), b) the last + seek, or c) the start of playback, whichever was most recent. + This will spike somewhat after a seek or at the start/end of a chain + boundary, as pre-skip, pre-roll, and end-trimming causes samples to be + decoded but not played. + \param _of The \c OggOpusFile from which to retrieve the bitrate. + \return The bitrate, in bits per second, or a negative value on error. + \retval #OP_FALSE No data has been decoded since any of the events + described above. + \retval #OP_EINVAL The stream was only partially open.*/ +opus_int32 op_bitrate_instant(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Obtain the current value of the position indicator for \a _of. + \param _of The \c OggOpusFile from which to retrieve the position indicator. + \return The byte position that is currently being read from. + \retval #OP_EINVAL The stream was only partially open.*/ +opus_int64 op_raw_tell(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/**Obtain the PCM offset of the next sample to be read. + If the stream is not properly timestamped, this might not increment by the + proper amount between reads, or even return monotonically increasing + values. + \param _of The \c OggOpusFile from which to retrieve the PCM offset. + \return The PCM offset of the next sample to be read. + \retval #OP_EINVAL The stream was only partially open.*/ +ogg_int64_t op_pcm_tell(OggOpusFile *_of) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_seeking Seeking*/ +/*@{*/ +/**\name Functions for seeking in Opus streams + + These functions let you seek in Opus streams, if the underlying source + support it. + Seeking is implemented for all built-in stream I/O routines, though some + individual sources may not be seekable (pipes, live HTTP streams, or HTTP + streams from a server that does not support Range requests). + + op_raw_seek() is the fastest: it is guaranteed to perform at most one + physical seek, but, since the target is a byte position, makes no guarantee + how close to a given time it will come. + op_pcm_seek() provides sample-accurate seeking. + The number of physical seeks it requires is still quite small (often 1 or + 2, even in highly variable bitrate streams). + + Seeking in Opus requires decoding some pre-roll amount before playback to + allow the internal state to converge (as if recovering from packet loss). + This is handled internally by libopusfile, but means there is + little extra overhead for decoding up to the exact position requested + (since it must decode some amount of audio anyway). + It also means that decoding after seeking may not return exactly the same + values as would be obtained by decoding the stream straight through. + However, such differences are expected to be smaller than the loss + introduced by Opus's lossy compression.*/ +/*@{*/ + +/**Seek to a byte offset relative to the compressed data. + This also scans packets to update the PCM cursor. + It will cross a logical bitstream boundary, but only if it can't get any + packets out of the tail of the link to which it seeks. + \param _of The \c OggOpusFile in which to seek. + \param _byte_offset The byte position to seek to. + \return 0 on success, or a negative error code on failure. + \retval #OP_EREAD The underlying seek operation failed. + \retval #OP_EINVAL The stream was only partially open, or the target was + outside the valid range for the stream. + \retval #OP_ENOSEEK This stream is not seekable. + \retval #OP_EBADLINK Failed to initialize a decoder for a stream for an + unknown reason.*/ +int op_raw_seek(OggOpusFile *_of,opus_int64 _byte_offset) OP_ARG_NONNULL(1); + +/**Seek to the specified PCM offset, such that decoding will begin at exactly + the requested position. + \param _of The \c OggOpusFile in which to seek. + \param _pcm_offset The PCM offset to seek to. + This is in samples at 48 kHz relative to the start of the + stream. + \return 0 on success, or a negative value on error. + \retval #OP_EREAD An underlying read or seek operation failed. + \retval #OP_EINVAL The stream was only partially open, or the target was + outside the valid range for the stream. + \retval #OP_ENOSEEK This stream is not seekable. + \retval #OP_EBADLINK We failed to find data we had seen before, or the + bitstream structure was sufficiently malformed that + seeking to the target destination was impossible.*/ +int op_pcm_seek(OggOpusFile *_of,ogg_int64_t _pcm_offset) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +/**\defgroup stream_decoding Decoding*/ +/*@{*/ +/**\name Functions for decoding audio data + + These functions retrieve actual decoded audio data from the stream. + The general functions, op_read() and op_read_float() return 16-bit or + floating-point output, both using native endian ordering. + The number of channels returned can change from link to link in a chained + stream. + There are special functions, op_read_stereo() and op_read_float_stereo(), + which always output two channels, to simplify applications which do not + wish to handle multichannel audio. + These downmix multichannel files to two channels, so they can always return + samples in the same format for every link in a chained file. + + If the rest of your audio processing chain can handle floating point, those + routines should be preferred, as floating point output avoids introducing + clipping and other issues which might be avoided entirely if, e.g., you + scale down the volume at some other stage. + However, if you intend to direct consume 16-bit samples, the conversion in + libopusfile provides noise-shaping dithering API. + + libopusfile can also be configured at compile time to use the + fixed-point libopus API. + If so, the floating-point API may also be disabled. + In that configuration, nothing in libopusfile will use any + floating-point operations, to simplify support on devices without an + adequate FPU. + + \warning HTTPS streams may be be vulnerable to truncation attacks if you do + not check the error return code from op_read_float() or its associated + functions. + If the remote peer does not close the connection gracefully (with a TLS + "close notify" message), these functions will return OP_EREAD instead of 0 + when they reach the end of the file. + If you are reading from an URL (particularly if seeking is not + supported), you should make sure to check for this error and warn the user + appropriately.*/ +/*@{*/ + +/**Reads more samples from the stream. + \note Although \a _buf_size must indicate the total number of values that + can be stored in \a _pcm, the return value is the number of samples + per channel. + This is done because +
    +
  1. The channel count cannot be known a prior (reading more samples might + advance us into the next link, with a different channel count), so + \a _buf_size cannot also be in units of samples per channel,
  2. +
  3. Returning the samples per channel matches the libopus API + as closely as we're able,
  4. +
  5. Returning the total number of values instead of samples per channel + would mean the caller would need a division to compute the samples per + channel, and might worry about the possibility of getting back samples + for some channels and not others, and
  6. +
  7. This approach is relatively fool-proof: if an application passes too + small a value to \a _buf_size, they will simply get fewer samples back, + and if they assume the return value is the total number of values, then + they will simply read too few (rather than reading too many and going + off the end of the buffer).
  8. +
+ \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed native-endian 16-bit values with a nominal + range of [-32768,32767). + Multiple channels are interleaved using the + Vorbis + channel ordering. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (5760 + values per channel). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + libopusfile may return less data than + requested. + If so, there is no guarantee that the remaining data + in \a _pcm will be unmodified. + \param[out] _li The index of the link this data was decoded from. + You may pass NULL if you do not need this + information. + If this function fails (returning a negative value), + this parameter is left unset. + \return The number of samples read per channel on success, or a negative + value on failure. + The channel count can be retrieved on success by calling + op_head(_of,*_li). + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for all channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read(OggOpusFile *_of, + opus_int16 *_pcm,int _buf_size,int *_li) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream. + \note Although \a _buf_size must indicate the total number of values that + can be stored in \a _pcm, the return value is the number of samples + per channel. +
    +
  1. The channel count cannot be known a prior (reading more samples might + advance us into the next link, with a different channel count), so + \a _buf_size cannot also be in units of samples per channel,
  2. +
  3. Returning the samples per channel matches the libopus API + as closely as we're able,
  4. +
  5. Returning the total number of values instead of samples per channel + would mean the caller would need a division to compute the samples per + channel, and might worry about the possibility of getting back samples + for some channels and not others, and
  6. +
  7. This approach is relatively fool-proof: if an application passes too + small a value to \a _buf_size, they will simply get fewer samples back, + and if they assume the return value is the total number of values, then + they will simply read too few (rather than reading too many and going + off the end of the buffer).
  8. +
+ \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples as + signed floats with a nominal range of + [-1.0,1.0]. + Multiple channels are interleaved using the + Vorbis + channel ordering. + This must have room for at least \a _buf_size floats. + \param _buf_size The number of floats that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (5760 + samples per channel). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \param[out] _li The index of the link this data was decoded from. + You may pass NULL if you do not need this + information. + If this function fails (returning a negative value), + this parameter is left unset. + \return The number of samples read per channel on success, or a negative + value on failure. + The channel count can be retrieved on success by calling + op_head(_of,*_li). + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for all channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_float(OggOpusFile *_of, + float *_pcm,int _buf_size,int *_li) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream and downmixes to stereo, if necessary. + This function is intended for simple players that want a uniform output + format, even if the channel count changes between links in a chained + stream. + \note \a _buf_size indicates the total number of values that can be stored + in \a _pcm, while the return value is the number of samples per + channel, even though the channel count is known, for consistency with + op_read(). + \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed native-endian 16-bit values with a nominal + range of [-32768,32767). + The left and right channels are interleaved in the + buffer. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (11520 + values total). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \return The number of samples read per channel on success, or a negative + value on failure. + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for both channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_stereo(OggOpusFile *_of, + opus_int16 *_pcm,int _buf_size) OP_ARG_NONNULL(1); + +/**Reads more samples from the stream and downmixes to stereo, if necessary. + This function is intended for simple players that want a uniform output + format, even if the channel count changes between links in a chained + stream. + \note \a _buf_size indicates the total number of values that can be stored + in \a _pcm, while the return value is the number of samples per + channel, even though the channel count is known, for consistency with + op_read_float(). + \param _of The \c OggOpusFile from which to read. + \param[out] _pcm A buffer in which to store the output PCM samples, as + signed floats with a nominal range of + [-1.0,1.0]. + The left and right channels are interleaved in the + buffer. + This must have room for at least \a _buf_size values. + \param _buf_size The number of values that can be stored in \a _pcm. + It is recommended that this be large enough for at + least 120 ms of data at 48 kHz per channel (11520 + values total). + Smaller buffers will simply return less data, possibly + consuming more memory to buffer the data internally. + If less than \a _buf_size values are returned, + libopusfile makes no guarantee that the + remaining data in \a _pcm will be unmodified. + \return The number of samples read per channel on success, or a negative + value on failure. + The number of samples returned may be 0 if the buffer was too small + to store even a single sample for both channels, or if end-of-file + was reached. + The list of possible failure codes follows. + Most of them can only be returned by unseekable, chained streams + that encounter a new link. + \retval #OP_HOLE There was a hole in the data, and some samples + may have been skipped. + Call this function again to continue decoding + past the hole. + \retval #OP_EREAD An underlying read operation failed. + This may signal a truncation attack from an + source. + \retval #OP_EFAULT An internal memory allocation failed. + \retval #OP_EIMPL An unseekable stream encountered a new link that + used a feature that is not implemented, such as + an unsupported channel family. + \retval #OP_EINVAL The stream was only partially open. + \retval #OP_ENOTFORMAT An unseekable stream encountered a new link that + that did not have any logical Opus streams in it. + \retval #OP_EBADHEADER An unseekable stream encountered a new link with a + required header packet that was not properly + formatted, contained illegal values, or was + missing altogether. + \retval #OP_EVERSION An unseekable stream encountered a new link with + an ID header that contained an unrecognized + version number. + \retval #OP_EBADPACKET Failed to properly decode the next packet. + \retval #OP_EBADLINK We failed to find data we had seen before. + \retval #OP_EBADTIMESTAMP An unseekable stream encountered a new link with + a starting timestamp that failed basic validity + checks.*/ +OP_WARN_UNUSED_RESULT int op_read_float_stereo(OggOpusFile *_of, + float *_pcm,int _buf_size) OP_ARG_NONNULL(1); + +/*@}*/ +/*@}*/ + +# if OP_GNUC_PREREQ(4,0) +# pragma GCC visibility pop +# endif + +# if defined(__cplusplus) +} +# endif + +#endif diff --git a/quakespasm/Windows/codecs/include/opusfile.h b/quakespasm/Windows/codecs/include/opusfile.h new file mode 100644 index 00000000..e74eda2f --- /dev/null +++ b/quakespasm/Windows/codecs/include/opusfile.h @@ -0,0 +1,3 @@ +/* just a wrapper to bypass the pkg-config thingy: the + * headers under opus/ are edited accordingly for this */ +#include diff --git a/quakespasm/Windows/codecs/x64/libogg-0.dll b/quakespasm/Windows/codecs/x64/libogg-0.dll index b14ecd38e888e8102a9084d3827c381efe5dd941..663db08ccc50e6a8c0ab24a5b27cd447ca1ec927 100644 GIT binary patch delta 3733 zcmZu!3vg3a8ooE}r70v$pbafZNm^3dN*_sS3Z>8{G%2Svmh#ZWE!K{efGav(NpY4% z0+SZKUc(m8Dy$U52ELBvfdk|K(ghf0}syUSy4K@cB{6_LB&xw+LHXESs9 zpa1=x|D5xm+sy;~<^jI@(d7M|_bl1|xL;T7+CJ3F4@S51nLOVVeOY%mZ*W#~91;78 z*eBP~%;aAFA$l}Q4|P$oo7v*OE5D`mmBSD}|l^jyj{ zU3SN8fRh@sNY~+@Ag@kvwgh(vy*@raM2NW3UO>c+_Blj6Ld2lmLBzFow^NZk1!7;} zM^z0)q2+r4AXNBKP)QbG|4Mn+lw3~!K z2h5dr8v_iWD&PXiqjxF^tcK96pRjsVtP>(zxnz#pa^uGL8rqL#uZG21Dz4KLF-gUO zsDJ`IEOhwb9H96Kz&Zxt({AcEEX@70i{tikW(F^bh;jKzmA56U1ok6!k~2iw%Q_;udu#v zI7yyVM!n{*LSA-AH`<9Gf7*$7lxV(yHQu4AUoS1|Q;#Z242;+cM_UPVc^Tm#mS>5<2wt`|q0G3O=EJ|?<2tzK%% zBDRFVL-+Z_q55#l>?u6vsl2dpWjMz3CoB6yr|Ab1t(A4=u2}FUuT*F76vmLnE7loI zT}zQEUWbz5Y+oSamtN6tFOZ-4PElZ8rsk*XCl+IgOe?=Kswm=t@POi#VApl5hf%X++BOOAGaC98dTVFAtQmwJg>rH5y1bZuVAwt@?_MhR_GTE?lA$ z$SpM%IZu|t_I?z?6sQcIR6GSA@o7RMOQZHkz&&o9m!MRZTZZ{+;qJMDPR0~O!8f(a3G}M`M=UL~a zkpOtCYNQn#6`+CiD!zd}mp;RqiOn=wH^UCOKiB)jKF=QJg@dghx%M4Bo9^fTLY)~? z_$O#X#!|k9{xKty&yV(I1a$mvnw`0mpB?SZ`~#n5yrL+6@k=6l?L=-(FgW8|qpPQ^ z;dx_paO!rRpBcS-+5nGOGp85vtD-BW+j+i~K5VVg#pXocu^N*2Nzo&@Ay`Bk>@V@U z3(n{_d1*e&uW{@ak}96xbO=$fkXJ3E;uQCjStqqwm_{wb4!0WiDcIY z5F+AQK#vsvj=!5Wm;7zwzsoreS7qBPDgxn1Ih|43%s)UwrN#Mf=!jI@aXZH?lKcgF z8gtZGv7|+5YpdOBCP&G>4 z0=-<$lo8_(`IL9gu%1Bs@O7OIrjy93!RD5`JS#nSdRh*nmASdN@H(w^-n@{qu#xP? zLE^#&IItgycv)8!0<8at1Edhe9ZlJ^1Aix&wy`tnl`MC_#fRIN;gyU_XpeKUsR9yH z_)Z)?e&33TJ$l5l@k zm1`edOpyyX%WPMZgy-p^vONA_+Fmx*xFKKdRvo#({2<*?=A2Xx38_3~+PZ={L|kWM zbf|1LAC69%W#z5=SR;rS586SbTC-oO)k{r!`7C-3#75dwo}aVI#FXsa4rVKZsO@ql zh&1Vmko@zI^-nI~EeK1-( z`vlJmG^?^y-(_PEj+D{Gl{cBo94xoI7X-$x=jn#ZP5Ku~S%RU4C+1G(Z>E`Z=jEgV zn_{sxz(~qgf#Q@_5o!Jls>qc`gL7vYr>G43Ac+`XrfI=}{ppQFLd(;b1odiA)|uLj@4i7@H96J*c*;5%tYO}*uMR1K2&mSo>`5!b~iJznF`{U=HVcL!faf9rmj|49;tOiN+_WdLr1N$ZOQ}4~zxU=+OmKkpTJ@^Nw6;HH-Ivevt+!T&8=WyH=E2xd* zny{~qY>w*z-vrCe7>+y)=yo%GA;%43T!GIpMk_`Sh67{J4p}ZzLf-@0j%S&3p_X$n z$B1EEL8}?YTj{Ofs=n`4*}Xb__b0UQ`T7&iFz zAdmwIn()8VFnr92(~20oF>iujJNOvlT)`r`qn^cIq#4Glvl~^4=CmHq I>$ge&1^hTVnE(I) delta 3675 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 G-G2eG)&kD} diff --git a/quakespasm/Windows/codecs/x64/libopus-0.dll b/quakespasm/Windows/codecs/x64/libopus-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..a962869fd53cc473812231b51d3edf31ecfa77d2 GIT binary patch literal 261632 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

SIxr=y^IWcH&?s)J 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 z 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 E0Ie?n4FCWD literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x64/libopus.lib b/quakespasm/Windows/codecs/x64/libopus.lib new file mode 100644 index 0000000000000000000000000000000000000000..00f410763961005199f1a7bc3ebb502dc7661f15 GIT binary patch literal 66166 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 literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x64/libopusfile-0.dll b/quakespasm/Windows/codecs/x64/libopusfile-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..39079d67e21e45e809981bf9c42a431b7240e4dd GIT binary patch literal 43008 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 x{QUoosE)k+@#4ADxBv(dU24z;{aI_Sygd literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x64/libopusfile.dll.a b/quakespasm/Windows/codecs/x64/libopusfile.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..c051058651a1f650e14385df5c15fd6b9bc02958 GIT binary patch literal 32580 zcmeHQ&5s;c5wDDG5*FjHIF4gXGB%De&U)v2b~duC0O3PX6rl)&5TJ4IZf`vD?CfS{ z)+C5XoN_=pL?}WCap1ri@du#DLYxqPLX;Ci2yx(qI004l`n`IuyWdQAF7Dm#)>ij) zz3SesdcUr!_tD)~ZU@t?dv{hEb$4lX`t9a=r{8JT>-dL@y{^~W?WSVX@2&vA4#3HW z0H@9Xoc^Vvv;P1fI=`yu!cPE*E`F%!(tiPnKL3)U=Y9@AbmcFKuAKrPy8Z)2H$DI$ zx{2jPx1Lqhm;ey9eygbS5dcyDvZBGa0f=7wm7?2!03f>av7#^Id5FG>GDKhdnWAs} z5rF8Gnxa=<2OxUwJw@O89RShme^c}w{C`B>MH!;+;dzL@k9HyY;lCB#T?HW894p$! z>n7SkTM><3RCIq1K(zY{MSFh+AbRtkisoo*q6c>rz4cQ7q96ZB(K}f7&YAIOb8r7( zwlf-s!{%^%JRXiF!EOk{dttCWOq2o%59h%fv*DWu;q>j{*51Kn4#VMScYl~(7UQPN zTIbylrn8XFH%^FJMRHbVri)r<9Zg2b%VegUX=@w?)5Mt+SEPdNZPa>qH%!snE_04Z zoE0V2)v=uuI#^sj&l}TVa)4Dd3(ziDJ7Vux$=?3(!91MJhX+%!pT(l`z5Q?!D>p1G z$0LWc`7{i6hYz-JGnfCDR^}eD;DD$I<&zg^IJ%TB$f&6fV3sc54R`mZZ^tAerj{X4 z$0V4g%eR8@cr)0#KZ^+oKazCIvEKL&u()_X5ErdB*$QUi*6zL(+DwuOr=wsz*|P*R zhfBlz!KQuLvoPXd=`@_-wT1nz94ss@$9r}*52vAZdaOai)G|Bcy{Tr0xZi zNjQ!x;j&R~b2Oi#W5QrHn+KL7P85i&{L|=QXvC8mH^oWpZFKq(@9v5f8E-Y$Fm6J{ z;Vh!EMuh~GPZk0Rji?o(Z)UsQ(&HwITKBtM7HO}`J-+?!F`(u5NXPlt30NC#2lL=s zmv?dX1k!tY$84JqBe|Ytk=zG*$83$QhfC#_3I z(fNTb%s+5d0}}VOx2$@0>%qh#W!`1=(Ca9C*Regm{jRe9056De$@MS~-@9#+0(&bEjk=(zK*3#wrSj5XkT>mHf zEt}@U|2g2(Zf+!gk(HOoeHdFK9NYbfN{_q{?u#9<8; zrXmjOLNy`(19#Zc3MH3l7Z)m59HTySUc+^|MmncV)7FQyMo%LoBchBa5JYv+EL4Mw z5Ovb3*+q!DV96~)R6SiTfvB75a>k_R@v8G8su{OGo`Y(NsAy;+{b&(1-Bb)-*WfF- zjiJe;%npvczN)dVeSJm*IkBOfKB-~Z-0I#cEQ+3qFe4~3HyW1I;8h1jmPT=xWEXL7 zS0d6uW5Z3}md3csBf(l6Ph2ZU!6PO5NVyj};`$KOYC7raas=7gzw$_Bi)ptk1aSv> zff4j1UK=gqjczCguWRrUZY8Gq#{j%JQLC*1!69uqel*<5n-i^C7FS~@M!DJ)&0B%sO8?&DJQM6gg$ynAUgF?4^im=`2coQWM)k%i3vA zSnZ`n?X+{2+@f~c<#aidKI)eL^>jJYPNN=~yzR7`E}{yXU7zE)WyiDY5r;N4z@hw@ zCMgK=x6fJw4TUP28M`j-Gy0OUH{XjY*E|Bz%+kifkInV^o(-MgWJ3^558_39PuY4M zZzu%C=4licMbxuOi{#X%a~`=hcm>y-Q^z#2kQ6WRp{d=;}k?f0TduuvR zVI$dDf)Fl(qHBu5>l)m~t)q#CkENV9r*4}hIhz-%a0A!b+B7+XXMP=e+!##+H^TDz zn_j-m*}zQvP1&N?^Msp}8G(npEtaN{0aA*#eowTn6P#?Gs2cHrYcWJcGusO5k+O|= z*ocbH)w2Mli@Y9ckT1V(>I6zWRM|43FA$#0{Ndu})zoi6i)2Js6@%9`z-j%CCdMBb z-Mn6?V_=ZY3sw0LTs5}l39E(mJ{j|9#t3WT!bY)t-lo%brhF{#Nlbd1vW<>iF}R5) zeB)hP)Lbar=$P`Ikv1-RG}DWpZoYiF@;gvB_~9o63X7dQe#d>*fnAYed2!Rvmo>LF z%p}Vxo8NiP;6|PhDXQPO5al(J>8wQ@+SK6dxYjwFXydvbi|<9zdahi#J4i;aRUB(t zHV$^&8jo5u4tC0tTQm-KF#_4>Jt{_WHK19G4p#i*U7ZbG<(cy03L*HUH6w(cXDmWqLkLmV^2rfG$9r2&-By(W z({1G}i$_E+6GH5VTJhMTMxu-vu&s@8Ee_KcgSw_eFO!GqnTEP#GG*(p`5fa%Kl5B% z>}2e(S@1l!-|O`9<-Zkb;F3a3^ep@lK#lh~e?Myax$@m!)!K$<2sQGGgu=$DjIC|a z#6&5J<&9CM;gc;!nMoNEqsrFWzNl~`FU~mpIgb4r5DPt`qSx>An)z~MlM)Gj$~J2L zw84+_I+eoupNwOij3GxO7fEiB&mZ+ncV0$+q?0AVQ`vIn3of1tizD4rBRzj<^OyOJ zLDBnzQUK&{t@pYb3Ym~o_2&RQrIAyJ2*%kMzJZ7q>fWS&1O23Q#vVWQwkfY~=~X#0 z+tgky?$0^T2r;kbDy(nGnj;%c#I*>^iyQOWmrS0e>c;_i(%^>Pt9IyH&DUQ$A^jms3JEO1BA+5am?^!~PyyEe&$0*Un#3+m9 z#f^EGDkE<6;AeSpbH?E2NW>@xN&0(Dy)mla)$XH0jY*0ZXT+y9YK}&XBGkAsN;qC$ z)7Q?ULQO{0oFdeiXOIqkW@9ulAxb!2)C}_F!_`OweAb}m$jm2Zoam{;(TnQUjiH%7 z{H!;t%-DDv{bO;gI%)88B<2${cHH^I7R!s9cCLP58Gw+?xNIYwpE0y&ohp5CN(l(N-6Ts+#RellI(9vlRJ{fL_Zg!5b^?U#EtOrK8UO|2Hjj)ZP&aoP$Ey+FmjwRqP~Ro=)DNlx%L_2 zMNSbL7x5za$y2k`fF3)gsFVJEHy>OYgT78YGR2%;^#*^e0kpI8UA!WA7J@<&HQBx? z;%Z|&jiaL#P6&s2Cr-IGH&U9aI_H! zxols1dP9GUTBR#X-*aQqAi+@Co?v*4tRDZ$Ce}q!Y6M5kh(ntid=u9x8W|+T uRrUI#4HKfWMKts9j9{s3EpOZMsx}mkR6Hrp_trADy!Gc}&xA1>OwVc2J literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x64/libopusfile.lib b/quakespasm/Windows/codecs/x64/libopusfile.lib new file mode 100644 index 0000000000000000000000000000000000000000..68d1fad362aba33ee58d19ad10753dafe40899ce GIT binary patch literal 11606 zcmcgxO>7)R7JejwfH%81PU1Mf9{YAxZZ#o(2o9cS? zs=u!4_o`mK9{Y3Hs@%FVuu!mniifQYt;hN?tIzaTnx zpXm6i#J4Dck)p)sD1j5h5+9&sJcx1f9U_6dD1lSxC-50c;Pi;Z$0!-U#5mI+68Hfn zaQ0P+Z%_iGGZLSm1PTWvIw%?UVvMa334nVH7{4s>B}!ld&n@sFO2*GICfA7szC#I| zyCU%wN?@uWaT_J$*BH}#L;?>`0y8%yzDEhnUX}P7C2)R9;!~8s+@J*JaE|d)j0<%l zfqN+L1;Mq~-+bfxjo|9v-umnHYj56o<9bl9ZR|96+ncp|bg@W5u=e)qs;frtTY9n9 zjaS}Ydo8&7(v6qUueRL`cACLPtbq#6>5EE4Ju*1z7ba5Z8Kv^Vr%k?)k>mbw}WY? z^)Ia3VrfJlyez68#Sp*BtwtqmN0sd+-yLSAt6HZMZV4+AWg?B* zVir1FT2kBgxZRN0n#%Tsl5KlJl-QnGweO+)O=#F2Cq&XV^|kJe2G_4#VK@D~#1V}S zN~(M83CEKUkW`X({ZN?uJzY`lyX|1B6*hM3QP2*zo8k?-GDDkJmY^B7+U(HKH0p*H zzsDe~@>&EPUF)KOb!mGWi>IxrrRg4(dK9({-MF6Csx@ln4MjDrV~jyOUtI61#rq1c z5NaqwH5R7z|FIj1g-of&^{!faMYeRMGx8Ap8+GMi9QB?0UBqBegIxQOY{veGfMOcZ~*Z`2e=2UjiEnq zd7S7=V0eP)L*Qp%eUj)q;L16ouYdyLh1VffPlRJX*0ldS7E&gq zgPpXXUpS-nz0r!++O(Iw?jecR?iqh*jfW2|bQiJG*(2!MR{#wbm z%O^^`HgrqF-oovs-rKX*^X$TjPS34YtMG=M76H8>k?>+P87BtRT+fA2IHG$XP{EgIme!)QWz3>|6LKA(t7|iS zRx!TzK`13*HCNd0WZ5l*R*|t%F=JvC@uE$8mbf+|Tf>{s#5Tfg!h>XK1ffczX2A3p z)u!fI`v@8g7w`svP)(vet{69gt#=FR4Es-F87D~7HlOIEgRWF~)ishz$4p%VBWcfl z&h-naV5nalr-;z~&1s6yLS-%w;e0jcB4LjlFl4?M3M*jnTl!E;zSEzVL>Mct#A{wG+z^C+B zzCwjN`%sP`0^;9cXP7f|Wbhzb{wvz!r=7k#^m?t*+G+1>b_z4sXA7&>)?SnCc5w(* zejWzmJ#mHP4&pABIb^hgAijwQpT7GZ{q~#L4;>J(G1T~1h{UtsQW7!Jm`&=GSO=X* z>y#4-%Mn28AK#tmFS^cLH&J_p*s7mBX0)KC@(a?|*n;*63%Y|RjGvsSn*~*k@$jW# zL6=k$ThM=0MV4$qeBZ}q84vTOab&>k_sHQ5Wc9zL7hg1HFZRFtVDQbJ$N%_nB!29_ z?0@EOg;tdRm6V+Iki@lqtoOKP`C(>w0#DP&NHfoKNlkNsbLi~F)sJ|s9{5j)^f5lm}BJmi@m~&HYH3ToN2C(4Tf|%<%yFqQ+l>0gQ%G?keSv&H%*8>hOO<&B zJ-%>IGd+oMJsY!$Nc_>qRbJ|Div`T!b1{<<>*v7NV;+(CLFPuhG50j#(q^_4l?zK- z3X)OC7YSZ*B1sM`E@@VqDKB=P+fi^HGC0M7z@^JR#!KD#kc>k+dR;~sm5 zKxz>Aw}g=ob}n7!`Sh?oAG7JBHN~XB9*{##F zl8qR=GGCJiqsRYFC`OeM%7f42evd*NB>8xbp1p1>h`68Clgvm%S=D_Lkf`Y;MBqEkEgD=O3#WTWjgE6m2 zzU=Yy34<@E2+6ZvPsVI+HrX|s%>K9BW0W(91J60U>O+o8oYfnB5%yHfo20~Dy3FJB z@l8uUopsNHugAHavz;@7&rR&Rw3%nslb@JXtj4E<92h-u&3VPBKEdU%w)*UKF3qPu zf8;Pu&&*!1c;gQ&IWT(m;)@oe_=MvUX7>@#80Rg<_$!f1nb}@FtKNdk7=MRyX>%QE Y(c+Cib-9#TN9wcNMVC>2OmlgE2g$?bRR910 literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x86/libogg-0.dll b/quakespasm/Windows/codecs/x86/libogg-0.dll index 5d90f29b5ae1ee2afa1b200f8769cae3e0372044..cb264d9aa86b97d63f7e6ae5c61fd42d398c0278 100644 GIT binary patch delta 1459 zcmYjRe@t6d6u!58j6xxl!LS4zov;BL3I+E1`d$lV9TNeC$zVYOBf%kR;#eq~QLvEG z&6lq5=3Szt2pP!pys|}K^5uT#oO{l9 z?zz3~IEOpVVc}h>L2Nj9_Drd=B?F(G>cd@PC;m=>yGcG3hmVmeN{2_tNh%xXkV{lT z#{4dX{10~`R3Wu$s-#wx|0o!a4b1zhTR#$<-quh3F_I+B_xWeY5|xbm$+nQ>sIEN- z-Si1UC4aAWHZ)y)HslROR#`e^4#(=fHMKsTO7Vw+J%3wp+jb$@TulRW$bA{XC)<8< zFLW=SBMGYbr}`nrD_vIY(6mC1eIVObP0*o~9j8f^>Se{&G%~14wii+Sjr4KOs^PLQbzOns1?arQYkRU3Imt^9#^s zVv4_PLz3h&()@kF{Uyu;Avji5g=0a(`&>oZO|3+G)nhIDko{0l><(z#m5vdeoBAqv zs{J5n)yVz6y{VW1hj3HN{{>^^VBKaginqq{En2w`9t?fQp56{JoM6Zs`dkuu)wxe8?3!vfuF=*PNzLf{#7|!6wYwC{F`aof= zeLrk)6{-H;A8A%=aW3K2sd$lmp&ku^6#WG0iO_DzNI__}gM1bdud+Zb`R71>iYUNs zBs%gSo)jA*S1_(1FGVdWmR88~n#ZgUx=;62Ri?jB);%B`MypC z>8~>F4bodO9SG8Knf@Tt$}ymP;SK-w09Zgr{EGpyv@HfRBqXjEw}~Ie^<&&17HcW2 zc(6#yxyF`qN$W_YW7!8N|LK~{iY9Y)@*|ynpX=JSA^3hUfA7EMQXuy1;f2u zx2im1YUXyu6Ssec$!vb|!0Y8C_=tx|As$6N?htXdGMvhXw@p+gokEjFcAK*8-X{^# zBqEdr2*e;X5C^Lkp=P*tFTk?{p>l{J*jEqlIsou&M@RtZ0QG1A#)cbQox)R=E9F?Jfy8$U6Iu`z5at7q%j6KoILXJN0hqwEAb$^OMI zuq=0gE8z}vjodNrB*$|--20q|>*ua=UT%(C=8#EkiZksnWtehJc_xR+Wg=w0C@G9J Q?=u&hUo_i@`nlzQ0g5yoX8-^I delta 1468 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ৃ?C+iPW64{BT|m7= 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 ba94OMnt&sx6lWFZ(GQ~7|JnX8lED81gvD7j literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x86/libopus.dll.a b/quakespasm/Windows/codecs/x86/libopus.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..d530da5afe747385aab8b7f03c8312e0b41c2d96 GIT binary patch literal 192442 zcmeHw3%n#pS#O;tgb-qgVF@9Ga1xfVgs{w+bIv|^gzO`mESzliMsIzw6`Olm+kGc6B?bgou`S!x>Y>TS&*V);* zojZ5!py{`tPe^hrAve5_kQ)ghH@%$6^Z$Sll$$SOa!Z#Glq0Waa_r-Tpq$vxN0ut+Xz8<4O|1t_gv59d%=H{ z?}NN3uRoW`8*U;5<&AKSC~x`zlOKcYLHY65GWp3*5rXp8+nBuVeT1O=%r+)JdoLj< zKL@{w@(XZHD8B^fM0xjznf%(NgrNNTVJ5%vUP4fQ^D9i=e;pwxzwj1m#QcdnkYZRVH7)mJpPG{7xqS^iD!hzVdk{|Mm((Q2zakRA$KS zgi7)*GK2E)iH}m3<-!Y@Ty#B|LAm%2CR^S|W>6jn`B5GZc~PDK z`B9$u2TW$qB{L{jJ)g6OHV6x*q zWCmq7Ve;(j$PCJJ?_u)1Gh_y3FZ?FT{zFU-ypznJ-1K=SFKCe&l$$3^ZUG(2k*_g1 zzKhJDoOlhBTj6?8UJQ9qUIN#HlD>&a2L7OQXPK<5kQtP0ID8B;!qx>2?OO#*#8k6_Eh|Hjz`B5hC z|00<|`Q0TZzyCTigYt(TW%9wR$qdSe;P+5I{COsS@_aIb@~3bfls~(l$;aXOpnT#s zCZBvKnL)V^?jy?I>}B$|Lo$Q%8OV$BIq(tX3;)XG@4yb_AMRoD<@b{rlz#+0%0DkK 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 z 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 V0)0)$^WZ%#xnn>^I_WNh{y!Reb8`Ry literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x86/libopus.lib b/quakespasm/Windows/codecs/x86/libopus.lib new file mode 100644 index 0000000000000000000000000000000000000000..3542ff229b1aa572fed28f6ddec8d098055fdd8f GIT binary patch literal 67554 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 literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x86/libopusfile.dll.a b/quakespasm/Windows/codecs/x86/libopusfile.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..f355c322e3daa473130cef7504746a9e73523b67 GIT binary patch literal 31480 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 T#gFeCTYZVq!p-8>L9G1`DI>=I literal 0 HcmV?d00001 diff --git a/quakespasm/Windows/codecs/x86/libopusfile.lib b/quakespasm/Windows/codecs/x86/libopusfile.lib new file mode 100644 index 0000000000000000000000000000000000000000..73df4711f3090f51eb9ca4469e7bd10d86bbae8d GIT binary patch literal 11854 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 L;gol8Da`)`oFo%> literal 0 HcmV?d00001