33 #ifndef OPUS_DEFINES_H
34 #define OPUS_DEFINES_H
48 #define OPUS_BAD_ARG -1
50 #define OPUS_BUFFER_TOO_SMALL -2
52 #define OPUS_INTERNAL_ERROR -3
54 #define OPUS_INVALID_PACKET -4
56 #define OPUS_UNIMPLEMENTED -5
58 #define OPUS_INVALID_STATE -6
60 #define OPUS_ALLOC_FAIL -7
69 # define OPUS_EXPORT __declspec(dllexport)
73 # elif defined(__GNUC__) && defined(OPUS_BUILD)
74 # define OPUS_EXPORT __attribute__ ((visibility ("default")))
80 # if !defined(OPUS_GNUC_PREREQ)
81 # if defined(__GNUC__)&&defined(__GNUC_MINOR__)
82 # define OPUS_GNUC_PREREQ(_maj,_min) \
83 ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min))
85 # define OPUS_GNUC_PREREQ(_maj,_min) 0
89 #if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) )
90 # if OPUS_GNUC_PREREQ(3,0)
91 # define OPUS_RESTRICT __restrict__
92 # elif (defined(_MSC_VER) && _MSC_VER >= 1400)
93 # define OPUS_RESTRICT __restrict
95 # define OPUS_RESTRICT
98 # define OPUS_RESTRICT restrict
104 #if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4)
105 # define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
107 # define OPUS_WARN_UNUSED_RESULT
109 #if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4)
110 # define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x)))
112 # define OPUS_ARG_NONNULL(_x)
118 #define OPUS_SET_APPLICATION_REQUEST 4000
119 #define OPUS_GET_APPLICATION_REQUEST 4001
120 #define OPUS_SET_BITRATE_REQUEST 4002
121 #define OPUS_GET_BITRATE_REQUEST 4003
122 #define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004
123 #define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005
124 #define OPUS_SET_VBR_REQUEST 4006
125 #define OPUS_GET_VBR_REQUEST 4007
126 #define OPUS_SET_BANDWIDTH_REQUEST 4008
127 #define OPUS_GET_BANDWIDTH_REQUEST 4009
128 #define OPUS_SET_COMPLEXITY_REQUEST 4010
129 #define OPUS_GET_COMPLEXITY_REQUEST 4011
130 #define OPUS_SET_INBAND_FEC_REQUEST 4012
131 #define OPUS_GET_INBAND_FEC_REQUEST 4013
132 #define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014
133 #define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015
134 #define OPUS_SET_DTX_REQUEST 4016
135 #define OPUS_GET_DTX_REQUEST 4017
136 #define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020
137 #define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021
138 #define OPUS_SET_FORCE_CHANNELS_REQUEST 4022
139 #define OPUS_GET_FORCE_CHANNELS_REQUEST 4023
140 #define OPUS_SET_SIGNAL_REQUEST 4024
141 #define OPUS_GET_SIGNAL_REQUEST 4025
142 #define OPUS_GET_LOOKAHEAD_REQUEST 4027
144 #define OPUS_GET_SAMPLE_RATE_REQUEST 4029
145 #define OPUS_GET_FINAL_RANGE_REQUEST 4031
146 #define OPUS_GET_PITCH_REQUEST 4033
147 #define OPUS_SET_GAIN_REQUEST 4034
148 #define OPUS_GET_GAIN_REQUEST 4045
149 #define OPUS_SET_LSB_DEPTH_REQUEST 4036
150 #define OPUS_GET_LSB_DEPTH_REQUEST 4037
152 #define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039
157 #define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x))
158 #define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr)))
159 #define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr)))
167 #define OPUS_AUTO -1000
168 #define OPUS_BITRATE_MAX -1
172 #define OPUS_APPLICATION_VOIP 2048
175 #define OPUS_APPLICATION_AUDIO 2049
178 #define OPUS_APPLICATION_RESTRICTED_LOWDELAY 2051
180 #define OPUS_SIGNAL_VOICE 3001
181 #define OPUS_SIGNAL_MUSIC 3002
182 #define OPUS_BANDWIDTH_NARROWBAND 1101
183 #define OPUS_BANDWIDTH_MEDIUMBAND 1102
184 #define OPUS_BANDWIDTH_WIDEBAND 1103
185 #define OPUS_BANDWIDTH_SUPERWIDEBAND 1104
186 #define OPUS_BANDWIDTH_FULLBAND 1105
221 #define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x)
227 #define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x)
240 #define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x)
248 #define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x)
264 #define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x)
275 #define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x)
293 #define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x)
303 #define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x)
318 #define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x)
328 #define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x)
346 #define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x)
359 #define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x)
378 #define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x)
390 #define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x)
400 #define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x)
417 #define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x)
431 #define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x)
439 #define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x)
454 #define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x)
465 #define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x)
474 #define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x)
483 #define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x)
489 #define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x)
500 #define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x)
509 #define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x)
516 #define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x)
522 #define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x)
527 #define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x)
569 #define OPUS_RESET_STATE 4028
579 #define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x)
591 #define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x)
605 #define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x)
624 #define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x)
629 #define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x)
Opus reference implementation types.
const char * opus_strerror(int error)
Converts an opus error code into a human readable string.
const char * opus_get_version_string(void)
Gets the libopus version string.