diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-03-13 15:21:07 -0700 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2012-03-14 21:34:13 +0100 |
commit | c999a8ed65797f26a8505af2d6ef203cb603b08e (patch) | |
tree | 12d0f0bfacc88e073653335e37a16720a465c51f | |
parent | 4d343a6f47931a43fe8e4c9288a5068c76b843e0 (diff) | |
download | ffmpeg-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.h | 2 |
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 |