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 <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2023-04-20 12:50:01 -03:00
parent 0dceda12e7
commit adeb5b6c67
1 changed files with 5 additions and 0 deletions

View File

@ -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);