summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2012-09-23 13:52:52 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-10-20 00:07:43 +0200
commit33f2a4942380184f3a28cbf2a36366c8ed105232 (patch)
tree3e850813587848a5be98d4e5db9a0127bec1a0e4 /libavcodec
parentb87ff3449662e4f6b8415471dd4b7c76f06fbcda (diff)
vc1: only disable interlaced b-frames for software decoding
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vc1.c1
-rw-r--r--libavcodec/vc1dec.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index c24951b2d8..c1b73d635a 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1158,7 +1158,6 @@ int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
if (v->bfraction == 0) {
return -1;
}
- return -1; // This codepath is still incomplete thus it is disabled
}
if (v->extended_mv)
v->mvrange = get_unary(gb, 0, 3);
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 3832b2afba..fde1dda994 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -5603,6 +5603,9 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
goto err;
}
} else {
+ if (v->fcm == ILACE_FRAME && s->pict_type == AV_PICTURE_TYPE_B)
+ goto err; // This codepath is still incomplete thus it is disabled
+
ff_er_frame_start(s);
v->bits = buf_size * 8;