diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-12-05 01:03:12 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-12-05 01:03:12 +0000 |
commit | 2be9f03abb2be775f4882fb87fb735bd7b5a3930 (patch) | |
tree | 578a2f7578c4d424d0a29283fa7769814feb3378 /libavcodec | |
parent | 647b77627056024e53d0beb5ac3d57ed3c670a9e (diff) | |
download | ffmpeg-2be9f03abb2be775f4882fb87fb735bd7b5a3930.tar.gz |
AVFrame.interlaced_frame fixes
Originally committed as revision 2566 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h263.c | 5 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c index 4f3fa13df2..09778c3e55 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -2282,7 +2282,7 @@ void mpeg4_encode_picture_header(MpegEncContext * s, int picture_number) } put_bits(&s->pb, 3, 0); /* intra dc VLC threshold */ if(!s->progressive_sequence){ - put_bits(&s->pb, 1, s->top_field_first); + put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first); put_bits(&s->pb, 1, s->alternate_scan); } //FIXME sprite stuff @@ -5252,7 +5252,8 @@ static int decode_vol_header(MpegEncContext *s, GetBitContext *gb){ } } - s->progressive_sequence= get_bits1(gb)^1; + s->progressive_sequence= + s->progressive_frame= get_bits1(gb)^1; if(!get_bits1(gb) && (s->avctx->debug & FF_DEBUG_PICT_INFO)) av_log(s->avctx, AV_LOG_INFO, "MPEG4 OBMC not supported (very likely buggy encoder)\n"); /* OBMC Disable */ if (vo_ver_id == 1) { diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index ef682e4838..d686dec216 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -401,7 +401,9 @@ int MPV_common_init(MpegEncContext *s) s->y_dc_scale_table= s->c_dc_scale_table= ff_mpeg1_dc_scale_table; - s->chroma_qscale_table= ff_default_chroma_qscale_table; + s->chroma_qscale_table= ff_default_chroma_qscale_table; + s->progressive_sequence= + s->progressive_frame= 1; y_size = (2 * s->mb_width + 2) * (2 * s->mb_height + 2); c_size = (s->mb_width + 2) * (s->mb_height + 2); @@ -1152,7 +1154,7 @@ alloc: s->current_picture_ptr= (Picture*)pic; s->current_picture_ptr->top_field_first= s->top_field_first; //FIXME use only the vars from current_pic - s->current_picture_ptr->interlaced_frame= !s->progressive_frame; + s->current_picture_ptr->interlaced_frame= !s->progressive_frame && !s->progressive_sequence; } s->current_picture_ptr->pict_type= s->pict_type; |