From: Bill Spitzak <spit...@gmail.com> Due to normalization these filters must all be identical (a single 1.0).
Also make IMPULSE.IMPULSE produce a width=1 filter, rather than zero (which did not work). v7: Replaced earlier tests for BOX.IMPULSE v10: Moved code to filter_width function Signed-off-by: Bill Spitzak <spit...@gmail.com> --- pixman/pixman-filter.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 10fa398..520ce92 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -341,7 +341,13 @@ static int filter_width(pixman_kernel_t reconstruct, pixman_kernel_t sample, double* size, int* subsample_bits) { - return ceil (filters[reconstruct].width + *size * filters[sample].width); + int width = ceil (filters[reconstruct].width + *size * filters[sample].width); + if (width <= 1) + { + width = 1; + *subsample_bits = 0; + } + return width; } /* Create the parameter list for a SEPARABLE_CONVOLUTION filter -- 1.9.1 _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman