mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
commit
82c7d704fd
@ -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…
Reference in New Issue
Block a user