static int get_dimension(GetBitContext *gb, const int *dim)

{

    int t   = get_bits(gb, 3);

    int val = dim[t];

    if(val < 0)

        val = dim[get_bits1(gb) - val];

    if(!val){

        do{



            t = get_bits(gb, 8);

            val += t << 2;

        }while(t == 0xFF);

    }

    return val;

}
static int get_dimension(GetBitContext *gb, const int *dim)

{

    int t   = get_bits(gb, 3);

    int val = dim[t];

    if(val < 0)

        val = dim[get_bits1(gb) - val];

    if(!val){

        do{



            t = get_bits(gb, 8);

            val += t << 2;

        }while(t == 0xFF);

    }

    return val;

}
static int FUNC_0(GetBitContext *VAR_0, const int *VAR_1)

{

    int VAR_2   = get_bits(VAR_0, 3);

    int VAR_3 = VAR_1[VAR_2];

    if(VAR_3 < 0)

        VAR_3 = VAR_1[get_bits1(VAR_0) - VAR_3];

    if(!VAR_3){

        do{



            VAR_2 = get_bits(VAR_0, 8);

            VAR_3 += VAR_2 << 2;

        }while(VAR_2 == 0xFF);

    }

    return VAR_3;

}
static int FUNC_0(GetBitContext *VAR_0, const int *VAR_1)
{ int VAR_2   = get_bits(VAR_0, 3); int VAR_3 = VAR_1[VAR_2]; if(VAR_3 < 0)
VAR_3 = VAR_1[get_bits1(VAR_0) - VAR_3]; if(!VAR_3){ do{ VAR_2 = get_bits(VAR_0, 8); VAR_3 += VAR_2 << 2; }while(VAR_2 == 0xFF); } return VAR_3; }