diff options
author | Scott LaVarnway <slavarnway@google.com> | 2011-06-20 14:44:16 -0400 |
---|---|---|
committer | Scott LaVarnway <slavarnway@google.com> | 2011-06-20 14:44:16 -0400 |
commit | 67a1f98c2c4b4f60df5150e350ea573cd401c612 (patch) | |
tree | da3036e9e1b554f6a9382c5babbaf7d30cca8067 /vp8 | |
parent | a60fc419f50eefbef568ceecb93233471e894fa5 (diff) | |
download | libvpx-67a1f98c2c4b4f60df5150e350ea573cd401c612.tar libvpx-67a1f98c2c4b4f60df5150e350ea573cd401c612.tar.gz libvpx-67a1f98c2c4b4f60df5150e350ea573cd401c612.tar.bz2 libvpx-67a1f98c2c4b4f60df5150e350ea573cd401c612.zip |
Improved vp8dx_decode_bool
Relocated the vp8dx_bool_decoder_fill() call, allowing
the compiler to produce better assembly code. Tests
showed a 1 - 2 % performance boost (x86 using gcc)
for the 720p clip used.
Change-Id: Ic5a4eefed8777e6eefa007d4f12dfc7e64482732
Diffstat (limited to 'vp8')
-rw-r--r-- | vp8/decoder/dboolhuff.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/vp8/decoder/dboolhuff.h b/vp8/decoder/dboolhuff.h index 5f6b211ea..f729837f9 100644 --- a/vp8/decoder/dboolhuff.h +++ b/vp8/decoder/dboolhuff.h @@ -81,11 +81,14 @@ static int vp8dx_decode_bool(BOOL_DECODER *br, int probability) { int count; unsigned int range; + split = 1 + (((br->range - 1) * probability) >> 8); + + if(br->count < 0) + vp8dx_bool_decoder_fill(br); + value = br->value; count = br->count; - range = br->range; - split = 1 + (((range - 1) * probability) >> 8); bigsplit = (VP8_BD_VALUE)split << (VP8_BD_VALUE_SIZE - 8); range = split; @@ -106,8 +109,7 @@ static int vp8dx_decode_bool(BOOL_DECODER *br, int probability) { br->value = value; br->count = count; br->range = range; - if(count < 0) - vp8dx_bool_decoder_fill(br); + return bit; } |