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
f0110360c4
Add texel unquantization
2014-03-10 18:56:39 -04:00
Pavel Krajcevski
4e45988caa
Refactor to FasTC::Replicate where appropriate
2014-03-10 18:56:28 -04:00
Pavel Krajcevski
ed61bcfee4
Add generatl bit replication function
2014-03-10 18:30:27 -04:00
Pavel Krajcevski
1f5cb9294c
Add ASTCEncoder tests
...
Start with small tests to make sure that integer sequence encoding is working the way
that it needs to. Ideally there will be many more tests here, but for now we are trying
to get ASTC decompression working and testing is not a priority.
2014-03-10 15:00:30 -04:00
Pavel Krajcevski
fb7d80b385
Break out the integer sequence encoding into its own module.
2014-03-10 14:59:45 -04:00
Pavel Krajcevski
56c199fc5d
Add bit counter to utils
2014-03-10 14:58:36 -04:00
Pavel Krajcevski
5a68febdda
More work on ASTC decode.
...
Fixed the notion that the CEM data was right after the first six bits
after the partition mode. It's actually right before the texel weight
data. Still not sure whether or not the texel weights are read in
the opposite order from the color data...
Also, added some preliminary integer sequence decoding. This will need
to be tested before we actually figure out if we did it correctly or not...
2014-03-07 19:32:15 -05:00
Pavel Krajcevski
94db169582
Add a utility Bits class to help work with bit ranges in integers. Ideally we should add a bunch of other classical bitwise operations here
2014-03-07 19:31:22 -05:00
Pavel Krajcevski
8b9849182a
Add additional error check.
2014-02-28 19:04:25 -05:00
Pavel Krajcevski
be24a67bfc
Add color endpoint mode decoding
2014-02-27 17:02:38 -05:00
Pavel Krajcevski
90448df333
Add initial block mode decoding
2014-02-27 16:19:34 -05:00
Pavel Krajcevski
9eb6eb8692
Merge branch 'ModularizeBPTC' into DecompressASTC
2014-02-27 14:21:15 -05:00
Pavel Krajcevski
c6948e8421
Merge branch 'master' into ModularizeBPTC
2014-02-27 14:20:50 -05:00
Pavel Krajcevski
b75a66fdbf
Initial ASTC decoder commit
2014-02-27 12:10:51 -05:00
Pavel Krajcevski
a7a389b41c
Remove this folder since I don't think that this tool is gonna happen
2014-02-27 11:55:00 -05: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
05eeb09f36
Constify
2014-02-21 16:11:49 -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
4ca6141be6
Add simple 4x4 matrix file
2014-02-20 15:47:48 -05:00
Pavel Krajcevski
2af172e5e5
Add power method iteration for square matrices
2014-02-20 15:47:14 -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
9dc23db287
Add YCoCg pixel type
2014-02-18 13:25:29 -05:00
Pavel Krajcevski
4fc75f22dc
Fix vector operators to avoid needing overloads
2014-02-17 13:02:43 -05:00
Pavel Krajcevski
0875ee0ddb
Constify
2014-02-16 18:29:08 -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
543185fe2a
Add normalization function to vectors
2014-02-16 12:30:37 -05:00
Pavel Krajcevski
e20d84b1ee
Fix gross bug in VectorBase
2014-02-16 12:30:09 -05:00
Pavel Krajcevski
a530ae937e
Fix a few bugs.
2014-02-04 12:55:47 -05:00
Pavel Krajcevski
d1f7501584
Merge branch 'master' of git.cs.unc.edu:pavel/FasTC
2014-01-30 14:13:35 -05:00
Pavel Krajcevski
f32a943a90
Some small bugs, fixed #2
2014-01-30 14:12:55 -05:00
Pavel Krajcevski
b61c696529
Some small bugs
2014-01-30 14:09:44 -05:00
Pavel Krajcevski
1a5b748b2c
Check for C++11 types in base library
2014-01-30 13:55:55 -05:00
Pavel Krajcevski
37ffc102d0
Add shuffle operator to pixels.
2014-01-30 13:34:52 -05:00
Pavel Krajcevski
426d12e5c9
Fix formatting
2014-01-29 14:54:14 -05:00
Pavel Krajcevski
01b37778be
Update readme to reflect command line tool changes
2014-01-29 14:53:16 -05:00
Pavel Krajcevski
e62400eb01
Merge from master
2014-01-29 14:51:00 -05:00
Pavel Krajcevski
bf7ef5cd9e
Merge branch 'master' of git.cs.unc.edu:pavel/FasTC
2014-01-29 14:38:09 -05:00