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
|
||||
|
||||
|
@ -409,10 +409,11 @@ vips_interpolate_bilinear_interpolate( VipsInterpolate *interpolate,
|
||||
const int tx = (six + 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 iy = (int) y;
|
||||
const int ix = sx >> (VIPS_TRANSFORM_SHIFT + 1);
|
||||
const int iy = sy >> (VIPS_TRANSFORM_SHIFT + 1);
|
||||
|
||||
const PEL *p1 = (PEL *) IM_REGION_ADDR( in, ix, iy );
|
||||
const PEL *p2 = p1 + ps;
|
||||
|
Loading…
Reference in New Issue
Block a user