summaryrefslogtreecommitdiff
path: root/libavcodec/exr.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2022-09-24 11:27:28 +0200
committerPaul B Mahol <onemda@gmail.com>2022-09-24 12:23:32 +0200
commitcea1e1f261b8d185df7effceedc135cbb6be4681 (patch)
tree01de159ad1ad6edbe34175757e3156e077e75cf0 /libavcodec/exr.c
parent3c16f9eb0d2eea9c64d011bca6c52f520d66ec09 (diff)
avcodec/exr: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
Diffstat (limited to 'libavcodec/exr.c')
-rw-r--r--libavcodec/exr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index f10754d6ae..6a0af96ce4 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -2121,6 +2121,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *picture,
ff_set_sar(s->avctx, av_d2q(av_int2float(s->sar), 255));
+ if (avctx->skip_frame >= AVDISCARD_ALL)
+ return avpkt->size;
+
s->desc = av_pix_fmt_desc_get(avctx->pix_fmt);
if (!s->desc)
return AVERROR_INVALIDDATA;
@@ -2351,5 +2354,6 @@ const FFCodec ff_exr_decoder = {
FF_CODEC_DECODE_CB(decode_frame),
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
AV_CODEC_CAP_SLICE_THREADS,
+ .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
.p.priv_class = &exr_class,
};