Merge commit 'a643a47d41f4924b66fce339e4b82aaee20825be' into release/2.2
* commit 'a643a47d41f4924b66fce339e4b82aaee20825be': fic: Properly handle skip frames Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -166,6 +166,10 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
if (memcmp(src, fic_header, 7))
|
if (memcmp(src, fic_header, 7))
|
||||||
av_log(avctx, AV_LOG_WARNING, "Invalid FIC Header.\n");
|
av_log(avctx, AV_LOG_WARNING, "Invalid FIC Header.\n");
|
||||||
|
|
||||||
|
/* Is it a skip frame? */
|
||||||
|
if (src[17])
|
||||||
|
goto skip;
|
||||||
|
|
||||||
nslices = src[13];
|
nslices = src[13];
|
||||||
if (!nslices) {
|
if (!nslices) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Zero slices found.\n");
|
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)
|
NULL, nslices, sizeof(ctx->slice_data[0])) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
skip:
|
||||||
*got_frame = 1;
|
*got_frame = 1;
|
||||||
if ((ret = av_frame_ref(data, ctx->frame)) < 0)
|
if ((ret = av_frame_ref(data, ctx->frame)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user