[libav-stable] h264: on reference overflow, reset the reference count to 0, not 1.

Anton Khirnov git at libav.org
Sat Mar 2 10:45:50 CET 2013


Module: libav
Branch: master
Commit: 668e16a0dd1ff56d4beeff5c658d8a2a08dbfac8

Author:    Anton Khirnov <anton at khirnov.net>
Committer: Anton Khirnov <anton at khirnov.net>
Date:      Thu Feb 14 11:43:20 2013 +0100

h264: on reference overflow, reset the reference count to 0, not 1.

Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.

CC:libav-stable at libav.org

---

 libavcodec/h264.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index d816835..7d24df2 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -3391,7 +3391,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0)
 
     if (h->ref_count[0] > max_refs || h->ref_count[1] > max_refs) {
         av_log(h->avctx, AV_LOG_ERROR, "reference overflow\n");
-        h->ref_count[0] = h->ref_count[1] = 1;
+        h->ref_count[0] = h->ref_count[1] = 0;
         return AVERROR_INVALIDDATA;
     }
 



More information about the libav-stable mailing list