More token decode optimizations.
authorTim Terriberry <tterribe@xiph.org>
Tue, 4 Aug 2009 04:47:16 +0000 (04:47 +0000)
committerTim Terriberry <tterribe@xiph.org>
Tue, 4 Aug 2009 04:47:16 +0000 (04:47 +0000)
commit32a09eeffb00f31dbff84d886a82b86e4c57f0cb
tree1156813bbb28c9c801f29c074d94014eb3216474
parent7666fa88871aac118fede175fe973472741e17f6
More token decode optimizations.
Reorder the bits in the code words so that rlen gets the lower 8 bits (and can
 thus be extracted by a movzb).
Change OC_DCT_TOKEN_EB_POS() to use bitops instead of ternary operators, so
 that gcc can't possibly decide to use branches for it.
Reorder the tokens to remove gaps in the table (saving a miniscule amount of
 cache) and so that the OC_DCT_TOKEN_EB_POS returns zero for tokens which
 do not require any extra bits (to make Gumboot happy).
Reduce the size of OC_DCT_TOKEN_MAP by a factor of 8.
On x86-32, this gives an additional 2.5% for low-bitrate HD content and 3.1%
 for high-bitrate HD content.

svn path=/branches/theora-thusnelda/; revision=16408
lib/dec/decode.c
lib/dec/huffdec.c