Lines Matching defs:rice

181     APERice riceX;                           ///< rice code parameters for the second channel
182 APERice riceY; ///< rice code parameters for the first channel
475 static inline void update_rice(APERice *rice, unsigned int x)
477 int lim = rice->k ? (1 << (rice->k + 4)) : 0;
478 rice->ksum += ((x + 1) / 2) - ((rice->ksum + 16) >> 5);
480 if (rice->ksum < lim)
481 rice->k--;
482 else if (rice->ksum >= (1 << (rice->k + 5)) && rice->k < 24)
483 rice->k++;
499 APERice *rice)
508 rice->k += 4;
512 if (!rice->k)
514 else if(rice->k <= MIN_CACHE_BITS) {
515 x = (overflow << rice->k) + get_bits(gb, rice->k);
517 av_log(ctx->avctx, AV_LOG_ERROR, "Too many bits: %"PRIu32"\n", rice->k);
521 rice->ksum += x - (rice->ksum + 8 >> 4);
522 if (rice->ksum < (rice->k ? 1 << (rice->k + 4) : 0))
523 rice->k--;
524 else if (rice->ksum >= (1 << (rice->k + 5)) && rice->k < 24)
525 rice->k++;
531 static inline int ape_decode_value_3900(APEContext *ctx, APERice *rice)
542 tmpk = (rice->k < 1) ? 0 : rice->k - 1;
559 update_rice(rice, x);
565 static inline int ape_decode_value_3990(APEContext *ctx, APERice *rice)
570 pivot = FFMAX(rice->ksum >> 5, 1);
600 update_rice(rice, x);
612 int32_t *out, APERice *rice, int blockstodecode)
617 rice->ksum = 0;
620 rice->ksum += out[i];
626 rice->k = get_k(rice->ksum / 10);
627 if (rice->k >= 24)
630 out[i] = get_rice_ook(&ctx->gb, rice->k);
631 rice->ksum += out[i];
632 rice->k = get_k(rice->ksum / ((i + 1) * 2));
633 if (rice->k >= 24)
640 rice->k = get_k(rice->ksum >> 7);
641 ksummax = 1 << rice->k + 7;
642 ksummin = rice->k ? (1 << rice->k + 6) : 0;
648 out[i] = get_rice_ook(&ctx->gb, rice->k);
649 rice->ksum += out[i] - (unsigned)out[i - 64];
650 while (rice->ksum < ksummin) {
651 rice->k--;
652 ksummin = rice->k ? ksummin >> 1 : 0;
655 while (rice->ksum >= ksummax) {
656 rice->k++;
657 if (rice->k > 24)
779 /* Initialize the rice structs */