diff options
-rw-r--r-- | src/libvdpau/dpb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libvdpau/dpb.c b/src/libvdpau/dpb.c index cd3c6ef9a..acc3f0865 100644 --- a/src/libvdpau/dpb.c +++ b/src/libvdpau/dpb.c @@ -267,7 +267,7 @@ int dpb_add_picture(struct dpb *dpb, struct decoded_picture *pic, uint32_t num_r dpb->num_ref_frames = num_ref_frames; dpb->used++; - if(dpb->used > num_ref_frames) { + if(pic != NULL && dpb->used > num_ref_frames) { do { if(pic->used_for_reference) { i++; @@ -285,7 +285,7 @@ int dpb_add_picture(struct dpb *dpb, struct decoded_picture *pic, uint32_t num_r } last_pic = pic; } - } while ((pic = pic->next) != NULL); + } while (pic != NULL && (pic = pic->next) != NULL); } return 0; |