Eliminate a LUT in escape decoding in VP8 decode_block_coeffs
authorJason Garrett-Glaser <darkshikari@gmail.com>
Thu, 22 Jul 2010 22:08:09 +0000 (22:08 +0000)
committerJason Garrett-Glaser <darkshikari@gmail.com>
Thu, 22 Jul 2010 22:08:09 +0000 (22:08 +0000)
Originally committed as revision 24441 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vp8.c
libavcodec/vp8data.h

index 65d18ad..947d7c0 100644 (file)
@@ -803,7 +803,7 @@ static int decode_block_coeffs(VP56RangeCoder *c, DCTELEM block[16],
         else if (token >= DCT_CAT1) {
             int cat = token-DCT_CAT1;
             token = vp8_rac_get_coeff(c, vp8_dct_cat_prob[cat]);
-            token += vp8_dct_cat_offset[cat];
+            token += 3 + (2<<cat);
         }
 
         // after the first token, the non-zero prediction context becomes
index e8bd82d..80fa808 100644 (file)
@@ -361,8 +361,6 @@ static const uint8_t * const vp8_dct_cat_prob[6] =
     vp8_dct_cat6_prob,
 };
 
-static const uint8_t vp8_dct_cat_offset[6] = { 5, 7, 11, 19, 35, 67 };
-
 static const uint8_t vp8_token_default_probs[4][8][3][NUM_DCT_TOKENS-1] =
 {
     {