summaryrefslogtreecommitdiffstats
path: root/video/out/filter_kernels.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/filter_kernels.c')
-rw-r--r--video/out/filter_kernels.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/video/out/filter_kernels.c b/video/out/filter_kernels.c
index 66116ce18b..217bb25730 100644
--- a/video/out/filter_kernels.c
+++ b/video/out/filter_kernels.c
@@ -244,7 +244,12 @@ static double spline64(kernel *k, double x)
static double gaussian(kernel *k, double x)
{
- return exp(-2.0 * x * x) * sqrt(2.0 / M_PI);
+ double p = k->params[0];
+ if (p > 100.0)
+ p = 100.0;
+ if (p < 1.0)
+ p = 1.0;
+ return pow(2.0, -(p / 10.0) * x * x);
}
static double sinc(kernel *k, double x)
@@ -292,7 +297,7 @@ const struct filter_kernel mp_filter_kernels[] = {
{"spline16", 2, spline16},
{"spline36", 3, spline36},
{"spline64", 4, spline64},
- {"gaussian", 2, gaussian},
+ {"gaussian", -1, gaussian, .params = {28.85390081777927, NAN} },
{"sinc2", 2, sinc},
{"sinc3", 3, sinc},
{"sinc4", 4, sinc},