---
 libavcodec/utils.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index f2dd357..aa701ba 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1493,6 +1493,17 @@ int attribute_align_arg 
avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi
                     return err;
             }
 
+            if (avctx->field_order == AV_FIELD_UNKNOWN) {
+                if (picture->field_state == AV_FRAME_PROGRESSIVE)
+                    avctx->field_order = AV_FIELD_PROGRESSIVE;
+                else if (picture->field_state == AV_FRAME_INTERLACED_TFF)
+                    avctx->field_order = AV_FIELD_TT;
+                else if (picture->field_state == AV_FRAME_INTERLACED_BFF)
+                    avctx->field_order = AV_FIELD_BB;
+                else
+                    av_log(avctx, AV_LOG_WARNING, "Decoder didn't initialize 
field_state correctly.\n");
+            }
+
             avctx->frame_number++;
         } else
             av_frame_unref(picture);
-- 
1.7.9.5

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to