From ae4c912bcecb5048611c4491a818d489ec828f59 Mon Sep 17 00:00:00 2001 From: "Tim.Nicholson" Date: Fri, 2 Aug 2013 23:31:40 +0200 Subject: [PATCH] Forward interlaced field information from mov to ffv1 decoder. Only read the information for old ffv1, level/version 3 saves the information in the bitstream. Fixes a part of ticket #2190. Signed-off-by: Carl Eugen Hoyos --- libavcodec/ffv1dec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 17b894645f..2fe511ebd8 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -784,6 +784,13 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac f->cur = p = f->picture.f; + if (f->version < 3 && avctx->field_order > AV_FIELD_PROGRESSIVE) { + /* we have interlaced material flagged in container */ + p->interlaced_frame = 1; + if (avctx->field_order == AV_FIELD_TT || avctx->field_order == AV_FIELD_TB) + p->top_field_first = 1; + } + f->avctx = avctx; ff_init_range_decoder(c, buf, buf_size); ff_build_rac_states(c, 0.05 * (1LL << 32), 256 - 8);