diff options
Diffstat (limited to 'lib/rbcodec/codecs/libopus/opus_defines.h')
-rw-r--r-- | lib/rbcodec/codecs/libopus/opus_defines.h | 103 |
1 files changed, 82 insertions, 21 deletions
diff --git a/lib/rbcodec/codecs/libopus/opus_defines.h b/lib/rbcodec/codecs/libopus/opus_defines.h index 830d225f14..3474e84c43 100644 --- a/lib/rbcodec/codecs/libopus/opus_defines.h +++ b/lib/rbcodec/codecs/libopus/opus_defines.h | |||
@@ -63,16 +63,18 @@ extern "C" { | |||
63 | /** @cond OPUS_INTERNAL_DOC */ | 63 | /** @cond OPUS_INTERNAL_DOC */ |
64 | /**Export control for opus functions */ | 64 | /**Export control for opus functions */ |
65 | 65 | ||
66 | #if defined(__GNUC__) && defined(OPUS_BUILD) | 66 | #ifndef OPUS_EXPORT |
67 | # define OPUS_EXPORT __attribute__ ((visibility ("default"))) | 67 | # if defined(WIN32) |
68 | #elif defined(WIN32) && !defined(__MINGW32__) | 68 | # ifdef OPUS_BUILD |
69 | # ifdef OPUS_BUILD | ||
70 | # define OPUS_EXPORT __declspec(dllexport) | 69 | # define OPUS_EXPORT __declspec(dllexport) |
71 | # else | 70 | # else |
72 | # define OPUS_EXPORT | 71 | # define OPUS_EXPORT |
72 | # endif | ||
73 | # elif defined(__GNUC__) && defined(OPUS_BUILD) | ||
74 | # define OPUS_EXPORT __attribute__ ((visibility ("default"))) | ||
75 | # else | ||
76 | # define OPUS_EXPORT | ||
73 | # endif | 77 | # endif |
74 | #else | ||
75 | # define OPUS_EXPORT | ||
76 | #endif | 78 | #endif |
77 | 79 | ||
78 | # if !defined(OPUS_GNUC_PREREQ) | 80 | # if !defined(OPUS_GNUC_PREREQ) |
@@ -143,14 +145,20 @@ extern "C" { | |||
143 | #define OPUS_GET_FINAL_RANGE_REQUEST 4031 | 145 | #define OPUS_GET_FINAL_RANGE_REQUEST 4031 |
144 | #define OPUS_GET_PITCH_REQUEST 4033 | 146 | #define OPUS_GET_PITCH_REQUEST 4033 |
145 | #define OPUS_SET_GAIN_REQUEST 4034 | 147 | #define OPUS_SET_GAIN_REQUEST 4034 |
146 | #define OPUS_GET_GAIN_REQUEST 4045 | 148 | #define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ |
147 | #define OPUS_SET_LSB_DEPTH_REQUEST 4036 | 149 | #define OPUS_SET_LSB_DEPTH_REQUEST 4036 |
148 | #define OPUS_GET_LSB_DEPTH_REQUEST 4037 | 150 | #define OPUS_GET_LSB_DEPTH_REQUEST 4037 |
151 | #define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 | ||
152 | #define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST 4040 | ||
153 | #define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST 4041 | ||
154 | |||
155 | /* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ | ||
149 | 156 | ||
150 | /* Macros to trigger compilation errors when the wrong types are provided to a CTL */ | 157 | /* Macros to trigger compilation errors when the wrong types are provided to a CTL */ |
151 | #define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) | 158 | #define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) |
152 | #define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) | 159 | #define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) |
153 | #define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) | 160 | #define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) |
161 | #define __opus_check_val16_ptr(ptr) ((ptr) + ((ptr) - (opus_val16*)(ptr))) | ||
154 | /** @endcond */ | 162 | /** @endcond */ |
155 | 163 | ||
156 | /** @defgroup opus_ctlvalues Pre-defined values for CTL interface | 164 | /** @defgroup opus_ctlvalues Pre-defined values for CTL interface |
@@ -179,6 +187,15 @@ extern "C" { | |||
179 | #define OPUS_BANDWIDTH_SUPERWIDEBAND 1104 /**<12 kHz bandpass @hideinitializer*/ | 187 | #define OPUS_BANDWIDTH_SUPERWIDEBAND 1104 /**<12 kHz bandpass @hideinitializer*/ |
180 | #define OPUS_BANDWIDTH_FULLBAND 1105 /**<20 kHz bandpass @hideinitializer*/ | 188 | #define OPUS_BANDWIDTH_FULLBAND 1105 /**<20 kHz bandpass @hideinitializer*/ |
181 | 189 | ||
190 | #define OPUS_FRAMESIZE_ARG 5000 /**< Select frame size from the argument (default) */ | ||
191 | #define OPUS_FRAMESIZE_2_5_MS 5001 /**< Use 2.5 ms frames */ | ||
192 | #define OPUS_FRAMESIZE_5_MS 5002 /**< Use 5 ms frames */ | ||
193 | #define OPUS_FRAMESIZE_10_MS 5003 /**< Use 10 ms frames */ | ||
194 | #define OPUS_FRAMESIZE_20_MS 5004 /**< Use 20 ms frames */ | ||
195 | #define OPUS_FRAMESIZE_40_MS 5005 /**< Use 40 ms frames */ | ||
196 | #define OPUS_FRAMESIZE_60_MS 5006 /**< Use 60 ms frames */ | ||
197 | #define OPUS_FRAMESIZE_VARIABLE 5010 /**< Optimize the frame size dynamically */ | ||
198 | |||
182 | /**@}*/ | 199 | /**@}*/ |
183 | 200 | ||
184 | 201 | ||
@@ -501,6 +518,63 @@ extern "C" { | |||
501 | * </dl> | 518 | * </dl> |
502 | * @hideinitializer */ | 519 | * @hideinitializer */ |
503 | #define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) | 520 | #define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) |
521 | /** Configures the depth of signal being encoded. | ||
522 | * This is a hint which helps the encoder identify silence and near-silence. | ||
523 | * @see OPUS_GET_LSB_DEPTH | ||
524 | * @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 and 24 | ||
525 | * (default: 24). | ||
526 | * @hideinitializer */ | ||
527 | #define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) | ||
528 | /** Gets the encoder's configured signal depth. | ||
529 | * @see OPUS_SET_LSB_DEPTH | ||
530 | * @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and | ||
531 | * 24 (default: 24). | ||
532 | * @hideinitializer */ | ||
533 | #define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) | ||
534 | |||
535 | /** Gets the duration (in samples) of the last packet successfully decoded or concealed. | ||
536 | * @param[out] x <tt>opus_int32 *</tt>: Number of samples (at current sampling rate). | ||
537 | * @hideinitializer */ | ||
538 | #define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) | ||
539 | |||
540 | /** Configures the encoder's use of variable duration frames. | ||
541 | * When variable duration is enabled, the encoder is free to use a shorter frame | ||
542 | * size than the one requested in the opus_encode*() call. | ||
543 | * It is then the user's responsibility | ||
544 | * to verify how much audio was encoded by checking the ToC byte of the encoded | ||
545 | * packet. The part of the audio that was not encoded needs to be resent to the | ||
546 | * encoder for the next call. Do not use this option unless you <b>really</b> | ||
547 | * know what you are doing. | ||
548 | * @see OPUS_GET_EXPERT_VARIABLE_DURATION | ||
549 | * @param[in] x <tt>opus_int32</tt>: Allowed values: | ||
550 | * <dl> | ||
551 | * <dt>OPUS_FRAMESIZE_ARG</dt><dd>Select frame size from the argument (default).</dd> | ||
552 | * <dt>OPUS_FRAMESIZE_2_5_MS</dt><dd>Use 2.5 ms frames.</dd> | ||
553 | * <dt>OPUS_FRAMESIZE_5_MS</dt><dd>Use 2.5 ms frames.</dd> | ||
554 | * <dt>OPUS_FRAMESIZE_10_MS</dt><dd>Use 10 ms frames.</dd> | ||
555 | * <dt>OPUS_FRAMESIZE_20_MS</dt><dd>Use 20 ms frames.</dd> | ||
556 | * <dt>OPUS_FRAMESIZE_40_MS</dt><dd>Use 40 ms frames.</dd> | ||
557 | * <dt>OPUS_FRAMESIZE_60_MS</dt><dd>Use 60 ms frames.</dd> | ||
558 | * <dt>OPUS_FRAMESIZE_VARIABLE</dt><dd>Optimize the frame size dynamically.</dd> | ||
559 | * </dl> | ||
560 | * @hideinitializer */ | ||
561 | #define OPUS_SET_EXPERT_FRAME_DURATION(x) OPUS_SET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int(x) | ||
562 | /** Gets the encoder's configured use of variable duration frames. | ||
563 | * @see OPUS_SET_EXPERT_VARIABLE_DURATION | ||
564 | * @param[out] x <tt>opus_int32 *</tt>: Returns one of the following values: | ||
565 | * <dl> | ||
566 | * <dt>OPUS_FRAMESIZE_ARG</dt><dd>Select frame size from the argument (default).</dd> | ||
567 | * <dt>OPUS_FRAMESIZE_2_5_MS</dt><dd>Use 2.5 ms frames.</dd> | ||
568 | * <dt>OPUS_FRAMESIZE_5_MS</dt><dd>Use 2.5 ms frames.</dd> | ||
569 | * <dt>OPUS_FRAMESIZE_10_MS</dt><dd>Use 10 ms frames.</dd> | ||
570 | * <dt>OPUS_FRAMESIZE_20_MS</dt><dd>Use 20 ms frames.</dd> | ||
571 | * <dt>OPUS_FRAMESIZE_40_MS</dt><dd>Use 40 ms frames.</dd> | ||
572 | * <dt>OPUS_FRAMESIZE_60_MS</dt><dd>Use 60 ms frames.</dd> | ||
573 | * <dt>OPUS_FRAMESIZE_VARIABLE</dt><dd>Optimize the frame size dynamically.</dd> | ||
574 | * </dl> | ||
575 | * @hideinitializer */ | ||
576 | #define OPUS_GET_EXPERT_FRAME_DURATION(x) OPUS_GET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int_ptr(x) | ||
577 | |||
504 | /**@}*/ | 578 | /**@}*/ |
505 | 579 | ||
506 | /** @defgroup opus_genericctls Generic CTLs | 580 | /** @defgroup opus_genericctls Generic CTLs |
@@ -580,19 +654,6 @@ extern "C" { | |||
580 | * @hideinitializer */ | 654 | * @hideinitializer */ |
581 | #define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) | 655 | #define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) |
582 | 656 | ||
583 | /** Configures the depth of signal being encoded. | ||
584 | * This is a hint which helps the encoder identify silence and near-silence. | ||
585 | * @see OPUS_GET_LSB_DEPTH | ||
586 | * @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 and 24 | ||
587 | * (default: 24). | ||
588 | * @hideinitializer */ | ||
589 | #define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) | ||
590 | /** Gets the encoder's configured signal depth. | ||
591 | * @see OPUS_SET_LSB_DEPTH | ||
592 | * @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and | ||
593 | * 24 (default: 24). | ||
594 | * @hideinitializer */ | ||
595 | #define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) | ||
596 | /**@}*/ | 657 | /**@}*/ |
597 | 658 | ||
598 | /** @defgroup opus_decoderctls Decoder related CTLs | 659 | /** @defgroup opus_decoderctls Decoder related CTLs |