summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorJeff Downs <heydowns@borg.com>2007-11-05 18:16:42 +0000
committerJeff Downs <heydowns@borg.com>2007-11-05 18:16:42 +0000
commit84a8596d2305446e10b63975fb4c017752b55791 (patch)
tree831b428fa66fc825c0064112f00eccdd7bfb3a96 /libavcodec
parent18c05a375ba81d435cbf89a8c9301ff30dccbcd5 (diff)
Correct assignment of interlaced_frame; was being set on output frames,
in display order, based on decoding information in decoding order. Now set properly, immediately upon completion of decode. Based on original patch from Reinhard Nissl, rnisssl % gmx , de Original Thread: [FFmpeg-devel] H.264 + PAFF: BBC HD recording shows extreme interlacing artefacts, Thu, 01 Nov 2007 22:43:09 Originally committed as revision 10931 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 579c4b5532..ec0cdcba55 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -7763,6 +7763,8 @@ static int decode_frame(AVCodecContext *avctx,
*data_size = 0;
} else {
+ cur->interlaced_frame = FIELD_OR_MBAFF_PICTURE;
+
//FIXME do something with unavailable reference frames
#if 0 //decode order
@@ -7845,7 +7847,6 @@ static int decode_frame(AVCodecContext *avctx,
/* we substract 1 because it is added on utils.c */
avctx->frame_number = s->picture_number - 1;
#endif
- pict->interlaced_frame = FIELD_OR_MBAFF_PICTURE;
return get_consumed_bytes(s, buf_index, buf_size);
}
#if 0