Commit Graph

17 Commits

Author SHA1 Message Date
jst
53e9ca890b Fix typos. 2015-03-18 20:19:43 +01:00
jst
d67851ed1f Explain optimization. 2015-03-18 19:56:53 +01:00
Charlie Vieth
d8255b0421 Optimize bound checks.
Optimizing the bound checks resulted in an overall 14% increase in
conversion performance.
2015-03-15 17:44:39 -04:00
jst
0c6a628df5 Resolve image artifacts due to wrong coefficient index lookup. 2014-09-15 11:50:59 +02:00
jst
581d15cb53 Fix parallel computation. 2014-08-20 21:12:39 +02:00
jst
e950449c49 Fix wrong boundary calculation (bug #17)
This fix doesn't currently work concurrently. This will be fixed in another commit.
2014-08-20 20:54:59 +02:00
Charlie Vieth
08b124d541 Fix bound out of range panic. 2014-08-12 16:11:25 -04:00
Charlie Vieth
eefd4737aa Optimize YCbCr image resize 2014-07-30 02:08:58 -04:00
Charlie Vieth
80b3fc2b3f Pre-calculate start offset, optimize bound check
Increased performance by 30% for RGBA and 45% for Gray images, minor
performance increase for 16-bit images.

The start offset calculated by createWeights are stored in a slice and
passed to the resize functions to prevent duplication of effort.
2014-07-29 16:53:35 -04:00
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
314cea6612 Avoid temporaries to save some cycles. 2014-01-17 22:54:15 +01:00
jst
a32116ce4a Add documentation 2012-12-11 20:35:02 +01:00
jst
2d6edc049a Change ordering 2012-12-11 19:57:34 +01:00
jst
cfcbeb4bb2 Use replicated border in genericConverter 2012-12-10 21:26:34 +01:00
jst
dc1fcd1d24 gofmt 2012-12-10 19:52:41 +01:00
jst
378e366327 Replicate border instead of using a constant
Constant border could lead to wrong values alpha values with certain
configurations.
2012-12-10 19:27:21 +01: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