diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 95d2ef1fec..108811a9bb 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -115,8 +115,6 @@ static int config_props(AVFilterLink *outlink) av_log(ctx, AV_LOG_INFO, "w:%d h:%d fmt:%s\n", outlink->w, outlink->h, avcodec_get_pix_fmt_name(outlink->format)); - avcodec_get_chroma_sub_sample(outlink->format, &scale->hsub, &scale->vsub); - scale->input_is_pal = inlink->format == PIX_FMT_PAL8 || inlink->format == PIX_FMT_BGR4_BYTE || inlink->format == PIX_FMT_RGB4_BYTE || @@ -132,6 +130,8 @@ static void start_frame(AVFilterLink *link, AVFilterPicRef *picref) AVFilterLink *outlink = link->dst->outputs[0]; AVFilterPicRef *outpicref; + avcodec_get_chroma_sub_sample(link->format, &scale->hsub, &scale->vsub); + outpicref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h); outpicref->pts = picref->pts; outlink->outpic = outpicref;