summaryrefslogtreecommitdiff
path: root/libavcodec/cabac.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-08-11 12:14:44 +0200
committerAnton Khirnov <anton@khirnov.net>2013-09-24 17:13:52 +0200
commitcab8c5f8e140c96ba3725ab709d823abfd1e31a5 (patch)
tree1a6907e0bed1ed80cb18ac299be2f16b4ab5a45f /libavcodec/cabac.c
parente880418660c80e2f12a123e131975cdb6b12cd13 (diff)
h264: do not reinitialize the global cabac tables at each slice header
Diffstat (limited to 'libavcodec/cabac.c')
-rw-r--r--libavcodec/cabac.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c
index 50f086e6f3..e1cd811b70 100644
--- a/libavcodec/cabac.c
+++ b/libavcodec/cabac.c
@@ -137,6 +137,10 @@ void ff_init_cabac_decoder(CABACContext *c, const uint8_t *buf, int buf_size){
void ff_init_cabac_states(void)
{
int i, j;
+ static int initialized = 0;
+
+ if (initialized)
+ return;
for(i=0; i<64; i++){
for(j=0; j<4; j++){ //FIXME check if this is worth the 1 shift we save
@@ -158,4 +162,6 @@ void ff_init_cabac_states(void)
for(i=0; i< 63; i++){
ff_h264_last_coeff_flag_offset_8x8[i] = last_coeff_flag_offset_8x8[i];
}
+
+ initialized = 1;
}