This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit ec420ba16172960f0009b8bdcc393688797bf8a6
Author:     Lynne <[email protected]>
AuthorDate: Thu Oct 8 13:27:47 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Thu Oct 8 14:21:37 2026 +0900

    avcodec/dpx: skip unpacking the frame on AVDISCARD_ALL
    
    The decoder carries FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, so
    avformat_find_stream_info() invokes it with skip_frame = AVDISCARD_ALL
    just to fill the stream parameters, yet it unpacked the whole frame
    regardless and discarded it, tens of megabytes for a high-resolution
    scan. Return as soon as the dimensions, pixel format and color
    properties are set, before allocating the buffer, like the other
    decoders with the capability.
---
 libavcodec/dpx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index f1325d2f6f..a4d9348618 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -763,6 +763,9 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
 
     ff_set_sar(avctx, avctx->sample_aspect_ratio);
 
+    if (avctx->skip_frame >= AVDISCARD_ALL)
+        return buf_size;
+
     if ((ret = ff_get_buffer(avctx, p, 0)) < 0)
         return ret;
 

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to