Commit Graph

29 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen c0ed106079 Formatting and whitespace changes 2020-06-06 14:25:03 +02:00
John Cupitt d64385ae99 revise kernel mask calculations
We were seeing small displacements at some shrink factors because of
rounding in the mask size calcualation. This PR takes the rounding into
account when positioning the mask.

See https://github.com/libvips/libvips/pull/1592#issuecomment-626363031
2020-05-10 18:45:27 +01:00
John Cupitt 29d9673fd8 update comment 2019-05-14 08:20:30 +01:00
John Cupitt 3b1e3e1841 add Mitchell kernel
see https://github.com/jcupitt/libvips/issues/966
2018-06-12 12:55:10 +01:00
John Cupitt a8bbe05596 tiny optimisations 2017-10-16 20:55:58 +01:00
John Cupitt 0767e4f4c9 remove a 0.5 pixel shift from triangle
lines up with cubic and lanczos now
2017-10-16 09:38:04 +01:00
John Cupitt 68ed42e2fa make linear and cubic adaptive 2017-10-15 22:09:44 +01:00
John Cupitt 65b9ced6e9 improve arg order
more consistent
2016-04-11 13:23:25 +01:00
John Cupitt 269cbb8641 better mask sizing for lanczos 2016-04-11 13:19:00 +01:00
John Cupitt c2035eb0f0 similarity uses reduce more often 2016-03-21 14:18:01 +00:00
John Cupitt 05156edd15 add orc path for reducev
works, but still not quite right, see some banding
2016-03-18 17:41:51 +00:00
John Cupitt ff88087a28 try making the reduce mask larger with residual 2016-03-15 14:59:59 +00:00
John Cupitt 4d10bd12f9 still trying to get reducevl3 to vectorise 2016-03-10 10:24:44 +00:00
John Cupitt a26291a426 reducehl3 is done
sort of anyway, tinkering with optimization
2016-03-09 22:47:02 +00:00
John Cupitt e9728e389b first commit 2016-03-09 12:56:30 +00:00
John Cupitt 8cffd136e9 finish reduce
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
John Cupitt 3e78bdb6a9 reduceh is working! 2016-01-27 14:34:06 +00:00
John Cupitt 8b09c86492 add cubich interp., start reduceh 2016-01-27 11:12:36 +00:00
Lovell Fuller 25eeb82de6 Consolidate FAST_PSEUDO_FLOOR macros, prefer __builtin_floor if available
Use of vips_interpolate_get_method avoids need to pass interpolate instance
Remove an unnecessary temp variable to help prevent register starvation

5% less time in vips_interpolate_bicubic_interpolate
10% less time in vips_affine_gen
2016-01-22 22:26:29 +00:00
John Cupitt 2b086cfe6e add signed int bicubic path
better rounding for 8- and 16-bit signed int bicubic
2014-08-07 10:13:08 +01:00
John Cupitt ebeee822bc better rounding behaviour for bicubic
fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
2014-08-05 10:02:11 +01:00
Benjamin Gilbert 8cc76a6ba3 Update address for Free Software Foundation
Also update LGPLv2.1 license text from the copy currently on the GNU
website.
2013-03-07 00:40:19 -05:00
John Cupitt f27ab2fa3f fix window_offset stuff, fix a performance problem 2010-08-12 15:56:07 +00:00
Nicolas Robidoux 3545786e81 tweak of the 5*, 1+ and 5- computation of the four Catmull-Rom weights 2010-06-10 19:54:27 +00:00
Nicolas Robidoux 736836a099 computation of Catmull-Rom weights with 10 flops: has got to be a world record 2010-06-10 19:49:50 +00:00
Nicolas Robidoux 06cee27b65 removed outdated minmod from templates (only used by nohalo.cpp now anyway) 2010-05-30 20:48:08 +00:00
John Cupitt d0573100b3 interpolation precision hacking 2010-05-28 21:16:28 +00:00
Nicolas Robidoux b0b7dc43e3 added mbicubic = symmetrized monotone cubic splines and added hopefully fast cast operators in templates.h 2010-02-13 01:46:00 +00:00
John Cupitt 4e76695e19 merge gtkdoc branch 2009-08-16 15:00:08 +00:00