static void init_uni_ac_vlc(RLTable *rl, uint8_t *uni_ac_vlc_len){

    int i;



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

        int level= i-64;

        int run;



        for(run=0; run<64; run++){

            int len, bits, code;



            int alevel= FFABS(level);

            int sign= (level>>31)&1;



            if (alevel > rl->max_level[0][run])

                code= 111; /*rl->n*/

            else

                code= rl->index_run[0][run] + alevel - 1;



            if (code < 111 /* rl->n */) {

                /* store the vlc & sign at once */

                len=   rl->table_vlc[code][1]+1;

                bits= (rl->table_vlc[code][0]<<1) + sign;

            } else {

                len=  rl->table_vlc[111/*rl->n*/][1]+6;

                bits= rl->table_vlc[111/*rl->n*/][0]<<6;



                bits|= run;

                if (alevel < 128) {

                    bits<<=8; len+=8;

                    bits|= level & 0xff;

                } else {

                    bits<<=16; len+=16;

                    bits|= level & 0xff;

                    if (level < 0) {

                        bits|= 0x8001 + level + 255;

                    } else {

                        bits|= level & 0xffff;

                    }

                }

            }



            uni_ac_vlc_len [UNI_AC_ENC_INDEX(run, i)]= len;

        }

    }

}
static void init_uni_ac_vlc(RLTable *rl, uint8_t *uni_ac_vlc_len){

    int i;



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

        int level= i-64;

        int run;



        for(run=0; run<64; run++){

            int len, bits, code;



            int alevel= FFABS(level);

            int sign= (level>>31)&1;



            if (alevel > rl->max_level[0][run])

                code= 111; 

            else

                code= rl->index_run[0][run] + alevel - 1;



            if (code < 111 ) {

                

                len=   rl->table_vlc[code][1]+1;

                bits= (rl->table_vlc[code][0]<<1) + sign;

            } else {

                len=  rl->table_vlc[111][1]+6;

                bits= rl->table_vlc[111][0]<<6;



                bits|= run;

                if (alevel < 128) {

                    bits<<=8; len+=8;

                    bits|= level & 0xff;

                } else {

                    bits<<=16; len+=16;

                    bits|= level & 0xff;

                    if (level < 0) {

                        bits|= 0x8001 + level + 255;

                    } else {

                        bits|= level & 0xffff;

                    }

                }

            }



            uni_ac_vlc_len [UNI_AC_ENC_INDEX(run, i)]= len;

        }

    }

}
static void FUNC_0(RLTable *VAR_0, uint8_t *VAR_1){

    int VAR_2;



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

        int VAR_3= VAR_2-64;

        int VAR_4;



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

            int VAR_5, VAR_6, VAR_7;



            int VAR_8= FFABS(VAR_3);

            int VAR_9= (VAR_3>>31)&1;



            if (VAR_8 > VAR_0->max_level[0][VAR_4])

                VAR_7= 111; 

            else

                VAR_7= VAR_0->index_run[0][VAR_4] + VAR_8 - 1;



            if (VAR_7 < 111 ) {

                

                VAR_5=   VAR_0->table_vlc[VAR_7][1]+1;

                VAR_6= (VAR_0->table_vlc[VAR_7][0]<<1) + VAR_9;

            } else {

                VAR_5=  VAR_0->table_vlc[111][1]+6;

                VAR_6= VAR_0->table_vlc[111][0]<<6;



                VAR_6|= VAR_4;

                if (VAR_8 < 128) {

                    VAR_6<<=8; VAR_5+=8;

                    VAR_6|= VAR_3 & 0xff;

                } else {

                    VAR_6<<=16; VAR_5+=16;

                    VAR_6|= VAR_3 & 0xff;

                    if (VAR_3 < 0) {

                        VAR_6|= 0x8001 + VAR_3 + 255;

                    } else {

                        VAR_6|= VAR_3 & 0xffff;

                    }

                }

            }



            VAR_1 [UNI_AC_ENC_INDEX(VAR_4, VAR_2)]= VAR_5;

        }

    }

}
static void FUNC_0(RLTable *VAR_0, uint8_t *VAR_1){ int VAR_2; for(VAR_2=0; VAR_2<128; VAR_2++){ int VAR_3= VAR_2-64; int VAR_4; for(VAR_4=0; VAR_4<64; VAR_4++){ int VAR_5, VAR_6, VAR_7; int VAR_8= FFABS(VAR_3); int VAR_9= (VAR_3>>31)&1; if (VAR_8 > VAR_0->max_level[0][VAR_4])
VAR_7= 111; else
VAR_7= VAR_0->index_run[0][VAR_4] + VAR_8 - 1; if (VAR_7 < 111 ) { VAR_5=   VAR_0->table_vlc[VAR_7][1]+1; VAR_6= (VAR_0->table_vlc[VAR_7][0]<<1) + VAR_9; } else { VAR_5=  VAR_0->table_vlc[111][1]+6; VAR_6= VAR_0->table_vlc[111][0]<<6; VAR_6|= VAR_4; if (VAR_8 < 128) { VAR_6<<=8; VAR_5+=8; VAR_6|= VAR_3 & 0xff; } else { VAR_6<<=16; VAR_5+=16; VAR_6|= VAR_3 & 0xff; if (VAR_3 < 0) { VAR_6|= 0x8001 + VAR_3 + 255; } else { VAR_6|= VAR_3 & 0xffff; } } } VAR_1 [UNI_AC_ENC_INDEX(VAR_4, VAR_2)]= VAR_5; } } }