aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-12 21:10:15 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-13 01:27:18 +0100
commit545ec935a4b4e0f032ebd975907b41f6fe4465c9 (patch)
treeb00511ed4a36ff5c279d65cc58e66bd2d1ac8fd8 /libavcodec/h264.c
parent05423d3afd556ce28761590401eef8089cff73af (diff)
downloadffmpeg-545ec935a4b4e0f032ebd975907b41f6fe4465c9.tar.gz
h264: Use mismatching frame numbers in fields to synchronize the
first/second field state independant of them being reference or not. Fixes Ticket354 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r--libavcodec/h264.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 77db8ef7dc..3ec8b85f8f 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2946,11 +2946,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
s0->first_field = FIELD_PICTURE;
} else {
- if (h->nal_ref_idc &&
- s0->current_picture_ptr->f.reference &&
- s0->current_picture_ptr->frame_num != h->frame_num) {
+ if (s0->current_picture_ptr->frame_num != h->frame_num) {
/*
- * This and previous field were reference, but had
+ * This and previous field had
* different frame_nums. Consider this field first in
* pair. Throw away previous field except for reference
* purposes.