Opus
Opus audio codec (RFC 6716): API and operations manual
1.1
 All Files Functions Typedefs Macros Groups Pages
Macros | Functions
opus_defines.h File Reference

Opus reference implementation constants. More...

#include "opus_types.h"

Go to the source code of this file.

Macros

#define OPUS_OK
 No error. More...
 
#define OPUS_BAD_ARG
 One or more invalid/out of range arguments. More...
 
#define OPUS_BUFFER_TOO_SMALL
 The mode struct passed is invalid. More...
 
#define OPUS_INTERNAL_ERROR
 An internal error was detected. More...
 
#define OPUS_INVALID_PACKET
 The compressed data passed is corrupted. More...
 
#define OPUS_UNIMPLEMENTED
 Invalid/unsupported request number. More...
 
#define OPUS_INVALID_STATE
 An encoder or decoder structure is invalid or already freed. More...
 
#define OPUS_ALLOC_FAIL
 Memory allocation has failed. More...
 
#define OPUS_GNUC_PREREQ(_maj, _min)   0
 
#define OPUS_RESTRICT
 
#define OPUS_INLINE
 
#define OPUS_WARN_UNUSED_RESULT
 
#define OPUS_ARG_NONNULL(_x)
 
#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_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
 
#define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST   4040
 
#define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST   4041
 
#define OPUS_SET_PREDICTION_DISABLED_REQUEST   4042
 
#define OPUS_GET_PREDICTION_DISABLED_REQUEST   4043
 
#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)))
 
#define __opus_check_val16_ptr(ptr)   ((ptr) + ((ptr) - (opus_val16*)(ptr)))
 
#define OPUS_AUTO
 Auto/default setting. More...
 
#define OPUS_BITRATE_MAX
 Maximum bitrate. More...
 
#define OPUS_APPLICATION_VOIP
 Best for most VoIP/videoconference applications where listening quality and intelligibility matter most. More...
 
#define OPUS_APPLICATION_AUDIO
 Best for broadcast/high-fidelity application where the decoded audio should be as close as possible to the input. More...
 
#define OPUS_APPLICATION_RESTRICTED_LOWDELAY
 Only use when lowest-achievable latency is what matters most. More...
 
#define OPUS_SIGNAL_VOICE   3001
 Signal being encoded is voice. More...
 
#define OPUS_SIGNAL_MUSIC   3002
 Signal being encoded is music. More...
 
#define OPUS_BANDWIDTH_NARROWBAND
 4 kHz bandpass More...
 
#define OPUS_BANDWIDTH_MEDIUMBAND
 6 kHz bandpass More...
 
#define OPUS_BANDWIDTH_WIDEBAND
 8 kHz bandpass More...
 
#define OPUS_BANDWIDTH_SUPERWIDEBAND
 12 kHz bandpass More...
 
#define OPUS_BANDWIDTH_FULLBAND
 20 kHz bandpass More...
 
#define OPUS_FRAMESIZE_ARG   5000
 Select frame size from the argument (default) More...
 
#define OPUS_FRAMESIZE_2_5_MS   5001
 Use 2.5 ms frames. More...
 
#define OPUS_FRAMESIZE_5_MS   5002
 Use 5 ms frames. More...
 
#define OPUS_FRAMESIZE_10_MS   5003
 Use 10 ms frames. More...
 
#define OPUS_FRAMESIZE_20_MS   5004
 Use 20 ms frames. More...
 
#define OPUS_FRAMESIZE_40_MS   5005
 Use 40 ms frames. More...
 
#define OPUS_FRAMESIZE_60_MS   5006
 Use 60 ms frames. More...
 
#define OPUS_SET_COMPLEXITY(x)
 Configures the encoder's computational complexity. More...
 
#define OPUS_GET_COMPLEXITY(x)
 Gets the encoder's complexity configuration. More...
 
#define OPUS_SET_BITRATE(x)
 Configures the bitrate in the encoder. More...
 
#define OPUS_GET_BITRATE(x)
 Gets the encoder's bitrate configuration. More...
 
#define OPUS_SET_VBR(x)
 Enables or disables variable bitrate (VBR) in the encoder. More...
 
#define OPUS_GET_VBR(x)
 Determine if variable bitrate (VBR) is enabled in the encoder. More...
 
#define OPUS_SET_VBR_CONSTRAINT(x)
 Enables or disables constrained VBR in the encoder. More...
 
#define OPUS_GET_VBR_CONSTRAINT(x)
 Determine if constrained VBR is enabled in the encoder. More...
 
#define OPUS_SET_FORCE_CHANNELS(x)
 Configures mono/stereo forcing in the encoder. More...
 
#define OPUS_GET_FORCE_CHANNELS(x)
 Gets the encoder's forced channel configuration. More...
 
#define OPUS_SET_MAX_BANDWIDTH(x)
 Configures the maximum bandpass that the encoder will select automatically. More...
 
#define OPUS_GET_MAX_BANDWIDTH(x)
 Gets the encoder's configured maximum allowed bandpass. More...
 
#define OPUS_SET_BANDWIDTH(x)
 Sets the encoder's bandpass to a specific value. More...
 
#define OPUS_SET_SIGNAL(x)
 Configures the type of signal being encoded. More...
 
#define OPUS_GET_SIGNAL(x)
 Gets the encoder's configured signal type. More...
 
#define OPUS_SET_APPLICATION(x)
 Configures the encoder's intended application. More...
 
#define OPUS_GET_APPLICATION(x)
 Gets the encoder's configured application. More...
 
#define OPUS_GET_SAMPLE_RATE(x)
 Gets the sampling rate the encoder or decoder was initialized with. More...
 
#define OPUS_GET_LOOKAHEAD(x)
 Gets the total samples of delay added by the entire codec. More...
 
#define OPUS_SET_INBAND_FEC(x)
 Configures the encoder's use of inband forward error correction (FEC). More...
 
#define OPUS_GET_INBAND_FEC(x)
 Gets encoder's configured use of inband forward error correction. More...
 
#define OPUS_SET_PACKET_LOSS_PERC(x)
 Configures the encoder's expected packet loss percentage. More...
 
#define OPUS_GET_PACKET_LOSS_PERC(x)
 Gets the encoder's configured packet loss percentage. More...
 
#define OPUS_SET_DTX(x)
 Configures the encoder's use of discontinuous transmission (DTX). More...
 
#define OPUS_GET_DTX(x)
 Gets encoder's configured use of discontinuous transmission. More...
 
#define OPUS_SET_LSB_DEPTH(x)
 Configures the depth of signal being encoded. More...
 
#define OPUS_GET_LSB_DEPTH(x)
 Gets the encoder's configured signal depth. More...
 
#define OPUS_GET_LAST_PACKET_DURATION(x)
 Gets the duration (in samples) of the last packet successfully decoded or concealed. More...
 
#define OPUS_SET_EXPERT_FRAME_DURATION(x)
 Configures the encoder's use of variable duration frames. More...
 
#define OPUS_GET_EXPERT_FRAME_DURATION(x)
 Gets the encoder's configured use of variable duration frames. More...
 
#define OPUS_SET_PREDICTION_DISABLED(x)
 If set to 1, disables almost all use of prediction, making frames almost completely independent. More...
 
#define OPUS_GET_PREDICTION_DISABLED(x)
 Gets the encoder's configured prediction status. More...
 
#define OPUS_RESET_STATE
 Resets the codec state to be equivalent to a freshly initialized state. More...
 
#define OPUS_GET_FINAL_RANGE(x)
 Gets the final state of the codec's entropy coder. More...
 
#define OPUS_GET_PITCH(x)
 Gets the pitch of the last decoded frame, if available. More...
 
#define OPUS_GET_BANDWIDTH(x)
 Gets the encoder's configured bandpass or the decoder's last bandpass. More...
 
#define OPUS_SET_GAIN(x)
 Configures decoder gain adjustment. More...
 
#define OPUS_GET_GAIN(x)
 Gets the decoder's configured gain adjustment. More...
 

Functions

const char * opus_strerror (int error)
 Converts an opus error code into a human readable string. More...
 
const char * opus_get_version_string (void)
 Gets the libopus version string. More...
 

Detailed Description

Opus reference implementation constants.

Macro Definition Documentation

#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)))
#define __opus_check_val16_ptr (   ptr)    ((ptr) + ((ptr) - (opus_val16*)(ptr)))
#define OPUS_ARG_NONNULL (   _x)
#define OPUS_GET_APPLICATION_REQUEST   4001
#define OPUS_GET_BANDWIDTH_REQUEST   4009
#define OPUS_GET_BITRATE_REQUEST   4003
#define OPUS_GET_COMPLEXITY_REQUEST   4011
#define OPUS_GET_DTX_REQUEST   4017
#define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST   4041
#define OPUS_GET_FINAL_RANGE_REQUEST   4031
#define OPUS_GET_FORCE_CHANNELS_REQUEST   4023
#define OPUS_GET_GAIN_REQUEST   4045 /* Should have been 4035 */
#define OPUS_GET_INBAND_FEC_REQUEST   4013
#define OPUS_GET_LAST_PACKET_DURATION_REQUEST   4039
#define OPUS_GET_LOOKAHEAD_REQUEST   4027
#define OPUS_GET_LSB_DEPTH_REQUEST   4037
#define OPUS_GET_MAX_BANDWIDTH_REQUEST   4005
#define OPUS_GET_PACKET_LOSS_PERC_REQUEST   4015
#define OPUS_GET_PITCH_REQUEST   4033
#define OPUS_GET_PREDICTION_DISABLED_REQUEST   4043
#define OPUS_GET_SAMPLE_RATE_REQUEST   4029
#define OPUS_GET_SIGNAL_REQUEST   4025
#define OPUS_GET_VBR_CONSTRAINT_REQUEST   4021
#define OPUS_GET_VBR_REQUEST   4007
#define OPUS_GNUC_PREREQ (   _maj,
  _min 
)    0
#define OPUS_INLINE
#define OPUS_RESTRICT
#define OPUS_SET_APPLICATION_REQUEST   4000
#define OPUS_SET_BANDWIDTH_REQUEST   4008
#define OPUS_SET_BITRATE_REQUEST   4002
#define OPUS_SET_COMPLEXITY_REQUEST   4010
#define OPUS_SET_DTX_REQUEST   4016
#define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST   4040
#define OPUS_SET_FORCE_CHANNELS_REQUEST   4022
#define OPUS_SET_GAIN_REQUEST   4034
#define OPUS_SET_INBAND_FEC_REQUEST   4012
#define OPUS_SET_LSB_DEPTH_REQUEST   4036
#define OPUS_SET_MAX_BANDWIDTH_REQUEST   4004
#define OPUS_SET_PACKET_LOSS_PERC_REQUEST   4014
#define OPUS_SET_PREDICTION_DISABLED_REQUEST   4042
#define OPUS_SET_SIGNAL_REQUEST   4024
#define OPUS_SET_VBR_CONSTRAINT_REQUEST   4020
#define OPUS_SET_VBR_REQUEST   4006
#define OPUS_WARN_UNUSED_RESULT
For more information visit the Opus Website.