[FFmpeg-devel] [PATCH 04/10] avfilter/af_compand: use hypot()

Ganesh Ajjanagadde gajjanagadde at gmail.com
Sun Nov 29 18:23:17 CET 2015


2015-11-22 12:05 GMT-05:00 Ganesh Ajjanagadde <gajjanagadde at gmail.com>:
> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
> ---
>  libavfilter/af_compand.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavfilter/af_compand.c b/libavfilter/af_compand.c
> index 3848d67..a64778e 100644
> --- a/libavfilter/af_compand.c
> +++ b/libavfilter/af_compand.c
> @@ -467,13 +467,13 @@ static int config_output(AVFilterLink *outlink)
>          L(2).b = (L(0).y - L(2).y) / (L(0).x - L(2).x);
>
>          theta = atan2(L(2).y - L(4).y, L(2).x - L(4).x);
> -        len = sqrt(pow(L(2).x - L(4).x, 2.) + pow(L(2).y - L(4).y, 2.));
> +        len = hypot(L(2).x - L(4).x, L(2).y - L(4).y);
>          r = FFMIN(radius, len);
>          L(3).x = L(2).x - r * cos(theta);
>          L(3).y = L(2).y - r * sin(theta);
>
>          theta = atan2(L(0).y - L(2).y, L(0).x - L(2).x);
> -        len = sqrt(pow(L(0).x - L(2).x, 2.) + pow(L(0).y - L(2).y, 2.));
> +        len = hypot(L(0).x - L(2).x, L(0).y - L(2).y);
>          r = FFMIN(radius, len / 2);
>          x = L(2).x + r * cos(theta);
>          y = L(2).y + r * sin(theta);
> --
> 2.6.2
>

ping, this one is more important than the other hypot stuff, simply
because pow(x, 2.0) is wasteful.


More information about the ffmpeg-devel mailing list