[Pixman] [PATCH 14/15] pixman-filter: Gaussian fixes
Oded Gabbay
oded.gabbay at gmail.com
Wed Dec 23 02:49:13 PST 2015
On Sat, Dec 12, 2015 at 8:06 PM, <spitzak at gmail.com> wrote:
> From: Bill Spitzak <spitzak at gmail.com>
>
> The SIGMA term drops out on simplification.
>
> Expanded the size slightly (from ~4.25 to 5) to make the cutoff less noticable.
> The filter is truncated at a value of .001 instead of .006, this new
> value is less than 1/2 of 1/255, rather than greater than it.
> ---
> pixman/pixman-filter.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
> index bf9dce3..7d7b381 100644
> --- a/pixman/pixman-filter.c
> +++ b/pixman/pixman-filter.c
> @@ -63,10 +63,7 @@ linear_kernel (double x)
> static double
> gaussian_kernel (double x)
> {
> -#define SQRT2 (1.4142135623730950488016887242096980785696718753769480)
> -#define SIGMA (SQRT2 / 2.0)
> -
> - return exp (- x * x / (2 * SIGMA * SIGMA)) / (SIGMA * sqrt (2.0 * M_PI));
> + return exp (- x * x) / sqrt (M_PI);
> }
>
> static double
> @@ -139,7 +136,7 @@ static const filter_info_t filters[] =
> { PIXMAN_KERNEL_BOX, box_kernel, 1.0 },
> { PIXMAN_KERNEL_LINEAR, linear_kernel, 2.0 },
> { PIXMAN_KERNEL_CUBIC, cubic_kernel, 4.0 },
> - { PIXMAN_KERNEL_GAUSSIAN, gaussian_kernel, 6 * SIGMA },
> + { PIXMAN_KERNEL_GAUSSIAN, gaussian_kernel, 5.0 },
> { PIXMAN_KERNEL_LANCZOS2, lanczos2_kernel, 4.0 },
> { PIXMAN_KERNEL_LANCZOS3, lanczos3_kernel, 6.0 },
> { PIXMAN_KERNEL_LANCZOS3_STRETCHED, nice_kernel, 8.0 },
> --
> 1.9.1
>
> _______________________________________________
> Pixman mailing list
> Pixman at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pixman
Acked-by: Oded Gabbay <oded.gabbay at gmail.com>
More information about the Pixman
mailing list