]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rawdec.c
lavc/rawdec: set field order on decoded frame.
[ffmpeg] / libavcodec / rawdec.c
index 01ecf785a0acab06b94f15dcfe57a69f8eec6d1e..efd802066c5a3a6b2d6f9dbf2424c40f20affa59 100644 (file)
@@ -147,12 +147,6 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
         avctx->codec_tag == MKTAG('W','R','A','W'))
         context->flip = 1;
 
-    if (avctx->field_order > AV_FIELD_PROGRESSIVE) { /*we have interlaced material flagged in container */
-        avctx->coded_frame->interlaced_frame = 1;
-        if (avctx->field_order == AV_FIELD_TT  || avctx->field_order == AV_FIELD_TB)
-            avctx->coded_frame->top_field_first = 1;
-    }
-
     if (avctx->codec_tag == AV_RL32("yuv2") &&
         avctx->pix_fmt   == AV_PIX_FMT_YUYV422)
         context->is_yuv2 = 1;
@@ -325,6 +319,12 @@ static int raw_decode(AVCodecContext *avctx, void *data, int *got_frame,
         }
     }
 
+    if (avctx->field_order > AV_FIELD_PROGRESSIVE) { /* we have interlaced material flagged in container */
+        frame->interlaced_frame = 1;
+        if (avctx->field_order == AV_FIELD_TT || avctx->field_order == AV_FIELD_TB)
+            frame->top_field_first = 1;
+    }
+
     *got_frame = 1;
     return buf_size;
 }