diff --git a/ffmpeg.c b/ffmpeg.c
index d0a5d046606ed821580b9db98fdbdd1967f77d30..5373b7593fd7613f4b87e33ff93fe4142887a4f4 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2979,6 +2979,7 @@ static int opt_qscale(const char *opt, const char *arg)
 static int opt_top_field_first(const char *opt, const char *arg)
 {
     top_field_first = parse_number_or_die(opt, arg, OPT_INT, 0, 1);
+    opt_default(opt, arg);
     return 0;
 }
 
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 3055a50475d11f6519a6ff60beb420d34d574a01..6bf749f4c33e23cb4d616fd4fd94ed045e12df6c 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -29,15 +29,24 @@
 #include "raw.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/imgutils.h"
+#include "libavutil/opt.h"
 
 typedef struct RawVideoContext {
+    AVClass *av_class;
     uint32_t palette[AVPALETTE_COUNT];
     unsigned char * buffer;  /* block of memory for holding one frame */
     int             length;  /* number of bytes in buffer */
     int flip;
     AVFrame pic;             ///< AVCodecContext.coded_frame
+    int tff;
 } RawVideoContext;
 
+static const AVOption options[]={
+{"top", "top field first", offsetof(RawVideoContext, tff), FF_OPT_TYPE_INT, {.dbl = -1}, -1, 1, AV_OPT_FLAG_DECODING_PARAM|AV_OPT_FLAG_VIDEO_PARAM},
+{NULL}
+};
+static const AVClass class = { "rawdec", NULL, options, LIBAVUTIL_VERSION_INT };
+
 static const PixelFormatTag pix_fmt_bps_avi[] = {
     { PIX_FMT_MONOWHITE, 1 },
     { PIX_FMT_PAL8,    2 },
@@ -130,6 +139,11 @@ static int raw_decode(AVCodecContext *avctx,
     frame->pkt_pts          = avctx->pkt->pts;
     frame->pkt_pos          = avctx->pkt->pos;
 
+    if(context->tff>=0){
+        frame->interlaced_frame = 1;
+        frame->top_field_first  = context->tff;
+    }
+
     //2bpp and 4bpp raw in avi and mov (yes this is ugly ...)
     if (context->buffer) {
         int i;
@@ -214,4 +228,5 @@ AVCodec ff_rawvideo_decoder = {
     raw_close_decoder,
     raw_decode,
     .long_name = NULL_IF_CONFIG_SMALL("raw video"),
+    .priv_class= &class,
 };