Commit 6b65a77c2a for ffmpeg

commit 6b65a77c2a752c2ff0c5e1111bffc1a147e70e8c
Author: Michael Niedermayer <michael@niedermayer.cc>
Date:   Tue Oct 6 00:14:12 2026 +0200

    avfilter/vf_pad: declare eval=frame as handling changed frame parameters

    Found during review of the fix for the security report RqgTntCAW2qN.

diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c
index 1e8f844b34..a3436bb2d6 100644
--- a/libavfilter/vf_pad.c
+++ b/libavfilter/vf_pad.c
@@ -332,14 +332,19 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
     PadContext *s = inlink->dst->priv;
     AVFilterLink *outlink = inlink->dst->outputs[0];
     AVFrame *out;
-    int needs_copy;
+    int needs_copy, ret;
+
+    if (s->eval_mode == EVAL_MODE_INIT &&
+        (ret = ff_inlink_check_frame_params(inlink, in, 0)) < 0) {
+        av_frame_free(&in);
+        return ret;
+    }
+
     if(s->eval_mode == EVAL_MODE_FRAME && (
            in->width  != s->inlink_w
         || in->height != s->inlink_h
         || in->format != outlink->format
         || in->sample_aspect_ratio.den != outlink->sample_aspect_ratio.den || in->sample_aspect_ratio.num != outlink->sample_aspect_ratio.num)) {
-        int ret;
-
         inlink->dst->inputs[0]->format = in->format;
         inlink->dst->inputs[0]->w      = in->width;
         inlink->dst->inputs[0]->h      = in->height;
@@ -464,4 +469,5 @@ const FFFilter ff_vf_pad = {
     FILTER_INPUTS(avfilter_vf_pad_inputs),
     FILTER_OUTPUTS(avfilter_vf_pad_outputs),
     FILTER_QUERY_FUNC2(query_formats),
+    .flags_internal = FF_FILTER_FLAG_DYNAMIC_FRAME_SIZE,
 };