static int tm2_read_deltas(TM2Context *ctx, int stream_id)

{

    int d, mb;

    int i, v;



    d  = get_bits(&ctx->gb, 9);

    mb = get_bits(&ctx->gb, 5);



    av_assert2(mb < 32);

    if ((d < 1) || (d > TM2_DELTAS) || (mb < 1)) {

        av_log(ctx->avctx, AV_LOG_ERROR, "Incorrect delta table: %i deltas x %i bits\n", d, mb);

        return AVERROR_INVALIDDATA;

    }



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

        v = get_bits_long(&ctx->gb, mb);

        if (v & (1 << (mb - 1)))

            ctx->deltas[stream_id][i] = v - (1 << mb);

        else

            ctx->deltas[stream_id][i] = v;

    }

    for (; i < TM2_DELTAS; i++)

        ctx->deltas[stream_id][i] = 0;



    return 0;

}

static int tm2_read_deltas(TM2Context *ctx, int stream_id)

{

    int d, mb;

    int i, v;



    d  = get_bits(&ctx->gb, 9);

    mb = get_bits(&ctx->gb, 5);



    av_assert2(mb < 32);

    if ((d < 1) || (d > TM2_DELTAS) || (mb < 1)) {

        av_log(ctx->avctx, AV_LOG_ERROR, "Incorrect delta table: %i deltas x %i bits\n", d, mb);

        return AVERROR_INVALIDDATA;

    }



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

        v = get_bits_long(&ctx->gb, mb);

        if (v & (1 << (mb - 1)))

            ctx->deltas[stream_id][i] = v - (1 << mb);

        else

            ctx->deltas[stream_id][i] = v;

    }

    for (; i < TM2_DELTAS; i++)

        ctx->deltas[stream_id][i] = 0;



    return 0;

}

            ctx->deltas[stream_id][i] = v - (1 << mb);
static int FUNC_0(TM2Context *VAR_0, int VAR_1)

{

    int VAR_2, VAR_3;

    int VAR_4, VAR_5;



    VAR_2  = get_bits(&VAR_0->gb, 9);

    VAR_3 = get_bits(&VAR_0->gb, 5);



    av_assert2(VAR_3 < 32);

    if ((VAR_2 < 1) || (VAR_2 > TM2_DELTAS) || (VAR_3 < 1)) {

        av_log(VAR_0->avctx, AV_LOG_ERROR, "Incorrect delta table: %VAR_4 deltas x %VAR_4 bits\n", VAR_2, VAR_3);

        return AVERROR_INVALIDDATA;

    }



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

        VAR_5 = get_bits_long(&VAR_0->gb, VAR_3);

        if (VAR_5 & (1 << (VAR_3 - 1)))

            VAR_0->deltas[VAR_1][VAR_4] = VAR_5 - (1 << VAR_3);

        else

            VAR_0->deltas[VAR_1][VAR_4] = VAR_5;

    }

    for (; VAR_4 < TM2_DELTAS; VAR_4++)

        VAR_0->deltas[VAR_1][VAR_4] = 0;



    return 0;

}

static int FUNC_0(TM2Context *VAR_0, int VAR_1)
{ int VAR_2, VAR_3; int VAR_4, VAR_5; VAR_2  = get_bits(&VAR_0->gb, 9); VAR_3 = get_bits(&VAR_0->gb, 5); av_assert2(VAR_3 < 32); if ((VAR_2 < 1) || (VAR_2 > TM2_DELTAS) || (VAR_3 < 1)) { av_log(VAR_0->avctx, AV_LOG_ERROR, "Incorrect delta table: %VAR_4 deltas x %VAR_4 bits\n", VAR_2, VAR_3); return AVERROR_INVALIDDATA; } for (VAR_4 = 0; VAR_4 < VAR_2; VAR_4++) { VAR_5 = get_bits_long(&VAR_0->gb, VAR_3); if (VAR_5 & (1 << (VAR_3 - 1)))
VAR_0->deltas[VAR_1][VAR_4] = VAR_5 - (1 << VAR_3); else
VAR_0->deltas[VAR_1][VAR_4] = VAR_5; } for (; VAR_4 < TM2_DELTAS; VAR_4++) VAR_0->deltas[VAR_1][VAR_4] = 0; return 0; }