[FFmpeg-devel] [PATCH 1/2] lsws, lavfi: use sws_get_gaussian_vec

Michael Niedermayer michael at niedermayer.cc
Sat Aug 26 21:02:56 EEST 2023


Hi Stefano

On Sat, Aug 26, 2023 at 03:21:44PM +0200, Stefano Sabatini wrote:
> Use in place of deprecated sws_getGaussianVec.
> ---
>  libavfilter/vf_sab.c       | 17 +++++++++++++----
>  libavfilter/vf_smartblur.c |  8 ++++----
>  libswscale/utils.c         | 32 ++++++++++++++------------------
>  3 files changed, 31 insertions(+), 26 deletions(-)
> 

[...]
> @@ -2365,24 +2365,20 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
>      if (!filter)
>          return NULL;
>  
> -    if (lumaGBlur != 0.0) {
> -        filter->lumH = sws_getGaussianVec(lumaGBlur, 3.0);
> -        filter->lumV = sws_getGaussianVec(lumaGBlur, 3.0);
> -    } else {
> -        filter->lumH = sws_getIdentityVec();
> -        filter->lumV = sws_getIdentityVec();
> -    }
> -
> -    if (chromaGBlur != 0.0) {
> -        filter->chrH = sws_getGaussianVec(chromaGBlur, 3.0);
> -        filter->chrV = sws_getGaussianVec(chromaGBlur, 3.0);
> -    } else {
> -        filter->chrH = sws_getIdentityVec();
> -        filter->chrV = sws_getIdentityVec();
> -    }
> -
> -    if (!filter->lumH || !filter->lumV || !filter->chrH || !filter->chrV)
> -        goto fail;
> +#define SET_FILTER_VECTOR(name_, standard_deviation_, quality_)         \
> +    if (standard_deviation_ != 0.0) {                                   \
> +        sws_get_gaussian_vec(&filter->name_,                            \
> +                             standard_deviation_, quality_);            \
> +    } else {                                                            \
> +        filter->name_ = sws_getIdentityVec();                           \
> +    }                                                                   \
> +    if (!filter->name_)                                                 \
> +        goto fail;                                                      \
> +
> +    SET_FILTER_VECTOR(lumH, lumaGBlur, 3.0);
> +    SET_FILTER_VECTOR(lumV, lumaGBlur, 3.0);
> +    SET_FILTER_VECTOR(chrH, chromaGBlur, 3.0);
> +    SET_FILTER_VECTOR(chrV, chromaGBlur, 3.0);

Doesnt the old code look cleaner/simpler ?

The macro makes this a bit harder to read

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Take away the freedom of one citizen and you will be jailed, take away
the freedom of all citizens and you will be congratulated by your peers
in Parliament.
-------------- 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/20230826/ace0cc30/attachment.sig>


More information about the ffmpeg-devel mailing list