void init_vlc_rl(RLTable *rl)

{

    int i, q;

    

    init_vlc(&rl->vlc, 9, rl->n + 1, 

             &rl->table_vlc[0][1], 4, 2,

             &rl->table_vlc[0][0], 4, 2);



    

    for(q=0; q<32; q++){

        int qmul= q*2;

        int qadd= (q-1)|1;

        

        if(q==0){

            qmul=1;

            qadd=0;

        }

        

        rl->rl_vlc[q]= av_malloc(rl->vlc.table_size*sizeof(RL_VLC_ELEM));

        for(i=0; i<rl->vlc.table_size; i++){

            int code= rl->vlc.table[i][0];

            int len = rl->vlc.table[i][1];

            int level, run;

        

            if(len==0){ // illegal code

                run= 66;

                level= MAX_LEVEL;

            }else if(len<0){ //more bits needed

                run= 0;

                level= code;

            }else{

                if(code==rl->n){ //esc

                    run= 66;

                    level= 0;

                }else{

                    run=   rl->table_run  [code] + 1;

                    level= rl->table_level[code] * qmul + qadd;

                    if(code >= rl->last) run+=192;

                }

            }

            rl->rl_vlc[q][i].len= len;

            rl->rl_vlc[q][i].level= level;

            rl->rl_vlc[q][i].run= run;

        }

    }

}

void init_vlc_rl(RLTable *rl)

{

    int i, q;

    

    init_vlc(&rl->vlc, 9, rl->n + 1, 

             &rl->table_vlc[0][1], 4, 2,

             &rl->table_vlc[0][0], 4, 2);



    

    for(q=0; q<32; q++){

        int qmul= q*2;

        int qadd= (q-1)|1;

        

        if(q==0){

            qmul=1;

            qadd=0;

        }

        

        rl->rl_vlc[q]= av_malloc(rl->vlc.table_size*sizeof(RL_VLC_ELEM));

        for(i=0; i<rl->vlc.table_size; i++){

            int code= rl->vlc.table[i][0];

            int len = rl->vlc.table[i][1];

            int level, run;

        

            if(len==0){ 

                run= 66;

                level= MAX_LEVEL;

            }else if(len<0){ 

                run= 0;

                level= code;

            }else{

                if(code==rl->n){ 

                    run= 66;

                    level= 0;

                }else{

                    run=   rl->table_run  [code] + 1;

                    level= rl->table_level[code] * qmul + qadd;

                    if(code >= rl->last) run+=192;

                }

            }

            rl->rl_vlc[q][i].len= len;

            rl->rl_vlc[q][i].level= level;

            rl->rl_vlc[q][i].run= run;

        }

    }

}

void init_vlc_rl(RLTable *rl)              &rl->table_vlc[0][0], 4, 2);         rl->rl_vlc[q]= av_malloc(rl->vlc.table_size*sizeof(RL_VLC_ELEM));              &rl->table_vlc[0][0], 4, 2);
void FUNC_0(RLTable *VAR_0)

{

    int VAR_1, VAR_2;

    

    init_vlc(&VAR_0->vlc, 9, VAR_0->n + 1, 

             &VAR_0->table_vlc[0][1], 4, 2,

             &VAR_0->table_vlc[0][0], 4, 2);



    

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

        int VAR_3= VAR_2*2;

        int VAR_4= (VAR_2-1)|1;

        

        if(VAR_2==0){

            VAR_3=1;

            VAR_4=0;

        }

        

        VAR_0->rl_vlc[VAR_2]= av_malloc(VAR_0->vlc.table_size*sizeof(RL_VLC_ELEM));

        for(VAR_1=0; VAR_1<VAR_0->vlc.table_size; VAR_1++){

            int code= VAR_0->vlc.table[VAR_1][0];

            int len = VAR_0->vlc.table[VAR_1][1];

            int level, run;

        

            if(len==0){ 

                run= 66;

                level= MAX_LEVEL;

            }else if(len<0){ 

                run= 0;

                level= code;

            }else{

                if(code==VAR_0->n){ 

                    run= 66;

                    level= 0;

                }else{

                    run=   VAR_0->table_run  [code] + 1;

                    level= VAR_0->table_level[code] * VAR_3 + VAR_4;

                    if(code >= VAR_0->last) run+=192;

                }

            }

            VAR_0->rl_vlc[VAR_2][VAR_1].len= len;

            VAR_0->rl_vlc[VAR_2][VAR_1].level= level;

            VAR_0->rl_vlc[VAR_2][VAR_1].run= run;

        }

    }

}

void FUNC_0(RLTable *VAR_0)
{ int VAR_1, VAR_2; init_vlc(&VAR_0->vlc, 9, VAR_0->n + 1,
&VAR_0->table_vlc[0][1], 4, 2,
&VAR_0->table_vlc[0][0], 4, 2); for(VAR_2=0; VAR_2<32; VAR_2++){ int VAR_3= VAR_2*2; int VAR_4= (VAR_2-1)|1; if(VAR_2==0){ VAR_3=1; VAR_4=0; } VAR_0->rl_vlc[VAR_2]= av_malloc(VAR_0->vlc.table_size*sizeof(RL_VLC_ELEM)); for(VAR_1=0; VAR_1<VAR_0->vlc.table_size; VAR_1++){ int code= VAR_0->vlc.table[VAR_1][0]; int len = VAR_0->vlc.table[VAR_1][1]; int level, run; if(len==0){ run= 66; level= MAX_LEVEL; }else if(len<0){ run= 0; level= code; }else{ if(code==VAR_0->n){ run= 66; level= 0; }else{ run=   VAR_0->table_run  [code] + 1; level= VAR_0->table_level[code] * VAR_3 + VAR_4; if(code >= VAR_0->last) run+=192; } } VAR_0->rl_vlc[VAR_2][VAR_1].len= len; VAR_0->rl_vlc[VAR_2][VAR_1].level= level; VAR_0->rl_vlc[VAR_2][VAR_1].run= run; } } }