Merge remote-tracking branch 'qatar/master'

* qatar/master:
  webp: add a special case for a huffman table with only 1 symbol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/48/merge
Michael Niedermayer 11 years ago
commit 82c7d704fd
  1. 18
      libavcodec/webp.c

@ -277,10 +277,26 @@ static int huff_reader_get_symbol(HuffReader *r, GetBitContext *gb)
static int huff_reader_build_canonical(HuffReader *r, int *code_lengths,
int alphabet_size)
{
int len, sym, code, ret;
int len = 0, sym, code = 0, ret;
int max_code_length = 0;
uint16_t *codes;
/* special-case 1 symbol since the vlc reader cannot handle it */
for (sym = 0; sym < alphabet_size; sym++) {
if (code_lengths[sym] > 0) {
len++;
code = sym;
if (len > 1)
break;
}
}
if (len == 1) {
r->nb_symbols = 1;
r->simple_symbols[0] = code;
r->simple = 1;
return 0;
}
for (sym = 0; sym < alphabet_size; sym++)
max_code_length = FFMAX(max_code_length, code_lengths[sym]);

Loading…
Cancel
Save