[Pixman] [PATCH pixman 04/11] pixman-filter: put error on center of odd-sized filters

2014-09-10 Thread Bill Spitzak
--- pixman/pixman-filter.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 4ff02ec..15ea270 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -299,7 +299,7 @@ create_1d_filter (int *width,

[Pixman] [PATCH pixman 11/11] pixman-image: Implement PIXMAN_FILTER_GOOD/BEST as separable convolutions

2014-09-10 Thread Bill Spitzak
GOOD uses the BOX filter, and uses BILINEAR for all scales > 1/1.35. BEST uses the LANCZOS2 filter. The size is chosen to produce normal filtering up to a scale of 2, and square pixels with only slight blurry borders beyond that. I think it looks really nice. Uses NEAREST instead of BILINEAR, GOO

[Pixman] [PATCH pixman 08/11] pixman-filter: refactor polynominal and don't range check

2014-09-10 Thread Bill Spitzak
Also made impulse filter not range check. All the other filters do not test for x in range. --- pixman/pixman-filter.c | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 661c1ff..3a73f9b 100644 --- a/pixma

[Pixman] [PATCH pixman 10/11] pixman-filter: BOX.IMPULSE is same as IMPULSE.IMPULSE

2014-09-10 Thread Bill Spitzak
The subsampling can be ignored as all the filters are identical. Code trying to duplicate PIXMAN_FILTER_NEAREST may generate this, so it may pay off to have this optimization. --- pixman/pixman-filter.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/pixman/pixman-filter.c b/pixman/pixman

[Pixman] [PATCH pixman 07/11] pixman-filter: Gaussian fixes

2014-09-10 Thread Bill Spitzak
Simplified the function. Expanded 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 inse

[Pixman] [PATCH pixman 03/11] pixman-filter: Speed up the BOX+BOX filter

2014-09-10 Thread Bill Spitzak
This is easy as the caller already intersected the two boxes. --- pixman/pixman-filter.c | 25 +++-- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index a9af72c..4ff02ec 100644 --- a/pixman/pixman-filter.c +++

[Pixman] [PATCH pixman 06/11] pixman-filter: reduce amount of malloc/free/memcpy to generate filter

2014-09-10 Thread Bill Spitzak
--- pixman/pixman-filter.c | 59 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index d26a549..c25e8a3 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -225,25 +22

[Pixman] [PATCH pixman 09/11] pixman-filter: make IMPULSE+IMPULSE not produce blank image

2014-09-10 Thread Bill Spitzak
--- pixman/pixman-filter.c |8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 3a73f9b..9860f7f 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -318,11 +318,13 @@ pixman_filter_create_separable_con

[Pixman] [PATCH pixman 05/11] pixman-filter: Use the word 'scale' consistently

2014-09-10 Thread Bill Spitzak
Removed the use of scale as 1/scale in integral(). --- pixman/pixman-filter.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 15ea270..d26a549 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -163

[Pixman] [PATCH pixman] V2: Fixes to filter and make GOOD/BEST use filtering

2014-09-10 Thread Bill Spitzak
This series of patches retains the independent reconstruction and sampling filters. It fixes several bugs and does some optimization of the filter generator. The final patch makes GOOD/BEST use these filters when necessary, matching the results that I have made to Cairo. __

[Pixman] [PATCH pixman 02/11] pixman-filter: Correct Simpsons integration

2014-09-10 Thread Bill Spitzak
Samples are multiplied in a 1,4,2,4,2,4,1 pattern, previous version did 1,2,4,4,4,2,1. I also reduced the number of samples greatly as there is no numerical difference with the filter functions. --- pixman/pixman-filter.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff

[Pixman] [PATCH pixman 01/11] demos/scale: Compute filter size using boundary of xformed ellipse, not rectangle

2014-09-10 Thread Bill Spitzak
This is much more accurate and less blurry. In particular the filtering does not change as the image is rotated. --- demos/scale.c | 43 ++- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/demos/scale.c b/demos/scale.c index d00307e..0b6c715