[FFmpeg-devel] [PATCH] avfilter: add vf_yazf filter
Michael Niedermayer
michael at niedermayer.cc
Wed Jun 4 04:11:34 EEST 2025
On Mon, Jun 02, 2025 at 11:25:43AM +0200, Quentin RENARD wrote:
> > If this filter is meant to be same as existing zoompan but more precise,
> > then you should modify the original filter with a mode option for FP use.
>
> Thing is I hesitated modifying the existing zoompan but there are a few things that don’t fit my use case and I didn’t want to update too many things:
>
> - frame’s PTS is rewritten
> - configurable output size is not dynamic (and is not evaluated in frame mode)
> - if output aspect ratio is different than input aspect ratio, output image will be stretched
>
> I can:
>
> - add an option to enable PTS passthrough
> - add “w” and “h” options on top of “s” options that would allow dynamic output size
> - make sure computed crop size respect output aspect ratio
>
> Would that be ok?
>
> > I would suggest to add a 2nd FFFilter entry to
> > libavfilter/vf_perspective.c
> >
> > with a zoompan user interface to access the already existing interpolation code
> > in vf_perspective.c
> >
> > we have bilinear and bicubic interpolation there and it should form a
> > better basis for the implementation
>
> Reusing vf_perspective.c interpolation implementations seems like a really great idea, I didn’t know they existed.
>
> However I don’t understand the way you suggest I should do it.
>
> Are you suggesting I should add “const FFFilter ff_vf_yazp = {}” in “vf_perspective.c” and move the zoompan logic there? If not, maybe what you’re suggesting has already been implemented in another filter and I can use it as an example to understand and reproduce it better?
I guess whats best would be to factor the interpolation code out of
vf_perspective.c into a new file as patch #1
and then use that new factored out code in a new filter that has a zoompan
style user interface in patch #2
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250604/e7ee3b26/attachment.sig>
More information about the ffmpeg-devel
mailing list