[FFmpeg-devel] [PATCH] In vc1 decoder, fix decoding when end sequence is present
Baptiste Coudurier
baptiste.coudurier
Wed Mar 2 11:47:41 CET 2011
---
libavcodec/vc1dec.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index ed92d8c..0f003e5 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -3149,6 +3149,7 @@ static int vc1_decode_frame(AVCodecContext *avctx,
const uint8_t *buf_start = buf;
/* no supplementary picture */
+ out:
if (buf_size == 0) {
/* special case for last picture */
if (s->low_delay==0 && s->next_picture_ptr) {
@@ -3161,6 +3162,11 @@ static int vc1_decode_frame(AVCodecContext *avctx,
return 0;
}
+ if (buf_size == 4 && AV_RB32(buf) == VC1_CODE_ENDOFSEQ) {
+ buf_size = 0;
+ goto out;
+ }
+
/* We need to set current_picture_ptr before reading the header,
* otherwise we cannot store anything in there. */
if(s->current_picture_ptr==NULL || s->current_picture_ptr->data[0]){
--
1.7.4.1
More information about the ffmpeg-devel
mailing list