From adeb5b6c67f84ba3a6b527c374e9d41129473b22 Mon Sep 17 00:00:00 2001 From: James Almer Date: Thu, 20 Apr 2023 12:50:01 -0300 Subject: [PATCH] avcodec/pdvdec: honor the requested avctx->skip_frame value The decoder is tagged as being FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, so might as well make use of it. Reviewed-by: Paul B Mahol Signed-off-by: James Almer --- libavcodec/pdvdec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/pdvdec.c b/libavcodec/pdvdec.c index d1a3d1d3f9..b1fc19b1c9 100644 --- a/libavcodec/pdvdec.c +++ b/libavcodec/pdvdec.c @@ -64,6 +64,11 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, uint8_t *dst, *prev = prev_frame->data[0]; int ret, zret; + if (avctx->skip_frame >= AVDISCARD_ALL || + (avctx->skip_frame >= AVDISCARD_NONINTRA && + !(avpkt->flags & AV_PKT_FLAG_KEY))) + return avpkt->size; + zret = inflateReset(zstream); if (zret != Z_OK) { av_log(avctx, AV_LOG_ERROR, "Could not reset inflate: %d.\n", zret);