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