From dc032f33322ea94c9a9cc7b7fc92f1c0a840c277 Mon Sep 17 00:00:00 2001 From: Loïc Le Loarer Date: Tue, 1 Feb 2005 11:12:53 +0000 Subject: correct long term picture management patch by (Loic ) fixes decoding of MR2_MW_A.264 Originally committed as revision 3916 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 83464826ea..dbedcb48ce 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3150,10 +3150,12 @@ static void idr(H264Context *h){ break; \ } - for(i=0; ilong_ref_count; i++){ - h->long_ref[i]->reference=0; - CHECK_DELAY(h->long_ref[i]); - h->long_ref[i]= NULL; + for(i=0; i<16; i++){ + if (h->long_ref[i] != NULL) { + h->long_ref[i]->reference=0; + CHECK_DELAY(h->long_ref[i]); + h->long_ref[i]= NULL; + } } h->long_ref_count=0; @@ -3263,6 +3265,7 @@ static int execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count){ h->long_ref[ mmco[i].long_index ]= remove_short(h, mmco[i].short_frame_num); h->long_ref[ mmco[i].long_index ]->long_ref=1; + h->long_ref_count++; break; case MMCO_LONG2UNUSED: pic= remove_long(h, mmco[i].long_index); -- cgit v1.2.3