mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-24 17:12:34 +02:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: fic: Properly handle skip frames Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6eb08783a9
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user