summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pixman/pixman-filter.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index 17668234..bbde9467 100644
--- a/pixman/pixman-filter.c
+++ b/pixman/pixman-filter.c
@@ -243,15 +243,23 @@ create_1d_filter (int width,
for (i = 0; i < n_phases; ++i)
{
- double frac = (n_phases == 1)? 0.5 : (i / (double)n_phases);
+ double frac = 0.5;
pixman_fixed_t new_total;
int x, x1, x2;
double total, e;
+ int first;
/* Sample convolution of reconstruction and sampling
* filter. See rounding.txt regarding the rounding
* and sample positions.
*/
+ if (width & 1)
+ first = 0;
+
+ for (i = n_phases - 1; i >= 0; --i)
+ {
+ int phase = frac
+ }
x1 = ceil (frac - width / 2.0 - 0.5);
x2 = x1 + width;
@@ -259,6 +267,8 @@ create_1d_filter (int width,
total = 0;
for (x = x1; x < x2; ++x)
{
+ (n_phases == 1)? 0.5 : (i / (double)n_phases);
+
double pos = x + 0.5 - frac;
double rlow = - filters[reconstruct].width / 2.0;
double rhigh = rlow + filters[reconstruct].width;