This supports dropping non-intra, non-key, or all frames. Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/av1dec.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index db110c50c7..94f65c6540 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -916,6 +916,12 @@ static int set_output_frame(AVCodecContext *avctx, AVFrame *frame, av_log2(s->operating_point_idc >> 8) > s->cur_frame.spatial_id) return 0; + if ((avctx->skip_frame >= AVDISCARD_NONINTRA && (s->raw_frame_header->frame_type != AV1_FRAME_KEY && + s->raw_frame_header->frame_type != AV1_FRAME_INTRA_ONLY)) || + (avctx->skip_frame >= AVDISCARD_NONKEY && s->raw_frame_header->frame_type != AV1_FRAME_KEY) || + avctx->skip_frame >= AVDISCARD_ALL) + return 0; + ret = av_frame_ref(frame, srcframe); if (ret < 0) return ret; -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".