Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-08 03:20:56 +0400
committerMichael Niedermayer <michaelni@gmx.at>2014-03-08 03:21:22 +0400
commit6eb08783a97821e731e249d70bbb39eefabbf17f (patch)
tree27120773d190b9c827c50077fefc5aaf8cb320f2 /libavcodec/fic.c
parentfabf69f37abe1560c85d6483f75849014da2971e (diff)
parentf87a6e500bcdaede22a123b81a2a46779cf7b71a (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: fic: Properly handle skip frames Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/fic.c')
-rw-r--r--libavcodec/fic.c5
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;