comparison vp6.c @ 12365:7c54834209f6 libavcodec

VP5/6/8: eliminate CABAC dependency Create a custom table for VP5/6/8's renorm to avoid depending on H.264's. Saves one instruction in the arithmetic decoder as well.
author darkshikari
date Wed, 04 Aug 2010 23:04:05 +0000
parents 83400282990a
children 9f06475db098
comparison
equal deleted inserted replaced
12364:2e96cab6ecde 12365:7c54834209f6
85 s->avctx->height -= s->avctx->extradata[0] & 0x0F; 85 s->avctx->height -= s->avctx->extradata[0] & 0x0F;
86 } 86 }
87 res = 2; 87 res = 2;
88 } 88 }
89 89
90 vp56_init_range_decoder(c, buf+6, buf_size-6); 90 ff_vp56_init_range_decoder(c, buf+6, buf_size-6);
91 vp56_rac_gets(c, 2); 91 vp56_rac_gets(c, 2);
92 92
93 parse_filter_info = s->filter_header; 93 parse_filter_info = s->filter_header;
94 if (sub_version < 8) 94 if (sub_version < 8)
95 vrt_shift = 5; 95 vrt_shift = 5;
101 if (separated_coeff || !s->filter_header) { 101 if (separated_coeff || !s->filter_header) {
102 coeff_offset = AV_RB16(buf+1) - 2; 102 coeff_offset = AV_RB16(buf+1) - 2;
103 buf += 2; 103 buf += 2;
104 buf_size -= 2; 104 buf_size -= 2;
105 } 105 }
106 vp56_init_range_decoder(c, buf+1, buf_size-1); 106 ff_vp56_init_range_decoder(c, buf+1, buf_size-1);
107 107
108 *golden_frame = vp56_rac_get(c); 108 *golden_frame = vp56_rac_get(c);
109 if (s->filter_header) { 109 if (s->filter_header) {
110 s->deblock_filtering = vp56_rac_get(c); 110 s->deblock_filtering = vp56_rac_get(c);
111 if (s->deblock_filtering) 111 if (s->deblock_filtering)
141 return 0; 141 return 0;
142 if (s->use_huffman) { 142 if (s->use_huffman) {
143 s->parse_coeff = vp6_parse_coeff_huffman; 143 s->parse_coeff = vp6_parse_coeff_huffman;
144 init_get_bits(&s->gb, buf, buf_size<<3); 144 init_get_bits(&s->gb, buf, buf_size<<3);
145 } else { 145 } else {
146 vp56_init_range_decoder(&s->cc, buf, buf_size); 146 ff_vp56_init_range_decoder(&s->cc, buf, buf_size);
147 s->ccp = &s->cc; 147 s->ccp = &s->cc;
148 } 148 }
149 } else { 149 } else {
150 s->ccp = &s->c; 150 s->ccp = &s->c;
151 } 151 }