[FFmpeg-devel] [PATCH 2/2] avfilter/vf_scale2ref: switch to FFFrameSync
Niklas Haas
ffmpeg at haasn.xyz
Wed Mar 13 14:28:33 EET 2024
On Wed, 13 Mar 2024 13:24:25 +0100 Niklas Haas <ffmpeg at haasn.xyz> wrote:
> - frame_changed = in->width != link->w ||
> - in->height != link->h ||
> - in->format != link->format ||
> - in->sample_aspect_ratio.den != link->sample_aspect_ratio.den ||
> - in->sample_aspect_ratio.num != link->sample_aspect_ratio.num ||
> - in->colorspace != link->colorspace ||
> - in->color_range != link->color_range;
> + ret = ff_framesync_dualinput_get(fs, &main, &ref);
> + if (ret < 0)
> + return ret;
>
> - if (frame_changed) {
> - link->format = in->format;
> - link->w = in->width;
> - link->h = in->height;
> - link->sample_aspect_ratio.num = in->sample_aspect_ratio.num;
> - link->sample_aspect_ratio.den = in->sample_aspect_ratio.den;
> - link->colorspace = in->colorspace;
> - link->color_range = in->color_range;
> + if (ref) {
> + reflink->format = ref->format;
> + reflink->w = ref->width;
> + reflink->h = ref->height;
> + reflink->sample_aspect_ratio.num = ref->sample_aspect_ratio.num;
> + reflink->sample_aspect_ratio.den = ref->sample_aspect_ratio.den;
> + reflink->colorspace = ref->colorspace;
> + reflink->color_range = ref->color_range;
>
> - config_props_ref(outlink);
> - }
> + ret = config_props(outlink);
> + if (ret < 0)
> + return ret;
This change unintentionally dropped the `frame_changed` check to avoid
reconfiguring the sws context unnecessarily. Fixed locally by
reintroducing the check.
More information about the ffmpeg-devel
mailing list