static void decode_array_0000(APEContext *ctx, GetBitContext *gb,

                              int32_t *out, APERice *rice, int blockstodecode)

{

    int i;

    int ksummax, ksummin;



    rice->ksum = 0;

    for (i = 0; i < 5; i++) {

        out[i] = get_rice_ook(&ctx->gb, 10);

        rice->ksum += out[i];

    }

    rice->k = av_log2(rice->ksum / 10) + 1;



    for (; i < 64; i++) {

        out[i] = get_rice_ook(&ctx->gb, rice->k);

        rice->ksum += out[i];

        rice->k = av_log2(rice->ksum / ((i + 1) * 2)) + 1;



    }

    ksummax = 1 << rice->k + 7;

    ksummin = rice->k ? (1 << rice->k + 6) : 0;

    for (; i < blockstodecode; i++) {

        out[i] = get_rice_ook(&ctx->gb, rice->k);

        rice->ksum += out[i] - out[i - 64];

        while (rice->ksum < ksummin) {

            rice->k--;

            ksummin = rice->k ? ksummin >> 1 : 0;

            ksummax >>= 1;

        }

        while (rice->ksum >= ksummax) {

            rice->k++;

            if (rice->k > 24)


            ksummax <<= 1;

            ksummin = ksummin ? ksummin << 1 : 128;

        }

    }



    for (i = 0; i < blockstodecode; i++) {

        if (out[i] & 1)

            out[i] = (out[i] >> 1) + 1;

        else

            out[i] = -(out[i] >> 1);

    }

}
static void decode_array_0000(APEContext *ctx, GetBitContext *gb,

                              int32_t *out, APERice *rice, int blockstodecode)

{

    int i;

    int ksummax, ksummin;



    rice->ksum = 0;

    for (i = 0; i < 5; i++) {

        out[i] = get_rice_ook(&ctx->gb, 10);

        rice->ksum += out[i];

    }

    rice->k = av_log2(rice->ksum / 10) + 1;



    for (; i < 64; i++) {

        out[i] = get_rice_ook(&ctx->gb, rice->k);

        rice->ksum += out[i];

        rice->k = av_log2(rice->ksum / ((i + 1) * 2)) + 1;



    }

    ksummax = 1 << rice->k + 7;

    ksummin = rice->k ? (1 << rice->k + 6) : 0;

    for (; i < blockstodecode; i++) {

        out[i] = get_rice_ook(&ctx->gb, rice->k);

        rice->ksum += out[i] - out[i - 64];

        while (rice->ksum < ksummin) {

            rice->k--;

            ksummin = rice->k ? ksummin >> 1 : 0;

            ksummax >>= 1;

        }

        while (rice->ksum >= ksummax) {

            rice->k++;

            if (rice->k > 24)


            ksummax <<= 1;

            ksummin = ksummin ? ksummin << 1 : 128;

        }

    }



    for (i = 0; i < blockstodecode; i++) {

        if (out[i] & 1)

            out[i] = (out[i] >> 1) + 1;

        else

            out[i] = -(out[i] >> 1);

    }

}
static void FUNC_0(APEContext *VAR_0, GetBitContext *VAR_1,

                              int32_t *VAR_2, APERice *VAR_3, int VAR_4)

{

    int VAR_5;

    int VAR_6, VAR_7;



    VAR_3->ksum = 0;

    for (VAR_5 = 0; VAR_5 < 5; VAR_5++) {

        VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, 10);

        VAR_3->ksum += VAR_2[VAR_5];

    }

    VAR_3->k = av_log2(VAR_3->ksum / 10) + 1;



    for (; VAR_5 < 64; VAR_5++) {

        VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, VAR_3->k);

        VAR_3->ksum += VAR_2[VAR_5];

        VAR_3->k = av_log2(VAR_3->ksum / ((VAR_5 + 1) * 2)) + 1;



    }

    VAR_6 = 1 << VAR_3->k + 7;

    VAR_7 = VAR_3->k ? (1 << VAR_3->k + 6) : 0;

    for (; VAR_5 < VAR_4; VAR_5++) {

        VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, VAR_3->k);

        VAR_3->ksum += VAR_2[VAR_5] - VAR_2[VAR_5 - 64];

        while (VAR_3->ksum < VAR_7) {

            VAR_3->k--;

            VAR_7 = VAR_3->k ? VAR_7 >> 1 : 0;

            VAR_6 >>= 1;

        }

        while (VAR_3->ksum >= VAR_6) {

            VAR_3->k++;

            if (VAR_3->k > 24)


            VAR_6 <<= 1;

            VAR_7 = VAR_7 ? VAR_7 << 1 : 128;

        }

    }



    for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++) {

        if (VAR_2[VAR_5] & 1)

            VAR_2[VAR_5] = (VAR_2[VAR_5] >> 1) + 1;

        else

            VAR_2[VAR_5] = -(VAR_2[VAR_5] >> 1);

    }

}
static void FUNC_0(APEContext *VAR_0, GetBitContext *VAR_1,
int32_t *VAR_2, APERice *VAR_3, int VAR_4)
{ int VAR_5; int VAR_6, VAR_7; VAR_3->ksum = 0; for (VAR_5 = 0; VAR_5 < 5; VAR_5++) { VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, 10); VAR_3->ksum += VAR_2[VAR_5]; } VAR_3->k = av_log2(VAR_3->ksum / 10) + 1; for (; VAR_5 < 64; VAR_5++) { VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, VAR_3->k); VAR_3->ksum += VAR_2[VAR_5]; VAR_3->k = av_log2(VAR_3->ksum / ((VAR_5 + 1) * 2)) + 1; } VAR_6 = 1 << VAR_3->k + 7; VAR_7 = VAR_3->k ? (1 << VAR_3->k + 6) : 0; for (; VAR_5 < VAR_4; VAR_5++) { VAR_2[VAR_5] = get_rice_ook(&VAR_0->VAR_1, VAR_3->k); VAR_3->ksum += VAR_2[VAR_5] - VAR_2[VAR_5 - 64]; while (VAR_3->ksum < VAR_7) { VAR_3->k--; VAR_7 = VAR_3->k ? VAR_7 >> 1 : 0; VAR_6 >>= 1; } while (VAR_3->ksum >= VAR_6) { VAR_3->k++; if (VAR_3->k > 24)
VAR_6 <<= 1; VAR_7 = VAR_7 ? VAR_7 << 1 : 128; } } for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++) { if (VAR_2[VAR_5] & 1)
VAR_2[VAR_5] = (VAR_2[VAR_5] >> 1) + 1; else
VAR_2[VAR_5] = -(VAR_2[VAR_5] >> 1); } }