Commit graph

18 commits

Author SHA1 Message Date
Pavel Krajcevski 7fa561f67f Formatting. 2014-03-25 18:27:26 -04:00
Pavel Krajcevski 6505944f57 Cache the pixel computation for the cluster upon creation 2014-03-25 16:24:30 -04:00
Pavel Krajcevski 4128bcf073 Template the number of buckets during error calc so the compiler can unroll... 2014-03-25 16:24:08 -04:00
Pavel Krajcevski 891e2cfee8 Formatting 2014-03-22 19:24:51 -04:00
Pavel Krajcevski 9f259744de Get rid of comment 2014-03-21 20:36:54 -04:00
Pavel Krajcevski e936cce0cb More refactoring.
Change RGBACluster to be a class that only really persists once per block.
When we switch shapes and do operations on them, then we really only need
to change which points in the block are accessed. We don't need to do this
very often, so just change the mask whenever we need it. This brings us back
closer to our original performance, but we're still not where we were when
we started refactoring.
2014-03-21 20:27:00 -04:00
Pavel Krajcevski cf937f2ad3 Refactor shape and mode selection
We suffered another performance hit. This time it comes from the fact
that we're copying around a lot of data based on what partition we're
choosing. We can get rid of this a tad by only copying the data that we
need once and then using getters/setters that selectively pull from
an array based on our shape index.
2014-03-21 18:02:02 -04:00
Pavel Krajcevski 6954d7b154 Refactor RGBAEndpoints
Changed the RGBAEndpoints to use the vector/matrix classes in
FasTCBase. This caused a ~20ms performance hit on an 8-core machine
which is likely due to the compiler having difficulty compiling away
some procedure call overheads. Upon profiling, the biggest bottleneck
is still by far the QuantizedError function, so any and all further
optimization should be focused on that.
2014-03-21 01:21:07 -04:00
Pavel Krajcevski c37dca1068 Split calculation of compression parameters from packing them. 2014-01-21 16:23:18 -05:00
Pavel Krajcevski 03a7934644 Get rid of evil tabs once and forever (from cpp/h files) 2013-08-26 16:54:08 -04:00
Pavel Krajcevski 8c666bcd3f Fix more compiler warnings 2013-01-28 17:37:43 -05:00
Pavel Krajcevski c7a2e24b07 Fix some more compiler errors 2013-01-28 17:16:36 -05:00
Pavel Krajcevski 08c919d965 Fix some linker errors... 2013-01-28 17:04:58 -05:00
Pavel Krajcevski 5dd1fbbd48 Fix a lot of compiler warnings. 2013-01-28 16:30:04 -05:00
Pavel Krajcevski 5eba3ba6f7 Add license 2012-11-15 11:51:55 -05:00
Pavel Krajcevski 4c359f42a7 - Added a parameter to the PCA computation that returns the first and second
eigenvalues of the covariance matrix associated with the cluster.

- Compared results of testing the ratio of eigenvalues as a measurement of
  'linearity' for the different shapes, and output statistics.

- Added a #define that controls whether or not we do shape estimation using
  quantized AABB error or eigenvalue ratios. The former seems to be better.
2012-10-31 17:48:53 -04:00
Pavel Krajcevski 2ad2e94584 Move type defines into core library... all modules should have a standard set of types. 2012-08-30 13:28:28 -04:00
Pavel Krajcevski efdca4b5bb Initial commit with a few modifications 2012-08-24 15:56:45 -04:00