aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-03-13 15:21:07 -0700
committerReinhard Tartler <siretart@tauware.de>2012-03-14 21:34:13 +0100
commitc999a8ed65797f26a8505af2d6ef203cb603b08e (patch)
tree12d0f0bfacc88e073653335e37a16720a465c51f
parent4d343a6f47931a43fe8e4c9288a5068c76b843e0 (diff)
downloadffmpeg-c999a8ed65797f26a8505af2d6ef203cb603b08e.tar.gz
h264: increase reference poc list from 16 to 32.
Interlaced images can have 32 references (16 per field), so limiting the array size to 16 leads to invalid writes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org (cherry picked from commit 48cbe4b092113eae0b3e5d6a08b59027f913a884) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r--libavcodec/mpegvideo.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index 3473e6d8f7..06be735301 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -124,7 +124,7 @@ typedef struct Picture{
int pic_id; /**< h264 pic_num (short -> no wrap version of pic_num,
pic_num & max_pic_num; long -> long_pic_num) */
int long_ref; ///< 1->long term reference 0->short term reference
- int ref_poc[2][2][16]; ///< h264 POCs of the frames used as reference (FIXME need per slice)
+ int ref_poc[2][2][32]; ///< h264 POCs of the frames used as reference (FIXME need per slice)
int ref_count[2][2]; ///< number of entries in ref_poc (FIXME need per slice)
int mbaff; ///< h264 1 -> MBAFF frame 0-> not MBAFF
int field_picture; ///< whether or not the picture was encoded in separate fields