The SIGMA term drops out on simplification.
Expanded the 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 ++-
This is easy as the caller already intersected the two boxes, so
the width is the integral.
---
pixman/pixman-filter.c |5 +
1 file changed, 5 insertions(+)
diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index 4aafa51..782f73d 100644
--- a/pixman/pixman-filter.c
+++
If sample is IMPULSE and reconstruct is BOX or IMPULSE the sub-pixel
position of the sample is not relevant, so only one subsample is needed.
---
pixman/pixman-filter.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/pixman/pixman-filter.c
The other filters don't range-check, so there is no need for this
one to either. It is only called with x==0.
---
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 fbc657d..00126cd 100644
---
With the cubic fix this is plenty accurate enough, far in excess of the pixman
fixed-point error limit. Likely even 16 samples is too many.
---
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
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
This supersedes my previous set of patches. Changes are to fix some
rebase errors so that it compiles after each patch applies, and some
further rebasing to rearrange the patches and split them into a more
logical order.
___
Pixman mailing list
Rearranged so that the entire block of memory for the filter pair
is allocated first, and then filled in. Previous version allocated
and freed two temporary buffers for each filter and did an extra
memcpy.
---
pixman/pixman-filter.c | 59
1 file
Only LINEAR is not differentiable at zero, so only do the recursive
split of the integral for it.
---
pixman/pixman-filter.c | 34 +-
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index
The other filters do not check for x being in range, so there is
no reason for cubic to do so.
---
pixman/pixman-filter.c | 16 +++-
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index 7e10108..bf9dce3 100644
---
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
11 matches
Mail list logo