[FFmpeg-cvslog] avcodec/h264_direct: Check CO-POCs before use

Michael Niedermayer git at videolan.org
Fri Dec 4 02:05:18 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Fri Dec  4 00:31:44 2015 +0100| [77a644e6fa4aaeb2c26cfaa0e8ec3b19829b8d88] | committer: Michael Niedermayer

avcodec/h264_direct: Check CO-POCs before use

Fixes harmless integer overflow
Fixes mozilla bug 1230286

Found-by: Tyson Smith
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77a644e6fa4aaeb2c26cfaa0e8ec3b19829b8d88
---

 libavcodec/h264_direct.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c
index 5756a7b..5f66a67 100644
--- a/libavcodec/h264_direct.c
+++ b/libavcodec/h264_direct.c
@@ -137,6 +137,10 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext *
     if (h->picture_structure == PICT_FRAME) {
         int cur_poc  = h->cur_pic_ptr->poc;
         int *col_poc = sl->ref_list[1][0].parent->field_poc;
+        if (col_poc[0] == INT_MAX && col_poc[1] == INT_MAX) {
+            av_log(h->avctx, AV_LOG_ERROR, "co located POCs unavailable\n");
+            sl->col_parity = 1;
+        } else
         sl->col_parity = (FFABS(col_poc[0] - cur_poc) >=
                           FFABS(col_poc[1] - cur_poc));
         ref1sidx =



More information about the ffmpeg-cvslog mailing list