diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c index 738e255621..e52f7284d4 100644 --- a/libavfilter/vf_pad.c +++ b/libavfilter/vf_pad.c @@ -355,7 +355,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) if (needs_copy) { av_log(inlink->dst, AV_LOG_DEBUG, "Direct padding impossible allocating new frame\n"); - out = ff_get_video_buffer(inlink->dst->outputs[0], + out = ff_get_video_buffer(outlink, FFMAX(inlink->w, s->w), FFMAX(inlink->h, s->h)); if (!out) { @@ -410,7 +410,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) if (in != out) av_frame_free(&in); - return ff_filter_frame(inlink->dst->outputs[0], out); + return ff_filter_frame(outlink, out); } #define OFFSET(x) offsetof(PadContext, x)