Verify long_ref_count!=0. Fix issue 281.

Originally committed as revision 11171 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Panagiotis Issaris 2007-12-05 18:02:48 +00:00
parent bc2bc41bb8
commit b17270878e

View File

@ -3662,7 +3662,7 @@ static int decode_ref_pic_marking(H264Context *h, GetBitContext *gb){
}else{
assert(h->long_ref_count + h->short_ref_count <= h->sps.ref_frame_count);
if(h->long_ref_count + h->short_ref_count == h->sps.ref_frame_count &&
if(h->short_ref_count && h->long_ref_count + h->short_ref_count == h->sps.ref_frame_count &&
!(FIELD_PICTURE && !s->first_field && s->current_picture_ptr->reference)) {
h->mmco[0].opcode= MMCO_SHORT2UNUSED;
h->mmco[0].short_pic_num= h->short_ref[ h->short_ref_count - 1 ]->frame_num;