[FFmpeg-cvslog] r24687 - in trunk/libavcodec: vp8.c vp8data.h
darkshikari
subversion
Wed Aug 4 01:21:48 CEST 2010
Author: darkshikari
Date: Wed Aug 4 01:21:47 2010
New Revision: 24687
Log:
VP8: slightly faster DCT coefficient probability update
Modified:
trunk/libavcodec/vp8.c
trunk/libavcodec/vp8data.h
Modified: trunk/libavcodec/vp8.c
==============================================================================
--- trunk/libavcodec/vp8.c Wed Aug 4 00:29:38 2010 (r24686)
+++ trunk/libavcodec/vp8.c Wed Aug 4 01:21:47 2010 (r24687)
@@ -494,9 +494,8 @@ static int decode_frame_header(VP8Contex
for (l = 0; l < NUM_DCT_TOKENS-1; l++)
if (vp56_rac_get_prob_branchy(c, vp8_token_update_probs[i][j][k][l])) {
int prob = vp8_rac_get_uint(c, 8);
- for (m = 0; m < 16; m++)
- if (vp8_coeff_band[m] == j)
- s->prob->token[i][m][k][l] = prob;
+ for (m = 0; vp8_coeff_band_indexes[j][m] >= 0; m++)
+ s->prob->token[i][vp8_coeff_band_indexes[j][m]][k][l] = prob;
}
if ((s->mbskip_enabled = vp8_rac_get(c)))
Modified: trunk/libavcodec/vp8data.h
==============================================================================
--- trunk/libavcodec/vp8data.h Wed Aug 4 00:29:38 2010 (r24686)
+++ trunk/libavcodec/vp8data.h Wed Aug 4 01:21:47 2010 (r24687)
@@ -293,6 +293,20 @@ static const uint8_t vp8_coeff_band[16]
0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7
};
+/* Inverse of vp8_coeff_band: mappings of bands to coefficient indexes.
+ * Each list is -1-terminated. */
+static const int8_t vp8_coeff_band_indexes[8][10] =
+{
+ {0, -1},
+ {1, -1},
+ {2, -1},
+ {3, -1},
+ {5, -1},
+ {6, -1},
+ {4, 7, 8, 9, 10, 11, 12, 13, 14, -1},
+ {15, -1}
+};
+
static const uint8_t vp8_dct_cat1_prob[] = { 159, 0 };
static const uint8_t vp8_dct_cat2_prob[] = { 165, 145, 0 };
static const uint8_t vp8_dct_cat3_prob[] = { 173, 148, 140, 0 };
More information about the ffmpeg-cvslog
mailing list