comparison vp3.c @ 8770:f14d50df103f libavcodec

VP3: Do not ignore error from read_huffman_tree().
author alexc
date Mon, 09 Feb 2009 01:39:33 +0000
parents f973fff63599
children 043574c5c153
comparison
equal deleted inserted replaced
8769:6fc3497dc81f 8770:f14d50df103f
2012 av_log(avctx, AV_LOG_ERROR, "huffman tree overflow\n"); 2012 av_log(avctx, AV_LOG_ERROR, "huffman tree overflow\n");
2013 return -1; 2013 return -1;
2014 } 2014 }
2015 s->huff_code_size++; 2015 s->huff_code_size++;
2016 s->hbits <<= 1; 2016 s->hbits <<= 1;
2017 read_huffman_tree(avctx, gb); 2017 if (read_huffman_tree(avctx, gb))
2018 return -1;
2018 s->hbits |= 1; 2019 s->hbits |= 1;
2019 read_huffman_tree(avctx, gb); 2020 if (read_huffman_tree(avctx, gb))
2021 return -1;
2020 s->hbits >>= 1; 2022 s->hbits >>= 1;
2021 s->huff_code_size--; 2023 s->huff_code_size--;
2022 } 2024 }
2023 return 0; 2025 return 0;
2024 } 2026 }
2190 for (s->hti = 0; s->hti < 80; s->hti++) { 2192 for (s->hti = 0; s->hti < 80; s->hti++) {
2191 s->entries = 0; 2193 s->entries = 0;
2192 s->huff_code_size = 1; 2194 s->huff_code_size = 1;
2193 if (!get_bits1(gb)) { 2195 if (!get_bits1(gb)) {
2194 s->hbits = 0; 2196 s->hbits = 0;
2195 read_huffman_tree(avctx, gb); 2197 if(read_huffman_tree(avctx, gb))
2198 return -1;
2196 s->hbits = 1; 2199 s->hbits = 1;
2197 read_huffman_tree(avctx, gb); 2200 if(read_huffman_tree(avctx, gb))
2201 return -1;
2198 } 2202 }
2199 } 2203 }
2200 2204
2201 s->theora_tables = 1; 2205 s->theora_tables = 1;
2202 2206
2248 case 0x81: 2252 case 0x81:
2249 // FIXME: is this needed? it breaks sometimes 2253 // FIXME: is this needed? it breaks sometimes
2250 // theora_decode_comments(avctx, gb); 2254 // theora_decode_comments(avctx, gb);
2251 break; 2255 break;
2252 case 0x82: 2256 case 0x82:
2253 theora_decode_tables(avctx, &gb); 2257 if (theora_decode_tables(avctx, &gb))
2258 return -1;
2254 break; 2259 break;
2255 default: 2260 default:
2256 av_log(avctx, AV_LOG_ERROR, "Unknown Theora config packet: %d\n", ptype&~0x80); 2261 av_log(avctx, AV_LOG_ERROR, "Unknown Theora config packet: %d\n", ptype&~0x80);
2257 break; 2262 break;
2258 } 2263 }