Commit graph

139 commits

Author SHA1 Message Date
Pavel Krajcevski e2b741d977 Switch to Apache-2.0 license 2016-08-17 16:49:13 -07:00
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