aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/msmpeg4.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/msmpeg4.c')
-rw-r--r--libavcodec/msmpeg4.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c
index a8124172b6..62076d1409 100644
--- a/libavcodec/msmpeg4.c
+++ b/libavcodec/msmpeg4.c
@@ -91,6 +91,8 @@ int frame_count = 0;
static uint8_t rl_length[NB_RL_TABLES][MAX_LEVEL+1][MAX_RUN+1][2];
#endif //CONFIG_ENCODERS
+static uint8_t static_rl_table_store[NB_RL_TABLES][2][2*MAX_RUN + MAX_LEVEL + 3];
+
static void common_init(MpegEncContext * s)
{
static int inited=0;
@@ -186,7 +188,7 @@ void ff_msmpeg4_encode_init(MpegEncContext *s)
init_mv_table(&mv_tables[0]);
init_mv_table(&mv_tables[1]);
for(i=0;i<NB_RL_TABLES;i++)
- init_rl(&rl_table[i], 1);
+ init_rl(&rl_table[i], static_rl_table_store[i]);
for(i=0; i<NB_RL_TABLES; i++){
int level;
@@ -1051,7 +1053,7 @@ int ff_msmpeg4_decode_init(MpegEncContext *s)
done = 1;
for(i=0;i<NB_RL_TABLES;i++) {
- init_rl(&rl_table[i], 1);
+ init_rl(&rl_table[i], static_rl_table_store[i]);
init_vlc_rl(&rl_table[i], 1);
}
for(i=0;i<2;i++) {