You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability
Will prevent decoding frame data during probing. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@ -697,6 +697,13 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
if (avctx->debug & FF_DEBUG_PICT_INFO)
|
||||||
|
av_log(avctx, AV_LOG_DEBUG, "ver:%d keyframe:%d coder:%d ec:%d slices:%d bps:%d\n",
|
||||||
|
f->version, !!f->key_frame, f->ac, f->ec, f->slice_count, f->avctx->bits_per_raw_sample);
|
||||||
|
|
||||||
|
if (avctx->skip_frame >= AVDISCARD_ALL)
|
||||||
|
return avpkt->size;
|
||||||
|
|
||||||
ret = ff_progress_frame_get_buffer(avctx, &f->picture,
|
ret = ff_progress_frame_get_buffer(avctx, &f->picture,
|
||||||
AV_GET_BUFFER_FLAG_REF);
|
AV_GET_BUFFER_FLAG_REF);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
@ -714,10 +721,6 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
|
|||||||
p->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST;
|
p->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (avctx->debug & FF_DEBUG_PICT_INFO)
|
|
||||||
av_log(avctx, AV_LOG_DEBUG, "ver:%d keyframe:%d coder:%d ec:%d slices:%d bps:%d\n",
|
|
||||||
f->version, !!(p->flags & AV_FRAME_FLAG_KEY), f->ac, f->ec, f->slice_count, f->avctx->bits_per_raw_sample);
|
|
||||||
|
|
||||||
ff_thread_finish_setup(avctx);
|
ff_thread_finish_setup(avctx);
|
||||||
|
|
||||||
ret = decode_slices(avctx, c, avpkt);
|
ret = decode_slices(avctx, c, avpkt);
|
||||||
@ -821,5 +824,6 @@ const FFCodec ff_ffv1_decoder = {
|
|||||||
.p.capabilities = AV_CODEC_CAP_DR1 |
|
.p.capabilities = AV_CODEC_CAP_DR1 |
|
||||||
AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
|
AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
|
||||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP |
|
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP |
|
||||||
|
FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
|
||||||
FF_CODEC_CAP_USES_PROGRESSFRAMES,
|
FF_CODEC_CAP_USES_PROGRESSFRAMES,
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user