AVFrame.interlaced_frame fixes

Originally committed as revision 2566 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2003-12-05 01:03:12 +00:00
parent 647b776270
commit 2be9f03abb
2 changed files with 7 additions and 4 deletions

View File

@ -2282,7 +2282,7 @@ void mpeg4_encode_picture_header(MpegEncContext * s, int picture_number)
} }
put_bits(&s->pb, 3, 0); /* intra dc VLC threshold */ put_bits(&s->pb, 3, 0); /* intra dc VLC threshold */
if(!s->progressive_sequence){ 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); put_bits(&s->pb, 1, s->alternate_scan);
} }
//FIXME sprite stuff //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)) 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 */ av_log(s->avctx, AV_LOG_INFO, "MPEG4 OBMC not supported (very likely buggy encoder)\n"); /* OBMC Disable */
if (vo_ver_id == 1) { if (vo_ver_id == 1) {

View File

@ -402,6 +402,8 @@ int MPV_common_init(MpegEncContext *s)
s->y_dc_scale_table= s->y_dc_scale_table=
s->c_dc_scale_table= ff_mpeg1_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); y_size = (2 * s->mb_width + 2) * (2 * s->mb_height + 2);
c_size = (s->mb_width + 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= (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->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; s->current_picture_ptr->pict_type= s->pict_type;