Lines Matching refs:symbol
92 unsigned int k, scale, total, symbol, low, high;
97 symbol = rc->value / scale + 1;
98 symbol = total - FFMIN(symbol, total);
100 for (k = 0; cdf[k] <= symbol; k++);
117 scale = rc->range >> bits; // in this case, scale = symbol
214 uint32_t k, scale, symbol, total = (k0+1)*3 + k0;
216 symbol = rc->value / scale + 1;
217 symbol = total - FFMIN(symbol, total);
219 k = (symbol < (k0+1)*3) ? symbol/3 : symbol - (k0+1)*2;
236 uint32_t k, scale, symbol, total, low, center;
246 symbol = k + 1;
250 symbol = qn + 1 - k;
253 opus_rc_dec_update(rc, scale, low, low + symbol, total);
260 uint32_t symbol, low, total;
266 symbol = k + 1;
269 symbol = qn + 1 - k;
272 opus_rc_enc_update(rc, low, low + symbol, total, 0);
275 int ff_opus_rc_dec_laplace(OpusRangeCoder *rc, uint32_t symbol, int decay)
285 if (center >= symbol) {
287 low = symbol;
288 symbol = 1 + ((32768 - 32 - symbol) * (16384-decay) >> 15);
290 while (symbol > 1 && center >= low + 2 * symbol) {
292 symbol *= 2;
293 low += symbol;
294 symbol = (((symbol - 2) * decay) >> 15) + 1;
297 if (symbol <= 1) {
303 if (center < low + symbol)
306 low += symbol;
309 opus_rc_dec_update(rc, scale, low, FFMIN(low + symbol, 32768), 32768);
314 void ff_opus_rc_enc_laplace(OpusRangeCoder *rc, int *value, uint32_t symbol, int decay)
316 uint32_t low = symbol;
319 opus_rc_enc_update(rc, 0, symbol, 1 << 15, 1);
322 symbol = ((32768 - 32 - symbol)*(16384 - decay)) >> 15;
323 for (; i < val && symbol; i++) {
324 low += (symbol << 1) + 2;
325 symbol = (symbol*decay) >> 14;
327 if (symbol) {
328 low += (++symbol)*pos;
332 symbol = FFMIN(1, 32768 - low);
335 opus_rc_enc_update(rc, low, low + symbol, 1 << 15, 1);