changeset 1543:7542cb99b950 libavcodec

* providing MPEG codecs with a generic fields in AVFrame to use. * fixing YUV4MPEG format. * fixing a bug in DV codec where coded_frame was not set.
author romansh
date Sat, 18 Oct 2003 03:19:44 +0000
parents 576861d6343a
children 2335dcb71152
files avcodec.h dv.c
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Fri Oct 17 18:56:01 2003 +0000
+++ b/avcodec.h	Sat Oct 18 03:19:44 2003 +0000
@@ -399,6 +399,20 @@
      * \
      */\
     int qscale_type;\
+    \
+    /**\
+     * The content of the picture is interlaced.\
+     * - encoding: set by user\
+     * - decoding: set by lavc (default 0)\
+     */\
+    int interlaced_frame;\
+    \
+    /**\
+     * if the content is interlaced, is bottom field displayed first.\
+     * - encoding: set by user\
+     * - decoding: set by lavc (default 0)\
+     */\
+    int bottom_field_first;\
 
 #define FF_QSCALE_TYPE_MPEG1	0
 #define FF_QSCALE_TYPE_MPEG2	1
--- a/dv.c	Fri Oct 17 18:56:01 2003 +0000
+++ b/dv.c	Sat Oct 18 03:19:44 2003 +0000
@@ -149,6 +149,7 @@
     /* FIXME: I really don't think this should be here */
     if (dv_codec_profile(avctx))
 	avctx->pix_fmt = dv_codec_profile(avctx)->pix_fmt; 
+    avctx->coded_frame = &s->picture;
     
     return 0;
 }
@@ -853,6 +854,8 @@
         fprintf(stderr, "get_buffer() failed\n");
         return -1;
     }
+    s->picture.interlaced_frame = 1;
+    s->picture.bottom_field_first = 1;
 
     /* for each DIF segment */
     mb_pos_ptr = s->sys->video_place;