* [FFmpeg-devel] [PATCH] avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability
@ 2025-03-15 19:10 James Almer
2025-03-15 19:21 ` Lynne
0 siblings, 1 reply; 2+ messages in thread
From: James Almer @ 2025-03-15 19:10 UTC (permalink / raw)
To: ffmpeg-devel
Will prevent decoding frame data during probing.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavcodec/ffv1dec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index b731f11297..998b981a33 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -697,6 +697,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
if (ret < 0)
return ret;
+ if (avctx->skip_frame >= AVDISCARD_ALL)
+ return avpkt->size;
+
ret = ff_progress_frame_get_buffer(avctx, &f->picture,
AV_GET_BUFFER_FLAG_REF);
if (ret < 0)
@@ -821,5 +824,6 @@ const FFCodec ff_ffv1_decoder = {
.p.capabilities = AV_CODEC_CAP_DR1 |
AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP |
+ FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
FF_CODEC_CAP_USES_PROGRESSFRAMES,
};
--
2.48.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability
2025-03-15 19:10 [FFmpeg-devel] [PATCH] avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability James Almer
@ 2025-03-15 19:21 ` Lynne
0 siblings, 0 replies; 2+ messages in thread
From: Lynne @ 2025-03-15 19:21 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1.1.1: Type: text/plain, Size: 1255 bytes --]
On 15/03/2025 20:10, James Almer wrote:
> Will prevent decoding frame data during probing.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavcodec/ffv1dec.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
> index b731f11297..998b981a33 100644
> --- a/libavcodec/ffv1dec.c
> +++ b/libavcodec/ffv1dec.c
> @@ -697,6 +697,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
> if (ret < 0)
> return ret;
>
> + if (avctx->skip_frame >= AVDISCARD_ALL)
> + return avpkt->size;
> +
> ret = ff_progress_frame_get_buffer(avctx, &f->picture,
> AV_GET_BUFFER_FLAG_REF);
> if (ret < 0)
> @@ -821,5 +824,6 @@ const FFCodec ff_ffv1_decoder = {
> .p.capabilities = AV_CODEC_CAP_DR1 |
> AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
> .caps_internal = FF_CODEC_CAP_INIT_CLEANUP |
> + FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
> FF_CODEC_CAP_USES_PROGRESSFRAMES,
> };
LGTM, been running this locally for days now. Speeds up opening high
resolution files by seconds.
Thanks.
[-- Attachment #1.1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 637 bytes --]
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-03-15 19:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-15 19:10 [FFmpeg-devel] [PATCH] avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability James Almer
2025-03-15 19:21 ` Lynne
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git