From 9c15096e3f724f10e21d3dea30a8d49e04a3cf7c Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Sun, 24 Mar 2002 23:45:13 +0000
Subject: [PATCH] fcode_tables where too small, found by Klaas-Pieter Vlieg
 <vlieg@eurescom.de>

Originally committed as revision 360 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/h263.c      | 2 +-
 libavcodec/mpeg12.c    | 2 +-
 libavcodec/mpegvideo.c | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 0a83a4de01f..01b7accc16b 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -53,7 +53,7 @@ static void mpeg4_decode_sprite_trajectory(MpegEncContext * s);
 
 extern UINT32 inverse[256];
 
-static UINT16 mv_penalty[MAX_FCODE][MAX_MV*2+1];
+static UINT16 mv_penalty[MAX_FCODE+1][MAX_MV*2+1];
 static UINT8 fcode_tab[MAX_MV*2+1];
 static UINT8 umv_fcode_tab[MAX_MV*2+1];
 
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index fba90e71441..4d61df53c2a 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -51,7 +51,7 @@ static int mpeg2_decode_block_intra(MpegEncContext *s,
                                     int n);
 static int mpeg_decode_motion(MpegEncContext *s, int fcode, int pred);
 
-static UINT16 mv_penalty[MAX_FCODE][MAX_MV*2+1];
+static UINT16 mv_penalty[MAX_FCODE+1][MAX_MV*2+1];
 static UINT8 fcode_tab[MAX_MV*2+1];
 
 static void put_header(MpegEncContext *s, int header)
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 26f1a07e9b4..a4d649cfe52 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -67,7 +67,7 @@ static UINT8 h263_chroma_roundtab[16] = {
     0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
 };
 
-static UINT16 default_mv_penalty[MAX_FCODE][MAX_MV*2+1];
+static UINT16 default_mv_penalty[MAX_FCODE+1][MAX_MV*2+1];
 static UINT8 default_fcode_tab[MAX_MV*2+1];
 
 /* default motion estimation */
@@ -366,7 +366,7 @@ int MPV_encode_init(AVCodecContext *avctx)
         if(!done){
             int i;
             done=1;
-            memset(default_mv_penalty, 0, sizeof(UINT16)*MAX_FCODE*(2*MAX_MV+1));
+            memset(default_mv_penalty, 0, sizeof(UINT16)*(MAX_FCODE+1)*(2*MAX_MV+1));
             memset(default_fcode_tab , 0, sizeof(UINT8)*(2*MAX_MV+1));
 
             for(i=-16; i<16; i++){
-- 
GitLab