[FFmpeg-devel] [PATCH 2/2] vc1: only disable interlaced b-frames for software decoding

Hendrik Leppkes h.leppkes at gmail.com
Sun Sep 23 14:44:36 CEST 2012


---
 libavcodec/vc1.c    |    1 -
 libavcodec/vc1dec.c |    3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 2d48428..83e7c07 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1163,7 +1163,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 a8132fd..b8ad526 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -5598,6 +5598,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;
-- 
1.7.10.msysgit.1


More information about the ffmpeg-devel mailing list