diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-03-08 00:20:56 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-08 00:21:22 +0100 |
commit | 6eb08783a97821e731e249d70bbb39eefabbf17f (patch) | |
tree | 27120773d190b9c827c50077fefc5aaf8cb320f2 | |
parent | fabf69f37abe1560c85d6483f75849014da2971e (diff) | |
parent | f87a6e500bcdaede22a123b81a2a46779cf7b71a (diff) | |
download | ffmpeg-6eb08783a97821e731e249d70bbb39eefabbf17f.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
fic: Properly handle skip frames
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/fic.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/fic.c b/libavcodec/fic.c index cb8da1a2e2..63faef2687 100644 --- a/libavcodec/fic.c +++ b/libavcodec/fic.c @@ -166,6 +166,10 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data, if (memcmp(src, fic_header, 7)) av_log(avctx, AV_LOG_WARNING, "Invalid FIC Header.\n"); + /* Is it a skip frame? */ + if (src[17]) + goto skip; + nslices = src[13]; if (!nslices) { av_log(avctx, AV_LOG_ERROR, "Zero slices found.\n"); @@ -246,6 +250,7 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data, NULL, nslices, sizeof(ctx->slice_data[0])) < 0) return ret; +skip: *got_frame = 1; if ((ret = av_frame_ref(data, ctx->frame)) < 0) return ret; |