⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 probmod.h

📁 speech echo cancellation library
💻 H
字号:
#if !defined(_probmod_H)# define _probmod_H (1)# include "entcode.h"typedef struct ec_probsamp     ec_probsamp;typedef struct ec_probmod      ec_probmod;/*A sample from a probability distribution.  This is the information needed to encode a symbol or update the decoder   state.*/struct ec_probsamp{  /*The cumulative frequency of all symbols preceding this one in the     alphabet.*/  unsigned fl;  /*The frequency of the symbol coded.*/  unsigned fs;  /*The total frequency of all symbols in the alphabet.*/  unsigned ft;};/*A simple frequency-count probability model.*/struct ec_probmod{  /*The number of symbols in this context.*/  int       sz;  /*The largest power of two less than or equal to sz.*/  int       split;  /*The amount by which to increment the frequency count of an observed     symbol.*/  unsigned  inc;  /*The current total frequency count.*/  unsigned  ft;  /*The maximum total frequency count allowed before the counts are rescaled.    Note that this should be larger than (inc+1>>1)+sz-1, since at most one     rescaling is done per decoded symbol.    Otherwise, this threshold might be exceeded.    This must be less than 2**23 for a range coder, and 2**31 for an     arithmetic coder.*/  unsigned  thresh;  /*The binary indexed tree used to keep track of the frequency counts.*/  unsigned *bitree;};/*Initializes a probability model of the given size.  The amount to increment and all frequency counts are initialized to 1.  The rescaling threshold is initialized to 2**23.  _sz: The number of symbols in this context.*/void ec_probmod_init(ec_probmod *_this,unsigned _sz);/*Initializes a probability model of the given size.  The amount to increment is initialized to 1.  The rescaling threshold is initialized to 2**23.  _sz:     The number of symbols in this context.  _counts: The initial frequency count of each symbol.*/void ec_probmod_init_from_counts(ec_probmod *_this,unsigned _sz, const unsigned *_counts);/*Initializes a probability model of the given size.  _sz:     The number of symbols in this context.  _inc:    The amount by which to increment the frequency count of an observed            symbol.  _thresh: The maximum total frequency count allowed before the counts are            rescaled.           See above for restrictions on this value.  _counts: The initial frequency count of each symbol, or NULL to initialize            each frequency count to 1.*/void ec_probmod_init_full(ec_probmod *_this,unsigned _sz,unsigned _inc, unsigned _thresh,const unsigned *_counts);/*Frees all memory used by this probability model.*/void ec_probmod_clear(ec_probmod *_this);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -