opus.h   opus.h 
skipping to change at line 618 skipping to change at line 618
/**@}*/ /**@}*/
/** @defgroup opus_repacketizer Repacketizer /** @defgroup opus_repacketizer Repacketizer
* @{ * @{
* *
* The repacketizer can be used to merge multiple Opus packets into a sing le * The repacketizer can be used to merge multiple Opus packets into a sing le
* packet or alternatively to split Opus packets that have previously been * packet or alternatively to split Opus packets that have previously been
* merged. Splitting valid Opus packets is always guaranteed to succeed, * merged. Splitting valid Opus packets is always guaranteed to succeed,
* whereas merging valid packets only succeeds if all frames have the same * whereas merging valid packets only succeeds if all frames have the same
* mode, bandwidth, and frame size, and when the total duration of the mer ged * mode, bandwidth, and frame size, and when the total duration of the mer ged
* packet is no more than 120 ms. * packet is no more than 120 ms. The 120 ms limit comes from the
* specification and limits decoder memory requirements at a point where
* framing overhead becomes negligible.
*
* The repacketizer currently only operates on elementary Opus * The repacketizer currently only operates on elementary Opus
* streams. It will not manipualte multistream packets successfully, excep t in * streams. It will not manipualte multistream packets successfully, excep t in
* the degenerate case where they consist of data from a single stream. * the degenerate case where they consist of data from a single stream.
* *
* The repacketizing process starts with creating a repacketizer state, ei ther * The repacketizing process starts with creating a repacketizer state, ei ther
* by calling opus_repacketizer_create() or by allocating the memory yours elf, * by calling opus_repacketizer_create() or by allocating the memory yours elf,
* e.g., * e.g.,
* @code * @code
* OpusRepacketizer *rp; * OpusRepacketizer *rp;
* rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size());
 End of changes. 1 change blocks. 
1 lines changed or deleted 4 lines changed or added


 opus_defines.h   opus_defines.h 
skipping to change at line 49 skipping to change at line 49
extern "C" { extern "C" {
#endif #endif
/** @defgroup opus_errorcodes Error codes /** @defgroup opus_errorcodes Error codes
* @{ * @{
*/ */
/** No error @hideinitializer*/ /** No error @hideinitializer*/
#define OPUS_OK 0 #define OPUS_OK 0
/** One or more invalid/out of range arguments @hideinitializer*/ /** One or more invalid/out of range arguments @hideinitializer*/
#define OPUS_BAD_ARG -1 #define OPUS_BAD_ARG -1
/** The mode struct passed is invalid @hideinitializer*/ /** Not enough bytes allocated in the buffer @hideinitializer*/
#define OPUS_BUFFER_TOO_SMALL -2 #define OPUS_BUFFER_TOO_SMALL -2
/** An internal error was detected @hideinitializer*/ /** An internal error was detected @hideinitializer*/
#define OPUS_INTERNAL_ERROR -3 #define OPUS_INTERNAL_ERROR -3
/** The compressed data passed is corrupted @hideinitializer*/ /** The compressed data passed is corrupted @hideinitializer*/
#define OPUS_INVALID_PACKET -4 #define OPUS_INVALID_PACKET -4
/** Invalid/unsupported request number @hideinitializer*/ /** Invalid/unsupported request number @hideinitializer*/
#define OPUS_UNIMPLEMENTED -5 #define OPUS_UNIMPLEMENTED -5
/** An encoder or decoder structure is invalid or already freed @hideinitia lizer*/ /** An encoder or decoder structure is invalid or already freed @hideinitia lizer*/
#define OPUS_INVALID_STATE -6 #define OPUS_INVALID_STATE -6
/** Memory allocation has failed @hideinitializer*/ /** Memory allocation has failed @hideinitializer*/
skipping to change at line 455 skipping to change at line 455
* <dd>Process signal for improved speech intelligibility.</dd> * <dd>Process signal for improved speech intelligibility.</dd>
* <dt>#OPUS_APPLICATION_AUDIO</dt> * <dt>#OPUS_APPLICATION_AUDIO</dt>
* <dd>Favor faithfulness to the original input.</dd> * <dd>Favor faithfulness to the original input.</dd>
* <dt>#OPUS_APPLICATION_RESTRICTED_LOWDELAY</dt> * <dt>#OPUS_APPLICATION_RESTRICTED_LOWDELAY</dt>
* <dd>Configure the minimum possible coding delay by disabling certain mo des * <dd>Configure the minimum possible coding delay by disabling certain mo des
* of operation.</dd> * of operation.</dd>
* </dl> * </dl>
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_ int_ptr(x) #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 <code>Fs</code> value passed to opus_encoder_in
it()
* or opus_decoder_init().
* @param[out] x <tt>opus_int32 *</tt>: Sampling rate of encoder or decode
r.
* @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. /** Gets the total samples of delay added by the entire codec.
* This can be queried by the encoder and then the provided number of samp les can be * This can be queried by the encoder and then the provided number of samp les can be
* skipped on from the start of the decoder's output to provide time align ed input * skipped on from the start of the decoder's output to provide time align ed input
* and output. From the perspective of a decoding application the real dat a begins this many * and output. From the perspective of a decoding application the real dat a begins this many
* samples late. * samples late.
* *
* The decoder contribution to this delay is identical for all decoders, b ut the * The decoder contribution to this delay is identical for all decoders, b ut the
* encoder portion of the delay may vary from implementation to implementa tion, * encoder portion of the delay may vary from implementation to implementa tion,
* version to version, or even depend on the encoder's initial configurati on. * version to version, or even depend on the encoder's initial configurati on.
* Applications needing delay compensation should call this CTL rather tha n * Applications needing delay compensation should call this CTL rather tha n
skipping to change at line 534 skipping to change at line 526
* @see OPUS_SET_DTX * @see OPUS_SET_DTX
* @param[out] x <tt>opus_int32 *</tt>: Returns one of the following value s: * @param[out] x <tt>opus_int32 *</tt>: Returns one of the following value s:
* <dl> * <dl>
* <dt>0</dt><dd>DTX disabled (default).</dd> * <dt>0</dt><dd>DTX disabled (default).</dd>
* <dt>1</dt><dd>DTX enabled.</dd> * <dt>1</dt><dd>DTX enabled.</dd>
* </dl> * </dl>
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) #define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x)
/** Configures the depth of signal being encoded. /** Configures the depth of signal being encoded.
* This is a hint which helps the encoder identify silence and near-silenc e. * This is a hint which helps the encoder identify silence and near-silenc e.
* When using opus_encode() * instead of opus_encode_float(), or when libo
pus
* is compiled for fixed-point, the encoder uses the minimum of the value
* set here and the value 16.
* @see OPUS_GET_LSB_DEPTH * @see OPUS_GET_LSB_DEPTH
* @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 an d 24 * @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 an d 24
* (default: 24). * (default: 24).
* @hideinitializer */ * @hideinitializer */
#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int( x) #define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int( x)
/** Gets the encoder's configured signal depth. /** Gets the encoder's configured signal depth.
* @see OPUS_SET_LSB_DEPTH * @see OPUS_SET_LSB_DEPTH
* @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and * @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and
* 24 (default: 24). * 24 (default: 24).
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ ptr(x) #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 <tt>opus_int32 *</tt>: Number of samples (at current samp
ling rate).
* @hideinitializer */
#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQU
EST, __opus_check_int_ptr(x)
/** Configures the encoder's use of variable duration frames. /** Configures the encoder's use of variable duration frames.
* When variable duration is enabled, the encoder is free to use a shorter frame * When variable duration is enabled, the encoder is free to use a shorter frame
* size than the one requested in the opus_encode*() call. * size than the one requested in the opus_encode*() call.
* It is then the user's responsibility * It is then the user's responsibility
* to verify how much audio was encoded by checking the ToC byte of the en coded * to verify how much audio was encoded by checking the ToC byte of the en coded
* packet. The part of the audio that was not encoded needs to be resent t o the * packet. The part of the audio that was not encoded needs to be resent t o the
* encoder for the next call. Do not use this option unless you <b>really< /b> * encoder for the next call. Do not use this option unless you <b>really< /b>
* know what you are doing. * know what you are doing.
* @see OPUS_GET_EXPERT_VARIABLE_DURATION * @see OPUS_GET_EXPERT_VARIABLE_DURATION
* @param[in] x <tt>opus_int32</tt>: Allowed values: * @param[in] x <tt>opus_int32</tt>: Allowed values:
skipping to change at line 650 skipping to change at line 640
/** Gets the final state of the codec's entropy coder. /** Gets the final state of the codec's entropy coder.
* This is used for testing purposes, * This is used for testing purposes,
* The encoder and decoder state should be identical after coding a payloa d * The encoder and decoder state should be identical after coding a payloa d
* (assuming no data corruption or software bugs) * (assuming no data corruption or software bugs)
* *
* @param[out] x <tt>opus_uint32 *</tt>: Entropy coder state * @param[out] x <tt>opus_uint32 *</tt>: Entropy coder state
* *
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_ uint_ptr(x) #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 i
f the
* pitch was not coded in the frame, then zero is returned.
*
* This CTL is only implemented for decoder instances.
*
* @param[out] x <tt>opus_int32 *</tt>: pitch period at 48 kHz (or 0 if no
t 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. /** Gets the encoder's configured bandpass or the decoder's last bandpass.
* @see OPUS_SET_BANDWIDTH * @see OPUS_SET_BANDWIDTH
* @param[out] x <tt>opus_int32 *</tt>: Returns one of the following value s: * @param[out] x <tt>opus_int32 *</tt>: Returns one of the following value s:
* <dl> * <dl>
* <dt>#OPUS_AUTO</dt> <dd>(default)</dd> * <dt>#OPUS_AUTO</dt> <dd>(default)</dd>
* <dt>#OPUS_BANDWIDTH_NARROWBAND</dt> <dd>4 kHz passband</dd> * <dt>#OPUS_BANDWIDTH_NARROWBAND</dt> <dd>4 kHz passband</dd>
* <dt>#OPUS_BANDWIDTH_MEDIUMBAND</dt> <dd>6 kHz passband</dd> * <dt>#OPUS_BANDWIDTH_MEDIUMBAND</dt> <dd>6 kHz passband</dd>
* <dt>#OPUS_BANDWIDTH_WIDEBAND</dt> <dd>8 kHz passband</dd> * <dt>#OPUS_BANDWIDTH_WIDEBAND</dt> <dd>8 kHz passband</dd>
* <dt>#OPUS_BANDWIDTH_SUPERWIDEBAND</dt><dd>12 kHz passband</dd> * <dt>#OPUS_BANDWIDTH_SUPERWIDEBAND</dt><dd>12 kHz passband</dd>
* <dt>#OPUS_BANDWIDTH_FULLBAND</dt> <dd>20 kHz passband</dd> * <dt>#OPUS_BANDWIDTH_FULLBAND</dt> <dd>20 kHz passband</dd>
* </dl> * </dl>
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ ptr(x) #define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ ptr(x)
/** Gets the sampling rate the encoder or decoder was initialized with.
* This simply returns the <code>Fs</code> value passed to opus_encoder_in
it()
* or opus_decoder_init().
* @param[out] x <tt>opus_int32 *</tt>: Sampling rate of encoder or decode
r.
* @hideinitializer
*/
#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_
int_ptr(x)
/**@}*/ /**@}*/
/** @defgroup opus_decoderctls Decoder related CTLs /** @defgroup opus_decoderctls Decoder related CTLs
* @see opus_genericctls, opus_encoderctls, opus_decoder * @see opus_genericctls, opus_encoderctls, opus_decoder
* @{ * @{
*/ */
/** Configures decoder gain adjustment. /** Configures decoder gain adjustment.
* Scales the decoded output by a factor specified in Q8 dB units. * Scales the decoded output by a factor specified in Q8 dB units.
* This has a maximum range of -32768 to 32767 inclusive, and returns * This has a maximum range of -32768 to 32767 inclusive, and returns
skipping to change at line 700 skipping to change at line 686
* *
* @param[in] x <tt>opus_int32</tt>: Amount to scale PCM signal by in Q8 dB units. * @param[in] x <tt>opus_int32</tt>: Amount to scale PCM signal by in Q8 dB units.
* @hideinitializer */ * @hideinitializer */
#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) #define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x)
/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN /** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN
* *
* @param[out] x <tt>opus_int32 *</tt>: Amount to scale PCM signal by in Q 8 dB units. * @param[out] x <tt>opus_int32 *</tt>: Amount to scale PCM signal by in Q 8 dB units.
* @hideinitializer */ * @hideinitializer */
#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) #define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x)
/** Gets the duration (in samples) of the last packet successfully decoded
or concealed.
* @param[out] x <tt>opus_int32 *</tt>: Number of samples (at current samp
ling rate).
* @hideinitializer */
#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQU
EST, __opus_check_int_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 i
f the
* pitch was not coded in the frame, then zero is returned.
*
* This CTL is only implemented for decoder instances.
*
* @param[out] x <tt>opus_int32 *</tt>: pitch period at 48 kHz (or 0 if no
t available)
*
* @hideinitializer */
#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x)
/**@}*/ /**@}*/
/** @defgroup opus_libinfo Opus library information functions /** @defgroup opus_libinfo Opus library information functions
* @{ * @{
*/ */
/** Converts an opus error code into a human readable string. /** Converts an opus error code into a human readable string.
* *
* @param[in] error <tt>int</tt>: Error number * @param[in] error <tt>int</tt>: Error number
* @returns Error string * @returns Error string
*/ */
OPUS_EXPORT const char *opus_strerror(int error); OPUS_EXPORT const char *opus_strerror(int error);
/** Gets the libopus version string. /** Gets the libopus version string.
* *
* Applications may look for the substring "-fixed" in the version string
to
* determine whether they have a fixed-point or floating-point build at
* runtime.
*
* @returns Version string * @returns Version string
*/ */
OPUS_EXPORT const char *opus_get_version_string(void); OPUS_EXPORT const char *opus_get_version_string(void);
/**@}*/ /**@}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* OPUS_DEFINES_H */ #endif /* OPUS_DEFINES_H */
 End of changes. 8 change blocks. 
35 lines changed or deleted 44 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/