diff options
author | Roman Shaposhnik <roman@shaposhnik.org> | 2003-10-18 03:19:44 +0000 |
---|---|---|
committer | Roman Shaposhnik <roman@shaposhnik.org> | 2003-10-18 03:19:44 +0000 |
commit | 2744ca9ac919d63fb8a5948c21d2e943cdd04e3d (patch) | |
tree | b5f7a6640f9ab5b09d059569e47714f1b932c08d /libavcodec | |
parent | a573cc27f51ad93d8453bbe1d06f0e59ba49f838 (diff) | |
download | ffmpeg-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.h | 14 | ||||
-rw-r--r-- | libavcodec/dv.c | 3 |
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; |