/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited
Written by Jean-Marc Valin and Koen Vos */ /* Redistributionanduseinsourceandbinaryforms,withorwithout modification,arepermittedprovidedthatthefollowingconditions aremet:
/** @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 /** Not enough bytes allocated in the buffer @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 */
/** Defines for the presence of extended APIs. */ #define OPUS_HAVE_OPUS_PROJECTION_H
/* 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))
/** @defgroup opus_ctlvalues Pre-defined values for CTL interface *@seeopus_genericctls,opus_encoderctls *@{
*/ /* Values for the various encoder CTLs */ #define OPUS_AUTO -1000/**<Auto/default setting @hideinitializer*/ #define OPUS_BITRATE_MAX -1/**<Maximum bitrate @hideinitializer*/
/** Best for most VoIP/videoconference applications where listening quality and intelligibility matter most
* @hideinitializer */ #define OPUS_APPLICATION_VOIP 2048 /** Best for broadcast/high-fidelity application where the decoded audio should be as close as possible to the input
* @hideinitializer */ #define OPUS_APPLICATION_AUDIO 2049 /** Only use when lowest-achievable latency is what matters most. Voice-optimized modes cannot be used.
* @hideinitializer */ #define OPUS_APPLICATION_RESTRICTED_LOWDELAY 2051 /** Experts only: forces SILK encoding; don't allocate CELT state at all. Disables OPUS_SET_APPLICATION. */ #define OPUS_APPLICATION_RESTRICTED_SILK 2052 /** Experts only: forces CELT encoding; don't allocate SILK state at all. Disables OPUS_SET_APPLICATION. */ #define OPUS_APPLICATION_RESTRICTED_CELT 2053
#define OPUS_SIGNAL_VOICE 3001/**< Signal being encoded is voice */ #define OPUS_SIGNAL_MUSIC 3002/**< Signal being encoded is music */ #define OPUS_BANDWIDTH_NARROWBAND 1101/**< 4 kHz bandpass @hideinitializer*/ #define OPUS_BANDWIDTH_MEDIUMBAND 1102/**< 6 kHz bandpass @hideinitializer*/ #define OPUS_BANDWIDTH_WIDEBAND 1103/**< 8 kHz bandpass @hideinitializer*/ #define OPUS_BANDWIDTH_SUPERWIDEBAND 1104/**<12 kHz bandpass @hideinitializer*/ #define OPUS_BANDWIDTH_FULLBAND 1105/**<20 kHz bandpass @hideinitializer*/
#define OPUS_FRAMESIZE_ARG 5000/**< Select frame size from the argument (default) */ #define OPUS_FRAMESIZE_2_5_MS 5001/**< Use 2.5 ms frames */ #define OPUS_FRAMESIZE_5_MS 5002/**< Use 5 ms frames */ #define OPUS_FRAMESIZE_10_MS 5003/**< Use 10 ms frames */ #define OPUS_FRAMESIZE_20_MS 5004/**< Use 20 ms frames */ #define OPUS_FRAMESIZE_40_MS 5005/**< Use 40 ms frames */ #define OPUS_FRAMESIZE_60_MS 5006/**< Use 60 ms frames */ #define OPUS_FRAMESIZE_80_MS 5007/**< Use 80 ms frames */ #define OPUS_FRAMESIZE_100_MS 5008/**< Use 100 ms frames */ #define OPUS_FRAMESIZE_120_MS 5009/**< Use 120 ms frames */
/** If set to 1, disables almost all use of prediction, making frames almost *completelyindependent.Thisreducesquality. *@seeOPUS_GET_PREDICTION_DISABLED *@param[in]x<tt>opus_int32</tt>:Allowedvalues: *<dl> *<dt>0</dt><dd>Enableprediction(default).</dd> *<dt>1</dt><dd>Disableprediction.</dd> *</dl>
* @hideinitializer */ #define OPUS_SET_PREDICTION_DISABLED(x) OPUS_SET_PREDICTION_DISABLED_REQUEST, opus_check_int(x) /** Gets the encoder's configured prediction status. *@seeOPUS_SET_PREDICTION_DISABLED *@param[out]x<tt>opus_int32*</tt>:Returnsoneofthefollowingvalues: *<dl> *<dt>0</dt><dd>Predictionenabled(default).</dd> *<dt>1</dt><dd>Predictiondisabled.</dd> *</dl>
* @hideinitializer */ #define OPUS_GET_PREDICTION_DISABLED(x) OPUS_GET_PREDICTION_DISABLED_REQUEST, opus_check_int_ptr(x)
/** If non-zero, enables Deep Redundancy (DRED) and use the specified maximum number of 10-ms redundant frames
* @hideinitializer */ #define OPUS_SET_DRED_DURATION(x) OPUS_SET_DRED_DURATION_REQUEST, opus_check_int(x) /** Gets the encoder's configured Deep Redundancy (DRED) maximum number of frames.
* @hideinitializer */ #define OPUS_GET_DRED_DURATION(x) OPUS_GET_DRED_DURATION_REQUEST, opus_check_int_ptr(x)
/** Provide external DNN weights from binary object (only when explicitly built without the weights)
* @hideinitializer */ #define OPUS_SET_DNN_BLOB(data, len) OPUS_SET_DNN_BLOB_REQUEST, opus_check_void_ptr(data), opus_check_int(len)
/** If set to 1, enables quality extension (QEXT), otherwise disables it (default). Warning: This will *hurt* audio quality unless operating at averyhighbitrate.
* @hideinitializer */ #define OPUS_SET_QEXT(x) OPUS_SET_QEXT_REQUEST, opus_check_int(x) /** Gets the encoder's configured quality extension (QEXT).
* @hideinitializer */ #define OPUS_GET_QEXT(x) OPUS_GET_QEXT_REQUEST, opus_check_int_ptr(x)
/** Resets the codec state to be equivalent to a freshly initialized state. *Thisshouldbecalledwhenswitchingstreamsinordertoprevent *thebacktobackdecodingfromgivingdifferentresultsfrom *oneatatimedecoding.
* @hideinitializer */ #define OPUS_RESET_STATE 4028
/** Gets the final state of the codec's entropy coder. *Thisisusedfortestingpurposes, *Theencoderanddecoderstateshouldbeidenticalaftercodingapayload *(assumingnodatacorruptionorsoftwarebugs) * *@param[out]x<tt>opus_uint32*</tt>:Entropycoderstate *
* @hideinitializer */ #define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, opus_check_uint_ptr(x)
/** Gets the encoder's configured bandpass or the decoder's last bandpass. *@seeOPUS_SET_BANDWIDTH *@param[out]x<tt>opus_int32*</tt>:Returnsoneofthefollowingvalues: *<dl> *<dt>#OPUS_AUTO</dt><dd>(default)</dd> *<dt>#OPUS_BANDWIDTH_NARROWBAND</dt><dd>4kHzpassband</dd> *<dt>#OPUS_BANDWIDTH_MEDIUMBAND</dt><dd>6kHzpassband</dd> *<dt>#OPUS_BANDWIDTH_WIDEBAND</dt><dd>8kHzpassband</dd> *<dt>#OPUS_BANDWIDTH_SUPERWIDEBAND</dt><dd>12kHzpassband</dd> *<dt>#OPUS_BANDWIDTH_FULLBAND</dt><dd>20kHzpassband</dd> *</dl>
* @hideinitializer */ #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. *Thissimplyreturnsthe<code>Fs</code>valuepassedtoopus_encoder_init() *oropus_decoder_init(). *@param[out]x<tt>opus_int32*</tt>:Samplingrateofencoderordecoder. *@hideinitializer
*/ #define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, opus_check_int_ptr(x)
/** If set to 1, disables the use of phase inversion for intensity stereo, *improvingthequalityofmonodownmixes,butslightlyreducingnormal *stereoquality.Disablingphaseinversioninthedecoderdoesnotcomply *withRFC6716,althoughitdoesnotcauseanyinteroperabilityissueand *isexpectedtobecomepartoftheOpusstandardonceRFC6716isupdated *bydraft-ietf-codec-opus-update. *@seeOPUS_GET_PHASE_INVERSION_DISABLED *@param[in]x<tt>opus_int32</tt>:Allowedvalues: *<dl> *<dt>0</dt><dd>Enablephaseinversion(default).</dd> *<dt>1</dt><dd>Disablephaseinversion.</dd> *</dl>
* @hideinitializer */ #define OPUS_SET_PHASE_INVERSION_DISABLED(x) OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST, opus_check_int(x) /** Gets the encoder's configured phase inversion status. *@seeOPUS_SET_PHASE_INVERSION_DISABLED *@param[out]x<tt>opus_int32*</tt>:Returnsoneofthefollowingvalues: *<dl> *<dt>0</dt><dd>Stereophaseinversionenabled(default).</dd> *<dt>1</dt><dd>Stereophaseinversiondisabled.</dd> *</dl>
* @hideinitializer */ #define OPUS_GET_PHASE_INVERSION_DISABLED(x) OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST, opus_check_int_ptr(x) /** Gets the DTX state of the encoder. *Returnswhetherthelastencodedframewaseitheracomfortnoiseupdate *duringDTXornotencodedbecauseofDTX. *@param[out]x<tt>opus_int32*</tt>:Returnsoneofthefollowingvalues: *<dl> *<dt>0</dt><dd>TheencoderisnotinDTX.</dd> *<dt>1</dt><dd>TheencoderisinDTX.</dd> *</dl>
* @hideinitializer */ #define OPUS_GET_IN_DTX(x) OPUS_GET_IN_DTX_REQUEST, opus_check_int_ptr(x)
/**@}*/
/** @defgroup opus_decoderctls Decoder related CTLs *@seeopus_genericctls,opus_encoderctls,opus_decoder *@{
*/
/** Gets the duration (in samples) of the last packet successfully decoded or concealed. *@param[out]x<tt>opus_int32*</tt>:Numberofsamples(atcurrentsamplingrate).
* @hideinitializer */ #define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, opus_check_int_ptr(x)
/** Gets the pitch of the last decoded frame, if available. *Thiscanbeusedforanypost-processingalgorithmrequiringtheuseofpitch, *e.g.timestretching/shortening.Ifthelastframewasnotvoiced,orifthe *pitchwasnotcodedintheframe,thenzeroisreturned. * *ThisCTLisonlyimplementedfordecoderinstances. * *@param[out]x<tt>opus_int32*</tt>:pitchperiodat48kHz(or0ifnotavailable) *
* @hideinitializer */ #define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, opus_check_int_ptr(x)
/** Enables blind bandwidth extension for wideband signals if decoding sampling rate is 48 kHz. *@param[in]x<tt>opus_int32</tt>:1enablesbandwidthextension,0disablesit. *Thedefaultis0. *
* @hideinitializer */ #define OPUS_SET_OSCE_BWE(x) OPUS_SET_OSCE_BWE_REQUEST, opus_check_int(x) /** Gets blind bandwidth extension flag for wideband signals if decoding sampling rate is 48 kHz. *@param[out]x<tt>opus_int32*</tt>:1ifbweenabled,0ifdisabled. *
* @hideinitializer */ #define OPUS_GET_OSCE_BWE(x) OPUS_GET_OSCE_BWE_REQUEST, opus_check_int_ptr(x)
/** If set to 1, the decoder will ignore all extensions found in the padding area *(doesnotaffectDRED,whichisdecodedseparately).
* @hideinitializer */ #define OPUS_SET_IGNORE_EXTENSIONS(x) OPUS_SET_IGNORE_EXTENSIONS_REQUEST, opus_check_int(x) /** Gets whether the decoder is ignoring extensions.
* @hideinitializer */ #define OPUS_GET_IGNORE_EXTENSIONS(x) OPUS_GET_IGNORE_EXTENSIONS_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<tt>int</tt>:Errornumber *@returnsErrorstring
*/
OPUS_EXPORT constchar *opus_strerror(int error);
/** Gets the libopus version string. * *Applicationsmaylookforthesubstring"-fixed"intheversionstringto *determinewhethertheyhaveafixed-pointorfloating-pointbuildat *runtime. * *@returnsVersionstring
*/
OPUS_EXPORT constchar *opus_get_version_string(void); /**@}*/
#ifdef __cplusplus
} #endif
#endif/* OPUS_DEFINES_H */
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.34Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.