Mercurial > libavcodec.hg
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){ |