[FFmpeg-cvslog] vc1: only disable interlaced b-frames for software decoding

Hendrik Leppkes git at videolan.org
Sat Oct 20 00:08:27 CEST 2012


ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Sun Sep 23 13:52:52 2012 +0200| [33f2a4942380184f3a28cbf2a36366c8ed105232] | committer: Michael Niedermayer

vc1: only disable interlaced b-frames for software decoding

Tested-by: Gwenole Beauchesne <gb.devel at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=33f2a4942380184f3a28cbf2a36366c8ed105232
---

 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 c24951b..c1b73d6 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 3832b2a..fde1dda 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;



More information about the ffmpeg-cvslog mailing list