summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2008-12-07 16:30:08 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2008-12-07 16:30:08 +0000
commit0dfcc368188d9c8ffba79f2165521a43cde62ea0 (patch)
tree015ee27cd3fb81c3394a139eb070433680a964ab
parent2014b51caee15069ae50cf4151f694ffadb4b7ba (diff)
Do not attempt to decode RV30/40 B-frames without anchors.
This fixes issue 747. Originally committed as revision 16031 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/rv34.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index 463594320c..6cf5869ab1 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -1406,6 +1406,8 @@ int ff_rv34_decode_frame(AVCodecContext *avctx,
}else
r->si.end = si.start;
}
+ if(!i && si.type == FF_B_TYPE && (!s->last_picture_ptr || !s->last_picture_ptr->data[0]))
+ return -1;
last = rv34_decode_slice(r, r->si.end, buf + offset, size);
s->mb_num_left = r->s.mb_x + r->s.mb_y*r->s.mb_width - r->si.start;
if(last)