aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorRoman Shaposhnik <roman@shaposhnik.org>2003-10-18 03:19:44 +0000
committerRoman Shaposhnik <roman@shaposhnik.org>2003-10-18 03:19:44 +0000
commit2744ca9ac919d63fb8a5948c21d2e943cdd04e3d (patch)
treeb5f7a6640f9ab5b09d059569e47714f1b932c08d /libavcodec
parenta573cc27f51ad93d8453bbe1d06f0e59ba49f838 (diff)
downloadffmpeg-2744ca9ac919d63fb8a5948c21d2e943cdd04e3d.tar.gz
* 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. Originally committed as revision 2396 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h14
-rw-r--r--libavcodec/dv.c3
2 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index fe40ce90c7..90834f1ffe 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -399,6 +399,20 @@ static const int Motion_Est_QTab[] = { ME_ZERO, ME_PHODS, ME_LOG,
* \
*/\
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
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index b5ee875f64..419d2de524 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -149,6 +149,7 @@ static int dvvideo_init(AVCodecContext *avctx)
/* 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 @@ static int dvvideo_decode_frame(AVCodecContext *avctx,
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;