static int read_mv_component(VP56RangeCoder *c, const uint8_t *p)

{

    int bit, x = 0;



    if (vp56_rac_get_prob_branchy(c, p[0])) {

        int i;



        for (i = 0; i < 3; i++)

            x += vp56_rac_get_prob(c, p[9 + i]) << i;

        for (i = 9; i > 3; i--)

            x += vp56_rac_get_prob(c, p[9 + i]) << i;

        if (!(x & 0xFFF0) || vp56_rac_get_prob(c, p[12]))

            x += 8;

    } else {

        // small_mvtree

        const uint8_t *ps = p + 2;

        bit = vp56_rac_get_prob(c, *ps);

        ps += 1 + 3 * bit;

        x  += 4 * bit;

        bit = vp56_rac_get_prob(c, *ps);

        ps += 1 + bit;

        x  += 2 * bit;

        x  += vp56_rac_get_prob(c, *ps);

    }



    return (x && vp56_rac_get_prob(c, p[1])) ? -x : x;

}

static int read_mv_component(VP56RangeCoder *c, const uint8_t *p)

{

    int bit, x = 0;



    if (vp56_rac_get_prob_branchy(c, p[0])) {

        int i;



        for (i = 0; i < 3; i++)

            x += vp56_rac_get_prob(c, p[9 + i]) << i;

        for (i = 9; i > 3; i--)

            x += vp56_rac_get_prob(c, p[9 + i]) << i;

        if (!(x & 0xFFF0) || vp56_rac_get_prob(c, p[12]))

            x += 8;

    } else {

        

        const uint8_t *ps = p + 2;

        bit = vp56_rac_get_prob(c, *ps);

        ps += 1 + 3 * bit;

        x  += 4 * bit;

        bit = vp56_rac_get_prob(c, *ps);

        ps += 1 + bit;

        x  += 2 * bit;

        x  += vp56_rac_get_prob(c, *ps);

    }



    return (x && vp56_rac_get_prob(c, p[1])) ? -x : x;

}

static int read_mv_component(VP56RangeCoder *c, const uint8_t *p)         for (i = 9; i > 3; i--)         if (!(x & 0xFFF0) || vp56_rac_get_prob(c, p[12]))
static int FUNC_0(VP56RangeCoder *VAR_0, const uint8_t *VAR_1)

{

    int VAR_2, VAR_3 = 0;



    if (vp56_rac_get_prob_branchy(VAR_0, VAR_1[0])) {

        int VAR_4;



        for (VAR_4 = 0; VAR_4 < 3; VAR_4++)

            VAR_3 += vp56_rac_get_prob(VAR_0, VAR_1[9 + VAR_4]) << VAR_4;

        for (VAR_4 = 9; VAR_4 > 3; VAR_4--)

            VAR_3 += vp56_rac_get_prob(VAR_0, VAR_1[9 + VAR_4]) << VAR_4;

        if (!(VAR_3 & 0xFFF0) || vp56_rac_get_prob(VAR_0, VAR_1[12]))

            VAR_3 += 8;

    } else {

        

        const uint8_t *VAR_5 = VAR_1 + 2;

        VAR_2 = vp56_rac_get_prob(VAR_0, *VAR_5);

        VAR_5 += 1 + 3 * VAR_2;

        VAR_3  += 4 * VAR_2;

        VAR_2 = vp56_rac_get_prob(VAR_0, *VAR_5);

        VAR_5 += 1 + VAR_2;

        VAR_3  += 2 * VAR_2;

        VAR_3  += vp56_rac_get_prob(VAR_0, *VAR_5);

    }



    return (VAR_3 && vp56_rac_get_prob(VAR_0, VAR_1[1])) ? -VAR_3 : VAR_3;

}

static int FUNC_0(VP56RangeCoder *VAR_0, const uint8_t *VAR_1)
{ int VAR_2, VAR_3 = 0; if (vp56_rac_get_prob_branchy(VAR_0, VAR_1[0])) { int VAR_4; for (VAR_4 = 0; VAR_4 < 3; VAR_4++) VAR_3 += vp56_rac_get_prob(VAR_0, VAR_1[9 + VAR_4]) << VAR_4; for (VAR_4 = 9; VAR_4 > 3; VAR_4--) VAR_3 += vp56_rac_get_prob(VAR_0, VAR_1[9 + VAR_4]) << VAR_4; if (!(VAR_3 & 0xFFF0) || vp56_rac_get_prob(VAR_0, VAR_1[12]))
VAR_3 += 8; } else { const uint8_t *VAR_5 = VAR_1 + 2; VAR_2 = vp56_rac_get_prob(VAR_0, *VAR_5); VAR_5 += 1 + 3 * VAR_2; VAR_3  += 4 * VAR_2; VAR_2 = vp56_rac_get_prob(VAR_0, *VAR_5); VAR_5 += 1 + VAR_2; VAR_3  += 2 * VAR_2; VAR_3  += vp56_rac_get_prob(VAR_0, *VAR_5); } return (VAR_3 && vp56_rac_get_prob(VAR_0, VAR_1[1])) ? -VAR_3 : VAR_3; }