Pavel Krajcevski
34f90c07a2
Qualify namespace
2015-01-26 15:11:35 -05:00
Pavel Krajcevski
43aa8266b6
Fix license in file
2015-01-26 15:10:56 -05: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
168c6a0071
Merge branch 'master' into DecompressASTC
2014-11-03 18:28:44 -05:00
Pavel Krajcevski
ff1181e12a
Lots of QOL fixes:
...
1. Avoid the need for multiple-of-four input textures. If you don't pass
a multiple of four then we'll do our best to pad the image.
2. Fix a bunch of bugs where we didn't accurately report why we couldn't
compress a texture and just crashed instead.
3. Some code refactoring to make certain if statements more readable.
2014-11-03 18:24:19 -05:00
Pavel Krajcevski
4c03336a43
Fix how we compute compressed size
2014-11-03 15:07:56 -05:00
Pavel Krajcevski
aba347778e
Fix a few compiler warnings
2014-03-23 17:48:17 -04:00
Pavel Krajcevski
5725220ba6
Merge branch 'master' into ModularizeBPTC
2014-03-23 17:41:46 -04:00
Pavel Krajcevski
220a736a36
Move the other BPTC settings into the settings struct
2014-03-22 19:52:58 -04:00
Pavel Krajcevski
26e816b3db
Add settings for BPTC compression
2014-03-21 12:45:47 -04:00
Pavel Krajcevski
65b874693e
Move stopwatch.h to Core/src/include
2014-03-20 18:32:54 -04:00
Pavel Krajcevski
914eeae284
PThreads are weird on OS X
2014-03-13 21:45:14 -04:00
Pavel Krajcevski
44ebe5d0bb
Hook ASTC decompressor into the rest of FasTC
2014-03-12 19:41:48 -04:00
Pavel Krajcevski
7ee0df9a5a
Add 2bpp PVRTC compression format
2014-03-12 14:01:31 -04:00
Pavel Krajcevski
c6948e8421
Merge branch 'master' into ModularizeBPTC
2014-02-27 14:20:50 -05:00
Pavel Krajcevski
1a5b748b2c
Check for C++11 types in base library
2014-01-30 13:55:55 -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
Pavel Krajcevski
553dc44ca5
Allow access to the compressed data if the user promises not to change it.
2014-01-23 18:23:55 -05:00
Pavel Krajcevski
f64c2d57a2
Merge branch 'master' into MinGW
2014-01-21 16:25:49 -05:00
Pavel Krajcevski
f12ee09f7e
Some formatting and rearrange the BPTC code to be more structured like the others
2014-01-21 14:46:25 -05:00
Pavel Krajcevski
6794a0fffb
Add hooks to NVTT bc7_export library if present on the users machine. Assumes that all of the cross platform problems are fixed for incorporation into FasTC... Otherwise the options to use NVTT are ignored.
2013-11-19 12:03:03 -05:00
Pavel Krajcevski
6dd43cde4f
Fix compiler problems on MinGW
2013-11-11 18:45:09 -05:00
Pavel Krajcevski
46e83c8b4a
Remove boost threading.
2013-11-11 17:07:57 -05:00
Pavel Krajcevski
ed188ae415
Add Win32 Threading
2013-11-11 16:59:58 -05:00
Pavel Krajcevski
a80944901e
Refactor CompressionJob struct.
...
In order to better facilitate the change from block stream order to non-block stream order,
a lot of changes were introduced to the way that we feed texture data to the compressors. This
data is embodied in the CompressionJob struct. We have made it so that the compression job
points to both the in and out pointers for our compressed and uncompressed data. Furthermore,
we have made sure that the struct also contains the format that its compressing for, so that if
any threading programs would like to chop up a compression job into smaller chunks based on the
format, it doesn't need to know the format explicitly, it just needs to know certain properties
about the format.
Moreover, the user can now define the start and end pixels from which we would like to compress
to. We can compress subsets of data by changing the in and out pointers and the width and height
values. The compressors will read data linearly until they reach the out pixels based on the width
of the given pixel.
2013-11-08 16:31:19 -05:00
Pavel Krajcevski
8e76d149ba
Remove a bunch of code that assumes that we get our pixel data in block stream order...
2013-11-06 18:23:19 -05:00
Pavel Krajcevski
bae71bbe4f
Add Rich Geldreich's ETC1 compressor.
2013-10-21 17:23:33 -04:00
Pavel Krajcevski
674c18b9d9
Add DXT encoder from J.M.P. Van Waveren
2013-10-16 16:40:38 -04:00
Pavel Krajcevski
89110be602
Get rid of a bunch of MSVC compiler warnings.
2013-10-15 00:31:33 -04:00
Pavel Krajcevski
c8101b46f7
Make sure not to break compilation if we don't have any atomics.
2013-10-14 20:58:11 -04:00
Pavel Krajcevski
3e35fb2c0d
Merge SplitCoreLibrary
2013-10-10 11:04:40 -04:00
Pavel Krajcevski
4baf2ce311
Combine image functionality from PVRTCEncoder into Base library.
2013-10-04 18:35:18 -04:00
Pavel Krajcevski
ce7bb8e891
Add command line flags to choose between whether or not to use PVRTexLib or FasTC
2013-09-30 12:46:23 -04:00
Pavel Krajcevski
219777687f
Small refactoring.
2013-09-30 12:39:26 -04:00
Pavel Krajcevski
03f693f104
Add a hook into the PVRTexLib compressor if it's been found via cmake.
2013-09-30 12:38:09 -04:00
Pavel Krajcevski
63a235958d
When creating a compressed image from data make sure to set the block stream order based upon the format that you're compressing to. Yet more of this bug....
2013-09-29 14:32:59 -04:00
Pavel Krajcevski
89fbaf8170
Keep track of the image size with the base image rather than the compressed image. It's not always the case that the image data is RGBA8 data.
2013-09-28 22:40:48 -04:00
Pavel Krajcevski
c3cb8403b5
Fix our threadsafe streambuf to accept a sink that receives all of the proper output...
2013-09-28 21:44:50 -04:00
Pavel Krajcevski
43bd44b6ca
Add a threadID function
2013-09-28 21:42:50 -04:00
Pavel Krajcevski
13af957ab9
Remove BlockStatManager in favor of ostreams
2013-09-28 21:42:24 -04:00
Pavel Krajcevski
7bd54105e4
Add simple implementation of our thread-safe stream buffer.
2013-09-28 18:11:41 -04:00
Pavel Krajcevski
8bc81edf14
Add skeleton for thread safe stream buffer.
2013-09-28 17:30:25 -04:00
Pavel Krajcevski
157295efa3
Squelch some compiler warnings.
2013-09-27 17:38:36 -04:00
Pavel Krajcevski
dcf389d346
Merge PVRTC compressor into split library.
2013-09-27 17:30:16 -04:00
Pavel Krajcevski
36ce478821
Refactor PSNR calculations.
2013-09-26 20:18:26 -04:00
Pavel Krajcevski
264e447e80
Deal with this bug once and for all. If we have an image in block stream order, then explicitly reorder it before doing any work. Then keep it that way. I probably could have fixed this in the amount of time I've wasted on it. -____-
2013-09-26 20:17:07 -04:00
Pavel Krajcevski
1093447055
Plug in the infrastructure to start passing images to be compressed.
2013-09-20 12:43:59 -04:00
Pavel Krajcevski
29bd1368e6
Fix a few compiler warnings and add the BPTCEncoder license.
2013-09-15 14:56:09 -04:00
Pavel Krajcevski
28cf254fe5
Initial decoupling of base library from core library. Includes a few formatting changes as well.
2013-09-13 19:36:37 -04:00