提交 ac91185f 编写于 作者: K Kostya Shishkov

Progressive frames disguised as interlaced are supported

Originally committed as revision 7849 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 6eda6e37
...@@ -1282,10 +1282,6 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) ...@@ -1282,10 +1282,6 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
v->s.avctx->height = v->s.avctx->coded_height; v->s.avctx->height = v->s.avctx->coded_height;
v->broadcast = get_bits1(gb); v->broadcast = get_bits1(gb);
v->interlace = get_bits1(gb); v->interlace = get_bits1(gb);
if(v->interlace){
av_log(v->s.avctx, AV_LOG_ERROR, "Interlaced mode not supported (yet)\n");
return -1;
}
v->tfcntrflag = get_bits1(gb); v->tfcntrflag = get_bits1(gb);
v->finterpflag = get_bits1(gb); v->finterpflag = get_bits1(gb);
get_bits1(gb); // reserved get_bits1(gb); // reserved
...@@ -1624,8 +1620,10 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) ...@@ -1624,8 +1620,10 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
v->p_frame_skipped = 0; v->p_frame_skipped = 0;
if(v->interlace) if(v->interlace){
v->fcm = decode012(gb); v->fcm = decode012(gb);
if(v->fcm) return -1; // interlaced frames/fields are not implemented
}
switch(get_prefix(gb, 0, 4)) { switch(get_prefix(gb, 0, 4)) {
case 0: case 0:
v->s.pict_type = P_TYPE; v->s.pict_type = P_TYPE;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册