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

2014-12-22 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

[Pixman] [PATCH pixman 06/11] pixman-filter: Only need to split integral at 0 for LINEAR

2014-12-22 Thread Bill Spitzak
--- pixman/pixman-filter.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 035a784..4561af2 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -180,13 +180,13 @@ integral (pixman_kernel_t

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

2014-12-22 Thread Bill Spitzak
--- pixman/pixman-filter.c | 57 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c index 4561af2..1a465ac 100644 --- a/pixman/pixman-filter.c +++ b/pixman/pixman-filter.c @@ -225,25

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

2014-12-22 Thread Bill Spitzak
GOOD uses the BOX.BOX filter, with a filter size of 1 for all scales larger than .75, which is identical to BILINEAR. At very small scales it clamps the filter size to 16. Uses the BILINEAR code if both directions are bilinear or are exactly .5 scale with integer translations. BEST uses the

[Pixman] [PATCH pixman 08/11] pixman-filter: fix blank images for IMPULSE sampling filter

2014-12-22 Thread Bill Spitzak
- Put error on center of odd-sized filters. This may fix other filters some but the primary effect is to change the size=1 filters produced by IMPULSE sampling from 0.0 to 1.0. - Made IMPULSE.IMPULSE produce a filter of size 1, not zero. - Reuse the above result to produce a faster BOX.IMPULSE

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

2014-12-22 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 09/11] pixman-filter: Gaussian fixes

2014-12-22 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

[Pixman] [PATCH pixman 05/11] pixman-filter: Consistency in arg names to integral ()

2014-12-22 Thread Bill Spitzak
Rename kernel1/2 to reconstruct/sample and use 1/scale as the scale argument, thus matching the names in other functions. --- pixman/pixman-filter.c | 30 +++--- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pixman/pixman-filter.c

[Pixman] [PATCH pixman 02/11] demos/scale: Added pulldown to choose PIXMAN_FILTER_* value

2014-12-22 Thread Bill Spitzak
This allows testing of GOOD/BEST and to do comparisons between the basic filters and PIXMAN_FILTER_SEPARABLE_CONVOLUTION settings. --- demos/scale.c | 14 +- demos/scale.ui | 40 ++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff