#if !defined(_entdec_H) # define _entdec_H (1) # include <limits.h> # include "entcode.h"
/*Initializes the decoder. _buf:Theinputbuffertouse.
Return: 0 on success, or a negative value on error.*/ void ec_dec_init(ec_dec *_this,unsignedchar *_buf,opus_uint32 _storage);
/*Calculates the cumulative frequency for the next symbol. Thiscanthenbefedintotheprobabilitymodeltodeterminewhatthat symbolis,andtheadditionalfrequencyinformationrequiredtoadvanceto thenextsymbol. Thisfunctioncannotbecalledmorethanoncewithoutacorrespondingcallto ec_dec_update(),ordecodingwillnotproceedcorrectly. _ft:Thetotalfrequencyofthesymbolsinthealphabetthenextsymbolwas encodedwith. Return:Acumulativefrequencyrepresentingtheencodedsymbol. Ifthecumulativefrequencyofallthesymbolsbeforetheonethat wasencodedwasfl,andthecumulativefrequencyofallthesymbols uptoandincludingtheoneencodedisfh,thenthereturnedvalue
will fall in the range [fl,fh).*/ unsigned ec_decode(ec_dec *_this,unsigned _ft);
/*Equivalent to ec_decode() with _ft==1<<_bits.*/ unsigned ec_decode_bin(ec_dec *_this,unsigned _bits);
/*Advance the decoder past the next symbol using the frequency information the symbolwasencodedwith. Exactlyonecalltoec_decode()musthavebeenmadesothatallnecessary intermediatecalculationsareperformed. _fl:Thecumulativefrequencyofallsymbolsthatcomebeforethesymbol decoded. _fh:Thecumulativefrequencyofallsymbolsuptoandincludingthesymbol decoded. Togetherwith_fl,thisdefinestherange[_fl,_fh)inwhichthevalue returnedabovemustfall. _ft:Thetotalfrequencyofthesymbolsinthealphabetthesymboldecoded wasencodedin.
This must be the same as passed to the preceding call to ec_decode().*/ void ec_dec_update(ec_dec *_this,unsigned _fl,unsigned _fh,unsigned _ft);
/* Decode a bit that has a 1/(1<<_logp) probability of being a one */ int ec_dec_bit_logp(ec_dec *_this,unsigned _logp);
/*Decodes a symbol given an "inverse" CDF table. Nocalltoec_dec_update()isnecessaryafterthiscall. _icdf:The"inverse"CDF,suchthatsymbolsfallsintherange [s>0?ft-_icdf[s-1]:0,ft-_icdf[s]),whereft=1<<_ftb. Thevaluesmustbemonotonicallynon-increasing,andthelastvalue mustbe0. _ftb:Thenumberofbitsofprecisioninthecumulativedistribution.
Return: The decoded symbol s.*/ int ec_dec_icdf(ec_dec *_this,constunsignedchar *_icdf,unsigned _ftb);
/*Decodes a symbol given an "inverse" CDF table. Nocalltoec_dec_update()isnecessaryafterthiscall. _icdf:The"inverse"CDF,suchthatsymbolsfallsintherange [s>0?ft-_icdf[s-1]:0,ft-_icdf[s]),whereft=1<<_ftb. Thevaluesmustbemonotonicallynon-increasing,andthelastvalue mustbe0. _ftb:Thenumberofbitsofprecisioninthecumulativedistribution.
Return: The decoded symbol s.*/ int ec_dec_icdf16(ec_dec *_this,const opus_uint16 *_icdf,unsigned _ftb);
/*Extracts a raw unsigned integer with a non-power-of-2 range from the stream. Thebitsmusthavebeenencodedwithec_enc_uint(). Nocalltoec_dec_update()isnecessaryafterthiscall. _ft:Thenumberofintegersthatcanbedecoded(onemorethanthemax). Thismustbeatleast2,andnomorethan2**32-1.
Return: The decoded bits.*/
opus_uint32 ec_dec_uint(ec_dec *_this,opus_uint32 _ft);
/*Extracts a sequence of raw bits from the stream. Thebitsmusthavebeenencodedwithec_enc_bits(). Nocalltoec_dec_update()isnecessaryafterthiscall. _ftb:Thenumberofbitstoextract. Thismustbebetween0and25,inclusive.
Return: The decoded bits.*/
opus_uint32 ec_dec_bits(ec_dec *_this,unsigned _ftb);
#endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-09-27)
¤
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.