Commit Graph

17 Commits

Author SHA1 Message Date
jst
016a61cd31 Optimize data-locality for a huge increase in processing speed.
This is a complete rewrite! The tight scaling loop needs data locality for optimal performance. The old version used lots of pointer redirections to access image data which was bad for data locality. By providing the complete loop for each image type, this problem is solved. Unfortunately this increases code duplication but the result should be worth it: I could measure a ~6x speed-up for certain test cases!
2014-07-19 13:19:31 +02:00
jst
446eea2f7b Remove LUT based filters.
Caching kernel weights makes using the LUT based approach obsolete. Now they seem to be even slower than their counterparts.
2014-01-28 18:54:57 +01:00
jst
8f586c4f06 Add benchmarks to compare execution times.
Run "go test -bench LargeJpegThumb" to benchmark all functions at once.
2014-01-18 11:55:34 +01:00
jst
252ccc84a2 Add benchmarks for Lanczos3Lut to compare it with Lanczos3 performance. 2013-07-08 20:55:46 +02:00
jst
da95f74904 go fmt 2013-03-10 11:55:50 +01:00
jst
852f4a47e7 Merge branch 'no-image-shift' of http://github.com/jsummers/nfnt.resize
Merge branch 'fix-canvas-size-issue'
2013-03-10 11:33:44 +01:00
jst
84039c403b Test for correct canvas size. 2013-03-10 10:58:08 +01:00
Jason Summers
3d9094eb9e Center the resized image on the canvas, instead of shifting it slightly 2012-11-27 20:38:19 -05:00
jst
3e06045c3f Speed up computation: Try to avoid Image.At() as much as possible -> specialized color access for some image types 2012-09-21 20:02:25 +02:00
jst
e548f52385 Blur input image during downscaling by scaling the filter kernel to prevent moires in the output image 2012-09-19 21:03:56 +02:00
jst
d0b2b9bc39 Added MitchellNetravali, changed Lanczos a bit 2012-09-19 19:32:00 +02:00
jst
3fc31c95cc Kernel simplified 2012-09-15 19:30:32 +02:00
jst
339b8fd43a Speed up calculation by avoiding dynamic casting 2012-09-01 00:21:10 +02:00
jst
9041d4db18 Function signature changed again, no need for multiple return value 2012-08-09 18:58:57 +02:00
jst
14d51db8b4 Changed function signature to include error handling. Filters simplified. 2012-08-08 21:32:51 +02:00
nfnt
fdc4a64918 Tests added 2012-08-03 18:12:26 +02:00
nfnt
428642c9f1 initial commit 2012-08-02 21:59:40 +02:00