[FFmpeg-devel] [PATCH] lsws/swscale.h: introduce sws_get_gaussian_vec

Anton Khirnov anton at khirnov.net
Wed Sep 6 14:13:25 EEST 2023


Quoting Stefano Sabatini (2023-09-06 00:59:44)
> > > > As I already said above - function parameter names in a prototype are
> > > > purely cosmetic and have no effect on anything besides doxygen. You can
> > > > change them at will and even remove them entirely without breaking API
> > > > or ABI.
> > > > 
> > > 
> > > > The other reasons do not strike me as strong enough to warrant an API
> > > > break.
> > > 
> 
> > > I disagree on this: the function is probably only used internally and
> > > by libavfilter, and the migration is trivial enough so should cause no
> > > disruption anyway.
> > 
> 
> > The migration is not trivial for someone who is not familiar with the
> > code (such as a distro package maintainer), since the new function has a
> > different signature. I really do not think we should break APIs for
> > frivolous reasons, which includes cosmetic ones.
> 
> Following this logic every API change should be considered not trivial
> for someone not familiar with the code,

A simple rename is a trivial API change. Almost everything else is not.

> and therefore should not be committed.

Yes, the baseline for every API change is that it is undesirable and you
must supply sufficiently strong arguments to overcome that.

> Also there is no evidence that external components are using this
> function.
>
> Besides the naming change, there are ergonomic and functional changes
> making the behavior of the code more correct.

I do not see the code being made more correct, but Michael observed in
this thread that it becomes longer and more convoluted.

I am not convinced that adding logging to this function is an
improvement. You have to pass an extra parameter to every call, making
the code longer and less readable. We do not need a dedicated error
message for every malloc.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list