diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-06-16 18:46:14 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-06-16 19:10:32 +0200 |
commit | f7f96cf4bcc369730bb945e993bec53881e212f5 (patch) | |
tree | 82ffc813726fb8ded2e511cd2f603b5326ab29c4 | |
parent | 600cbf367231b187c6d7194810c3b350f8fa1d39 (diff) | |
download | ffmpeg-f7f96cf4bcc369730bb945e993bec53881e212f5.tar.gz |
avcodec/bitstream: fill invalid vlc tables entries as last pass instead of first
This avoids writing entries twice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/bitstream.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index 2d3f6067d3..c61243e7a6 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -174,11 +174,6 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes, return table_index; table = &vlc->table[table_index]; - for (i = 0; i < table_size; i++) { - table[i][1] = 0; //bits - table[i][0] = -1; //codes - } - /* first pass: map codes and compute auxiliary table sizes */ for (i = 0; i < nb_codes; i++) { n = codes[i].bits; @@ -237,6 +232,12 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes, i = k-1; } } + + for (i = 0; i < table_size; i++) { + if (table[i][1] == 0) //bits + table[i][0] = -1; //codes + } + return table_index; } |