stuff
This commit is contained in:
parent
f76578fa4f
commit
6d97500587
25
TODO
25
TODO
@ -1,3 +1,28 @@
|
|||||||
|
- large and puzzling performance regression cf. 7.18 on the benchmark
|
||||||
|
|
||||||
|
7.18
|
||||||
|
$ time ./vips.py wtc_tiled_small.tif wtc2.tif
|
||||||
|
vips warning: im_conv: 6534 overflows and 13439 underflows detected
|
||||||
|
real 0m1.891s
|
||||||
|
user 0m3.110s
|
||||||
|
sys 0m0.320s
|
||||||
|
|
||||||
|
7.20 (and 7.22)
|
||||||
|
|
||||||
|
$ time ./vips.py wtc_tiled_small.tif wtc2.tif
|
||||||
|
vips warning: im_conv: 6502 overflows and 13429 underflows detected
|
||||||
|
real 0m2.962s
|
||||||
|
user 0m4.950s
|
||||||
|
sys 0m0.250s
|
||||||
|
|
||||||
|
and why are the conv numbers different?
|
||||||
|
|
||||||
|
seems to be a difference in the bilinear interpolator? we did increase
|
||||||
|
accuracy in 7.18 -> 7.20
|
||||||
|
|
||||||
|
I suppose conv must have changed too?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- use D65 in cmsCreateLab4Profile() ? not sure
|
- use D65 in cmsCreateLab4Profile() ? not sure
|
||||||
|
|
||||||
|
@ -409,10 +409,11 @@ vips_interpolate_bilinear_interpolate( VipsInterpolate *interpolate,
|
|||||||
const int tx = (six + 1) >> 1;
|
const int tx = (six + 1) >> 1;
|
||||||
const int ty = (siy + 1) >> 1;
|
const int ty = (siy + 1) >> 1;
|
||||||
|
|
||||||
/* We know x/y are always positive, so we can just (int) them.
|
/* We want ((int)x) ... save this double -> int conversion by just
|
||||||
|
* shifting sx down.
|
||||||
*/
|
*/
|
||||||
const int ix = (int) x;
|
const int ix = sx >> (VIPS_TRANSFORM_SHIFT + 1);
|
||||||
const int iy = (int) y;
|
const int iy = sy >> (VIPS_TRANSFORM_SHIFT + 1);
|
||||||
|
|
||||||
const PEL *p1 = (PEL *) IM_REGION_ADDR( in, ix, iy );
|
const PEL *p1 = (PEL *) IM_REGION_ADDR( in, ix, iy );
|
||||||
const PEL *p2 = p1 + ps;
|
const PEL *p2 = p1 + ps;
|
||||||
|
Loading…
Reference in New Issue
Block a user