aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2007-02-06 07:16:52 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2007-02-06 07:16:52 +0000
commitac91185fb7ca1372b3cab0e38c42760c84319d09 (patch)
tree046bda58b68c3864bd5ae7674eb49aebc7af4e45
parent6eda6e37a951e4a3e4eed702cc5eb2ecb489018a (diff)
downloadffmpeg-ac91185fb7ca1372b3cab0e38c42760c84319d09.tar.gz
Progressive frames disguised as interlaced are supported
Originally committed as revision 7849 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/vc1.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index d344d03682..1cf31a3bcb 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1282,10 +1282,6 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
v->s.avctx->height = v->s.avctx->coded_height;
v->broadcast = 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->finterpflag = get_bits1(gb);
get_bits1(gb); // reserved
@@ -1624,8 +1620,10 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
v->p_frame_skipped = 0;
- if(v->interlace)
+ if(v->interlace){
v->fcm = decode012(gb);
+ if(v->fcm) return -1; // interlaced frames/fields are not implemented
+ }
switch(get_prefix(gb, 0, 4)) {
case 0:
v->s.pict_type = P_TYPE;