comparison vc1.c @ 7136:7a73d76aaaa0 libavcodec

remove duplicate tables
author stefang
date Wed, 25 Jun 2008 11:33:49 +0000
parents e943e1409077
children 7e806e21c193
comparison
equal deleted inserted replaced
7135:6bd6a2da306e 7136:7a73d76aaaa0
781 v->zz_4x8 = ff_vc1_adv_progressive_4x8_zz; 781 v->zz_4x8 = ff_vc1_adv_progressive_4x8_zz;
782 return decode_sequence_header_adv(v, gb); 782 return decode_sequence_header_adv(v, gb);
783 } 783 }
784 else 784 else
785 { 785 {
786 v->zz_8x4 = ff_vc1_simple_progressive_8x4_zz; 786 v->zz_8x4 = wmv2_scantableA;
787 v->zz_4x8 = ff_vc1_simple_progressive_4x8_zz; 787 v->zz_4x8 = wmv2_scantableB;
788 v->res_sm = get_bits(gb, 2); //reserved 788 v->res_sm = get_bits(gb, 2); //reserved
789 if (v->res_sm) 789 if (v->res_sm)
790 { 790 {
791 av_log(avctx, AV_LOG_ERROR, 791 av_log(avctx, AV_LOG_ERROR,
792 "Reserved RES_SM=%i is forbidden\n", v->res_sm); 792 "Reserved RES_SM=%i is forbidden\n", v->res_sm);
2396 2396
2397 scale = v->pq * 2 + v->halfpq; 2397 scale = v->pq * 2 + v->halfpq;
2398 2398
2399 if(v->s.ac_pred) { 2399 if(v->s.ac_pred) {
2400 if(!dc_pred_dir) 2400 if(!dc_pred_dir)
2401 zz_table = ff_vc1_horizontal_zz; 2401 zz_table = wmv1_scantable[2];
2402 else 2402 else
2403 zz_table = ff_vc1_vertical_zz; 2403 zz_table = wmv1_scantable[3];
2404 } else 2404 } else
2405 zz_table = ff_vc1_normal_zz; 2405 zz_table = wmv1_scantable[1];
2406 2406
2407 ac_val = s->ac_val[0][0] + s->block_index[n] * 16; 2407 ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
2408 ac_val2 = ac_val; 2408 ac_val2 = ac_val;
2409 if(dc_pred_dir) //left 2409 if(dc_pred_dir) //left
2410 ac_val -= 16; 2410 ac_val -= 16;
2579 const int8_t *zz_table; 2579 const int8_t *zz_table;
2580 int k; 2580 int k;
2581 2581
2582 if(v->s.ac_pred) { 2582 if(v->s.ac_pred) {
2583 if(!dc_pred_dir) 2583 if(!dc_pred_dir)
2584 zz_table = ff_vc1_horizontal_zz; 2584 zz_table = wmv1_scantable[2];
2585 else 2585 else
2586 zz_table = ff_vc1_vertical_zz; 2586 zz_table = wmv1_scantable[3];
2587 } else 2587 } else
2588 zz_table = ff_vc1_normal_zz; 2588 zz_table = wmv1_scantable[1];
2589 2589
2590 while (!last) { 2590 while (!last) {
2591 vc1_decode_ac_coeff(v, &last, &skip, &value, codingset); 2591 vc1_decode_ac_coeff(v, &last, &skip, &value, codingset);
2592 i += skip; 2592 i += skip;
2593 if(i > 63) 2593 if(i > 63)
2784 if(coded) { 2784 if(coded) {
2785 int last = 0, skip, value; 2785 int last = 0, skip, value;
2786 const int8_t *zz_table; 2786 const int8_t *zz_table;
2787 int k; 2787 int k;
2788 2788
2789 zz_table = ff_vc1_simple_progressive_8x8_zz; 2789 zz_table = wmv1_scantable[0];
2790 2790
2791 while (!last) { 2791 while (!last) {
2792 vc1_decode_ac_coeff(v, &last, &skip, &value, codingset); 2792 vc1_decode_ac_coeff(v, &last, &skip, &value, codingset);
2793 i += skip; 2793 i += skip;
2794 if(i > 63) 2794 if(i > 63)
2926 while (!last) { 2926 while (!last) {
2927 vc1_decode_ac_coeff(v, &last, &skip, &value, v->codingset2); 2927 vc1_decode_ac_coeff(v, &last, &skip, &value, v->codingset2);
2928 i += skip; 2928 i += skip;
2929 if(i > 63) 2929 if(i > 63)
2930 break; 2930 break;
2931 idx = ff_vc1_simple_progressive_8x8_zz[i++]; 2931 idx = wmv1_scantable[0][i++];
2932 block[idx] = value * scale; 2932 block[idx] = value * scale;
2933 if(!v->pquantizer) 2933 if(!v->pquantizer)
2934 block[idx] += (block[idx] < 0) ? -mquant : mquant; 2934 block[idx] += (block[idx] < 0) ? -mquant : mquant;
2935 } 2935 }
2936 if(!skip_block){ 2936 if(!skip_block){