diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2003-12-12 16:56:38 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2003-12-12 16:56:38 +0000 |
commit | 7a0f9d7e7d03ec7af11f77d474323fedbaa82368 (patch) | |
tree | cf230a5017c9be2e0cefe070813d178ff7cde40c /libavcodec | |
parent | 3e9d718ecbf2424ba219a078d73cfa3c2ac6c169 (diff) | |
download | ffmpeg-7a0f9d7e7d03ec7af11f77d474323fedbaa82368.tar.gz |
fixed top_field_first support when encoding
Originally committed as revision 2600 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mpeg12.c | 6 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index 8591877d37..9d4658d0c6 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -448,7 +448,11 @@ void mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) } put_bits(&s->pb, 2, s->intra_dc_precision); put_bits(&s->pb, 2, s->picture_structure= PICT_FRAME); - put_bits(&s->pb, 1, s->top_field_first); + if (s->progressive_sequence) { + put_bits(&s->pb, 1, 0); /* no repeat */ + } else { + put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first); + } /* XXX: optimize the generation of this flag with entropy measures */ s->frame_pred_frame_dct = s->progressive_sequence; diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 631262d7bc..4774709486 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1560,7 +1560,9 @@ static int load_input_picture(MpegEncContext *s, AVFrame *pic_arg){ pic->quality= pic_arg->quality; pic->pict_type= pic_arg->pict_type; pic->pts = pic_arg->pts; - + pic->interlaced_frame = pic_arg->interlaced_frame; + pic->top_field_first = pic_arg->top_field_first; + if(s->input_picture[encoding_delay]) pic->display_picture_number= s->input_picture[encoding_delay]->display_picture_number + 1; |