Browse Source

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>
tags/n2.3
Michael Niedermayer 11 years ago
parent
commit
f7f96cf4bc
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      libavcodec/bitstream.c

+ 6
- 5
libavcodec/bitstream.c View File

@@ -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;
}



Loading…
Cancel
Save