Pavel Krajcevski
c40829a3b7
Fix some compiler warnings
2014-04-15 14:18:12 -04:00
Pavel Krajcevski
5725220ba6
Merge branch 'master' into ModularizeBPTC
2014-03-23 17:41:46 -04:00
Pavel Krajcevski
dcc12eb28a
Intel compiler hates floats
2014-03-21 20:25:59 -04:00
Pavel Krajcevski
037cb0951b
Built-in rand was causing severe perf issues.
2014-03-21 01:13:57 -04:00
Pavel Krajcevski
b1ef548a7c
Fix test iteration constant
2014-03-13 21:45:03 -04:00
Pavel Krajcevski
0a4726bfe2
Merge branch 'master' into DecompressASTC
2014-03-12 13:29:17 -04:00
Pavel Krajcevski
cc566471e9
Disambiguate the sqrts we're using
2014-03-12 12:12:20 -04:00
Pavel Krajcevski
6fdc3814b1
Seriously, I hate compiler warnings
2014-03-12 03:51:16 -04:00
Pavel Krajcevski
02e1749051
More compiler warnings
2014-03-12 03:46:23 -04:00
Pavel Krajcevski
caf4864761
More compiler warnings.
2014-03-12 03:40:45 -04:00
Pavel Krajcevski
c5d0a803e9
One more small piece of determinism
2014-03-12 03:31:53 -04:00
Pavel Krajcevski
7ecb217d20
More determinism
2014-03-12 03:29:05 -04:00
Pavel Krajcevski
88821fbbb0
Prevent the compiler from deciding whether or not the float is big enough to overflow or not...
2014-03-12 03:02:17 -04:00
Pavel Krajcevski
479ba8e76d
Fix a bunch of MSVC compiler warnings and errors.
...
Most notably, we need to actually fix a bug in MSVC that doesn't know how to properly instantiate
enums in partial template specialization. There are more details outlined here:
http://stackoverflow.com/questions/15466594/why-does-msvc-fail-to-compile-this-template-function
The fix in this commit closes #10
Also in this commit is a hacky way to allow GL defines. Apparently "LoadImage" is defined as a
macro even with WIN32_LEAN_AND_MEAN. This means that we have to #undef the code that includes
it, meaning that we also need to make sure not to actually mix GLDefines.h with any file that needs
to use the functions from Windows.h
2014-03-12 02:43:09 -04:00
Pavel Krajcevski
0eae5548a3
Make unit tests a bit more deterministic
2014-03-12 02:42:45 -04:00
Pavel Krajcevski
c5aab908ef
Relax the test parameters on eigenvalue calculation
2014-03-12 02:42:09 -04:00
Pavel Krajcevski
ce99d79bab
Add some static casts
2014-03-12 02:41:23 -04:00
Pavel Krajcevski
cebce26be1
Change our pixel component type to be signed
2014-03-11 16:52:02 -04:00
Pavel Krajcevski
3dd1444ff6
Add clamping to our pixels
2014-03-11 16:48:25 -04:00
Pavel Krajcevski
86678c0cfe
Add 4-value pixel constructor
2014-03-11 16:40:31 -04:00
Pavel Krajcevski
ed61bcfee4
Add generatl bit replication function
2014-03-10 18:30:27 -04:00
Pavel Krajcevski
ba0b5df59e
Finish matrix unit tests
2014-02-21 17:45:07 -05:00
Pavel Krajcevski
8b9e8cd9b5
Add matrix multiplication infrastructure
2014-02-21 16:18:00 -05:00
Pavel Krajcevski
0c4b226c78
Add matrix transpose
2014-02-20 16:15:13 -05:00
Pavel Krajcevski
98bc157e00
Add matrix multiplication test
2014-02-20 16:11:25 -05:00
Pavel Krajcevski
d4ec0a3b3b
Stub out remaining tests
2014-02-20 15:48:08 -05:00
Pavel Krajcevski
7ed5c13405
Allow additional indexable types
...
Instead of using operator() to index into the second operand of the
VectorAddition function, use operator[]. This way we can add to pointers
and std::vector types as well.
2014-02-20 15:36:59 -05:00
Pavel Krajcevski
1b7691993d
Add initial matrix tests
2014-02-20 15:34:12 -05:00
Pavel Krajcevski
62cce58c2f
Fix some of the vector multiplication and divide routines.
...
In general, we want the scalar division of vectors and matrices to
have the matrix come first and the scalar come second. It doesn't make
sense to divide a scalar by a vector or to divide a matrix by a vector,
so these should now produce errors at compile time.
Also, make sure to add additional types that can be multiplied together
using the * operator. If we multiply two vectors together, that's a dot
product. The size restrictions should be enforced at compile time by the
template parameters for VectorBase<T, N>::Dot
In this way, we can support vector/matrix multiplication by retaining the
* operator as well.
2014-02-20 14:49:35 -05:00
Pavel Krajcevski
2d7ee21fb7
Let the compiler choose what precision we want to do the vector-scalar multiplication/division in.
2014-02-19 19:36:28 -05:00
Pavel Krajcevski
366a7cdfe4
Add some YCoCg tests
2014-02-19 19:35:29 -05:00
Pavel Krajcevski
2213e1b7d6
Add tests for special vector cases
2014-02-16 18:28:37 -05:00
Pavel Krajcevski
45b739a44a
Add some tests for VectorBase
2014-02-16 17:17:25 -05:00
Pavel Krajcevski
92f5893650
Add first vector tests
2014-02-16 13:20:43 -05:00
Pavel Krajcevski
9f0603aaa8
Add scaling tests to make sure that bit depths are preserved.
2014-02-16 12:33:05 -05:00
Pavel Krajcevski
1a5b748b2c
Check for C++11 types in base library
2014-01-30 13:55:55 -05:00
Pavel Krajcevski
86741f7a89
Fix some configuration issues with VS2012
2013-11-17 14:17:00 -05:00
Pavel Krajcevski
692cfbcf77
Some compiler SNAFUs on windows.
2013-10-21 15:49:42 -04:00
Pavel Krajcevski
f1b564fdb2
Only report MSSIM
2013-10-12 16:37:48 -04:00
Pavel Krajcevski
855683983c
SSIM measurement is usually the smallest SSIm index, so report that instead of MSSIM, but if the user wants SSIM we can do that, too.
2013-10-11 13:06:29 -04:00
Pavel Krajcevski
8d37d6eee5
Add MSSIM metric for images based on matlab implementation.
2013-10-11 12:12:32 -04:00
Pavel Krajcevski
72697f650c
Add filtering operation.
2013-10-10 19:36:19 -04:00
Pavel Krajcevski
2159a6688a
Add colors.
2013-10-08 15:07:43 -04:00
Pavel Krajcevski
4baf2ce311
Combine image functionality from PVRTCEncoder into Base library.
2013-10-04 18:35:18 -04:00
Pavel Krajcevski
ab598c9ef7
Move Pixel class from PVRTCEncoder to FasTCBase.
2013-10-03 17:25:15 -04:00