| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -760,68 +760,73 @@ static void init_h263_dc_for_msmpeg4(void) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			/* init all vlc decoding tables */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			int msmpeg4_decode_init_vlc(MpegEncContext *s) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    static int done = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int i; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    MVTable *mv; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    for(i=0;i<NB_RL_TABLES;i++) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_rl(&rl_table[i]); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc_rl(&rl_table[i]); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    for(i=0;i<2;i++) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mv = &mv_tables[i]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&mv->vlc, 9, mv->n + 1,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 mv->table_mv_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 mv->table_mv_code, 2, 2); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&dc_lum_vlc[0], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table0_dc_lum[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table0_dc_lum[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&dc_chroma_vlc[0], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table0_dc_chroma[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table0_dc_chroma[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&dc_lum_vlc[1], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table1_dc_lum[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table1_dc_lum[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&dc_chroma_vlc[1], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table1_dc_chroma[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table1_dc_chroma[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!done) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        done = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        for(i=0;i<NB_RL_TABLES;i++) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            init_rl(&rl_table[i]); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            init_vlc_rl(&rl_table[i]); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        for(i=0;i<2;i++) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mv = &mv_tables[i]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            init_vlc(&mv->vlc, 9, mv->n + 1,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                     mv->table_mv_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                     mv->table_mv_code, 2, 2); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&dc_lum_vlc[0], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table0_dc_lum[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table0_dc_lum[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&dc_chroma_vlc[0], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table0_dc_chroma[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table0_dc_chroma[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&dc_lum_vlc[1], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table1_dc_lum[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table1_dc_lum[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&dc_chroma_vlc[1], 9, 120,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table1_dc_chroma[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table1_dc_chroma[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_h263_dc_for_msmpeg4(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v2_dc_lum_vlc, 9, 512,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_dc_lum_table[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_dc_lum_table[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v2_dc_chroma_vlc, 9, 512,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_dc_chroma_table[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_dc_chroma_table[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_h263_dc_for_msmpeg4(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v2_dc_lum_vlc, 9, 512,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_dc_lum_table[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_dc_lum_table[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v2_dc_chroma_vlc, 9, 512,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_dc_chroma_table[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_dc_chroma_table[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&cbpy_vlc, 6, 16, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &cbpy_tab[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &cbpy_tab[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v2_intra_cbpc_vlc, 3, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_intra_cbpc[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_intra_cbpc[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v2_mb_type_vlc, 5, 8, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_mb_type[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &v2_mb_type[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v2_mv_vlc, 9, 33, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &mvtab[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &mvtab[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&mb_non_intra_vlc, 9, 128,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table_mb_non_intra[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table_mb_non_intra[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&mb_intra_vlc, 9, 64,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table_mb_intra[0][1], 4, 2, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             &table_mb_intra[0][0], 4, 2); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&cbpy_vlc, 6, 16, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &cbpy_tab[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &cbpy_tab[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v2_intra_cbpc_vlc, 3, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_intra_cbpc[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_intra_cbpc[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v2_mb_type_vlc, 5, 8, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_mb_type[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &v2_mb_type[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v2_mv_vlc, 9, 33, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &mvtab[0][1], 2, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &mvtab[0][0], 2, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&mb_non_intra_vlc, 9, 128,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table_mb_non_intra[0][1], 8, 4, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table_mb_non_intra[0][0], 8, 4); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&mb_intra_vlc, 9, 64,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table_mb_intra[0][1], 4, 2, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 &table_mb_intra[0][0], 4, 2); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			         | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v1_intra_cbpc_vlc, 6, 8,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             intra_MCBPC_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             intra_MCBPC_code, 1, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    init_vlc(&v1_inter_cbpc_vlc, 6, 25,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             inter_MCBPC_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             inter_MCBPC_code, 1, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v1_intra_cbpc_vlc, 6, 8,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 intra_MCBPC_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 intra_MCBPC_code, 1, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        init_vlc(&v1_inter_cbpc_vlc, 6, 25,  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 inter_MCBPC_bits, 1, 1, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 inter_MCBPC_code, 1, 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |