Commit Graph

438 Commits

Author SHA1 Message Date
Pavel Krajcevski
bb525ae9dc If all of the PVR blocks are the same then we don't need so much code. 2013-09-04 15:28:51 -04:00
Pavel Krajcevski
9273625eeb Add initial decompressor test 2013-09-02 19:14:50 -04:00
Pavel Krajcevski
4bbd80aab2 Make sure to preserve bit depth when bilinearly upscaling 2013-09-02 19:14:31 -04:00
Pavel Krajcevski
3f4ffa61b5 Reverse byte order (and interpret the data as a 64 bit word) for PVRTC blocks 2013-09-02 19:13:53 -04:00
Pavel Krajcevski
df81c73456 Default wrap mode to clamp 2013-09-02 19:12:43 -04:00
Pavel Krajcevski
4913435119 Add paths to look for PVR library in cmake 2013-09-02 16:04:47 -04:00
Pavel Krajcevski
6642b64c78 Make sure that on MSVC platforms we force shared CRT to be consistent with other CMake defaults. 2013-09-01 10:19:03 -04:00
Pavel Krajcevski
5cde88d3b7 Add Image tests 2013-08-31 18:31:38 -04:00
Pavel Krajcevski
1d25e31d2a Bilinear upscale bug fixes. 2013-08-31 18:30:47 -04:00
Pavel Krajcevski
40b479487c Add accessors for image dimensions 2013-08-31 17:05:26 -04:00
Pavel Krajcevski
36641c2268 Don't set all of the memory to zero when we specify an image without any pixels 2013-08-31 16:43:32 -04:00
Pavel Krajcevski
992c72e4b5 Fix asserts 2013-08-31 16:40:49 -04:00
Pavel Krajcevski
fa37aba768 Add comparison operator for pixels 2013-08-31 16:37:58 -04:00
Pavel Krajcevski
8bf682f04e Add comment for RGBA packing 2013-08-31 16:37:40 -04:00
Pavel Krajcevski
b3a07e21f7 Add assignment operator 2013-08-31 16:37:07 -04:00
Pavel Krajcevski
26005bfd27 Disambiguate the Image.h from PVRTCEncoder and Core 2013-08-31 16:36:10 -04:00
Pavel Krajcevski
21199bc264 Add Pixel tests 2013-08-31 16:06:00 -04:00
Pavel Krajcevski
8c2127c08a When packing ARGB pixels make sure to convert them to 8-bit depth first 2013-08-31 16:05:50 -04:00
Pavel Krajcevski
1ffbdea2b8 Make sure to handle 0 bit depth a bit more gracefully 2013-08-31 16:05:28 -04:00
Pavel Krajcevski
9a0fbebac3 Fix bug when going from smaller to higher bit depth 2013-08-31 16:04:58 -04:00
Pavel Krajcevski
ad17404bf7 Begin counting the bits from the beginning of the byte stream. The way I was doing it before was silly... 2013-08-31 14:33:44 -04:00
Pavel Krajcevski
f280c2bb33 Fix some compiler warnings. 2013-08-31 13:30:12 -04:00
Pavel Krajcevski
53a8c8e3cd Fix bug where the defaulted value caused a crash (wtf?) 2013-08-30 19:08:53 -04:00
Pavel Krajcevski
012d9e3ce0 Add preliminary tests for PVRTC pixels 2013-08-30 19:08:20 -04:00
Pavel Krajcevski
ab0dbbfa6e Bugfix
The bug was that bitIdx was not being taken into account when we realized that there was enough pixel depth to stay within the current byte when reading pixel values.
2013-08-30 18:45:14 -04:00
Pavel Krajcevski
1cc8f57538 Add block tests 2013-08-30 18:44:50 -04:00
Pavel Krajcevski
87d82ea443 Merge branch 'master' into PVRTCDecoder to use GTest
Conflicts:
	CMakeLists.txt
2013-08-30 16:18:56 -04:00
Pavel Krajcevski
bdbed413b5 Tell CMake to look in individual test directories for tests if they exist 2013-08-30 12:54:07 -04:00
Pavel Krajcevski
2d470a387a Add GTest framework 2013-08-30 12:53:44 -04:00
Pavel Krajcevski
90662a56cd First pass at PVRTC Decompressor 2013-08-29 18:35:15 -04:00
Pavel Krajcevski
c59deae728 Add accessors for the color channels and a method for packing the information into a 32 bit RGBA int 2013-08-29 18:34:53 -04:00
Pavel Krajcevski
f822c15868 Pixel depth defaults to 8 2013-08-29 18:34:25 -04:00
Pavel Krajcevski
73f4992081 If we want a color channel with zero depth then it should default to full intensity, but we will remember that there is zero depth there. 2013-08-29 18:33:56 -04:00
Pavel Krajcevski
b3d7cd7877 Constify a few things 2013-08-29 18:32:48 -04:00
Pavel Krajcevski
40743d612b Add a logical definition of an image for PVRTC 2013-08-29 18:31:42 -04:00
Pavel Krajcevski
d3daed8969 Add block definitions for PVRTC 2013-08-29 12:08:32 -04:00
Pavel Krajcevski
55a61b5d8d constify some method declarations 2013-08-29 11:57:46 -04:00
Pavel Krajcevski
c5fb5ba0b1 Reorder color channels to match PVRTC spec 2013-08-29 11:57:18 -04:00
Pavel Krajcevski
53e7879742 Add PVRTC Pixel class
This class accepts a pixels with up to 8-bit components. With the way PVRTC is laid out, there are many different bit modes that we could run into. This lets us change between any that we'd like to deal with.
2013-08-28 17:52:45 -04:00
Pavel Krajcevski
5c80b4f373 Initial files for PVRTC encoder. Starting with a decompressor. 2013-08-27 18:25:15 -04:00
Pavel Krajcevski
0db3f830a6 Fix error from merge where we renamed the project to FasTC 2013-08-27 14:43:55 -04:00
Pavel Krajcevski
9fe7a08422 Fix a bunch of errors incurred from refactoring. 2013-08-27 14:39:31 -04: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
af2318027b More refactoring 2013-08-26 16:11:53 -04:00
Pavel Krajcevski
0304bd4187 Refactor a bunch of things to renforce a bunch of style rules. 2013-08-26 16:11:39 -04:00
Pavel Krajcevski
9282541160 Comments and bug fixes.
Added comments to the imagefile header. There were method declarations in the file that did not actually correspond to methods either. These were removed.
2013-08-22 18:35:01 -04:00
Pavel Krajcevski
25eba39870 Change the name of everything to FasTC 2013-08-22 18:35:01 -04:00
Pavel Krajcevski
fc1baea05f Add a lot of comments and code cleanup 2013-08-22 18:33:42 -04:00
Pavel Krajcevski
f1f1294b2e Add tab formatting. 2013-08-22 18:33:42 -04:00
Pavel Krajcevski
921c3e9f16 Add comments to BC7CompressionMode.h 2013-08-22 18:33:41 -04:00