Commit Graph

39 Commits

Author SHA1 Message Date
Pavel Krajcevski
82daf5b32b Add support for decoding void extent blocks in the ASTC decoder.
Fixes #25
2016-10-06 23:55:58 -07:00
Pavel Krajcevski
0b9db85b82 Allow decompressors to decode images whose images are not a multiple
of the block size for the given format. Fixes #27.
2016-10-06 23:55:11 -07:00
Pavel Krajcevski
e2b741d977 Switch to Apache-2.0 license 2016-08-17 16:49:13 -07:00
Pavel Krajcevski
c2ad7496a8 Fix build on VS2015 2016-08-17 11:18:28 -07:00
Pavel Krajcevski
e8b58e3fd0 Fix some MSVC rot 2016-02-17 12:27:09 -05:00
Pavel Krajcevski
8a1906e7b7 Fix a few errors caught by static analysis 2015-12-20 15:17:54 -05:00
Pavel Krajcevski
f6b2293f76 Fix some compiler warnings 2015-02-19 00:53:34 -08:00
Pavel Krajcevski
fb7805d875 Bring CMake integration up to date.
- Add a way to generate a FasTCConfig.cmake file so that you can
use cmake without having to install it.
- Add install paths for users that want to install it.
- Hide all public headers in FasTC/ qualified include path, this way we
know what files are public directly from the source. Also, it lets us
define build-tree and install-tree include directories a lot easier.
2014-11-18 17:07:26 -05:00
Pavel Krajcevski
5dc66f7469 Use std::string to increase portability 2014-11-06 16:21:12 -05:00
Pavel Krajcevski
c83e00db1c Add unit tests to test ASTC decompression 2014-11-06 16:07:45 -05:00
Pavel Krajcevski
a303bd4844 Some small aesthetic fixes 2014-11-05 17:24:28 -05:00
Pavel Krajcevski
dbde06edf1 Fix bug caused by typo. 2014-11-05 12:17:34 -05:00
Pavel Krajcevski
19b5d478a0 Fix small bug:
Set the bits that aren't being used in the texel data to zero so that
the integer decoding sequence recreates the proper texel values for
trits and quints that don't have as many bits as there are expected
values.
2014-11-04 18:22:05 -05:00
Pavel Krajcevski
facdbe9d1c Fix another small bug 2014-11-03 17:14:29 -05:00
Pavel Krajcevski
610d2d611d Silence some warnings 2014-11-03 17:14:23 -05:00
Pavel Krajcevski
1f45a49102 Caught small bug 2014-09-25 19:10:30 -04:00
Pavel Krajcevski
c0d7607998 Merge branch 'master' into DecompressASTC 2014-09-25 16:50:43 -04:00
Pavel Krajcevski
13df3c72c6 Apparently the block layout is different for ASTC... 2014-05-15 22:02:16 -04:00
Pavel Krajcevski
374f5375d5 Fix the way we quantize 16-bit pixel channels 2014-05-15 22:02:03 -04:00
Pavel Krajcevski
2d52f1eabb Actually advance the color values ptr 2014-05-15 22:01:21 -04:00
Pavel Krajcevski
31e01b7b10 Partition index does not include the number of partitons. 2014-05-14 13:29:12 +02:00
Pavel Krajcevski
a8514ba9b3 Reverse the bits of the ASTC block in order to read the texel weight data... 2014-05-08 00:45:23 +02:00
Pavel Krajcevski
1269ab1314 Fix a few bugs dealing with color blending 2014-05-07 23:00:42 +02:00
Pavel Krajcevski
a58501f56f Fast track zero partition selection 2014-05-07 22:59:49 +02:00
Pavel Krajcevski
c40829a3b7 Fix some compiler warnings 2014-04-15 14:18:12 -04:00
Pavel Krajcevski
125809d721 Add return type to function 2014-03-20 18:33:11 -04:00
Pavel Krajcevski
83588a0c97 Fix a bunch of bugs in the decoder 2014-03-18 19:37:03 -04:00
Pavel Krajcevski
c6364cc2a7 Made utils functions static inline and removed block size from compression specification
I'm not completely sure what the best strategy is in this case. Ultimately, it's good
that the format itself carries the block dimensions. It makes a lot of the code somewhat
uglier though, but really the only thing that we're sullying is the succinct ability to
determine what large-scale format it's in (PVRTC vs ASTC instead of 2bpp PVRTC vs 4bpp).
2014-03-12 19:38:35 -04:00
Pavel Krajcevski
dd41fc6ba1 Finish first pass of ASTC decompressor
Added color unquantization, the partition selection function, and the
actual lerping of colors once the texels have been decoded.
2014-03-11 16:52:41 -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
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
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
b75a66fdbf Initial ASTC decoder commit 2014-02-27 12:10:51 -05:00