summaryrefslogtreecommitdiff
path: root/libavcodec/h264_refs.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-02-27 03:21:07 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-02-27 03:26:03 +0100
commitb5005def8a8f2dc2e7ac51ea85d50b8ed3d84673 (patch)
treec7b0280425ac21d9afe858e20999e35a260d4bff /libavcodec/h264_refs.c
parentc4c5351f0857c80a7882143378cfb3db474146e8 (diff)
avcodec/h264: avoid using lost frames as references
Fixes Ticket3386 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_refs.c')
-rw-r--r--libavcodec/h264_refs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index 0ca4878345..f3d3ae0cc4 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -75,7 +75,7 @@ static int build_def_list(Picture *def, int def_len,
int index = 0;
while (i[0] < len || i[1] < len) {
- while (i[0] < len && !(in[i[0]] && (in[i[0]]->reference & sel)))
+ while (i[0] < len && !(in[i[0]] && (in[i[0]]->reference & sel) && (!in[i[0]]->invalid_gap || sel==3)))
i[0]++;
while (i[1] < len && !(in[i[1]] && (in[i[1]]->reference & (sel ^ 3))))
i[1]++;