Another micro-optimization for unpack_vlcs(): Eliminate a possible

branch and save around 45k-55k dezicycles per function run.

Originally committed as revision 19974 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Mike Melanson 15 years ago
parent 4c0dda2b3f
commit 428984b041
  1. 7
      libavcodec/vp3.c

@ -1070,10 +1070,9 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
coeff = zero_run = 0;
} else {
bits_to_get = coeff_get_bits[token];
if (!bits_to_get)
coeff = coeff_tables[token][0];
else
coeff = coeff_tables[token][get_bits(gb, bits_to_get)];
if (bits_to_get)
bits_to_get = get_bits(gb, bits_to_get);
coeff = coeff_tables[token][bits_to_get];
zero_run = zero_run_base[token];
if (zero_run_get_bits[token])

Loading…
Cancel
Save