Commit graph

641 commits

Author SHA1 Message Date
Pavel Krajcevski cb348c3598 Reappropriate vexlib math headers into FasTC. 2013-10-03 17:19:28 -04:00
Pavel Krajcevski 30e0337496 Small refactoring changes. 2013-10-03 14:12:48 -04:00
Pavel Krajcevski 160fbb5e39 Add method for downscaling by averaging nearby pixel values. 2013-10-03 14:12:41 -04:00
Pavel Krajcevski 5b0ede3239 Fix win32 cltool. 2013-10-02 11:56:36 -04:00
Pavel Krajcevski 8e555b8424 Add hessian eigenvalue computation for an image. 2013-10-02 11:20:11 -04:00
Pavel Krajcevski 623f792904 Refactor 2013-10-02 11:19:36 -04:00
Pavel Krajcevski 0112f2cca7 Move the intensity calculation to the Pixel class... 2013-10-01 18:03:59 -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 a31de8f797 Wrong indices for modulation values 2013-09-30 11:20:08 -04:00
Pavel Krajcevski 795e8dd32d Change basename in cl tools to avoid directory information. 2013-09-30 11:17:17 -04:00
Pavel Krajcevski dbc7798655 Add modulation image debug output. 2013-09-30 11:08:51 -04:00
Pavel Krajcevski f3c37defcc Make sure that we specify the -l flag before trying to write to a log file. 2013-09-30 11:08:33 -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 a2390189f8 Make sure to not set an output stream if the user hasn't requested it. 2013-09-29 14:32:21 -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 e11e2d1c12 Actually use a log file instead of std::cout and remove a warning that's no longer applicable 2013-09-28 22:40:14 -04:00
Pavel Krajcevski 289bcc9d44 Make the block index for the stat function the pointer reinterpreted as an integer. This way we know exactly what block it is because we simply need to sort the stats in the output log. 2013-09-28 22:39:27 -04:00
Pavel Krajcevski baab69dc99 Fix some MSVC compiler snafus 2013-09-28 22:21:31 -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 f1924bd221 Try to send a single string that encompasses a stat to the stream so that when we do synchronization it will crunch the entire string at once. 2013-09-28 21:43:25 -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 8ea39890ac Update compressor to do a simple bounding box algorithm... results are still bad but better than what we've been getting. 2013-09-26 20:19:19 -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 4de5f90edf Some small bug fixes to our still awful compressor. 2013-09-25 20:10:18 -04:00
Pavel Krajcevski a57c40005c Small bug: don't allocate more memory than we have to. 2013-09-25 20:07:44 -04:00
Pavel Krajcevski ba36ca34fd Make sure to set the block stream order flag for sane debugging. This bug really needs to get fixed. 2013-09-25 20:07:10 -04:00
Pavel Krajcevski 2c8254d6c3 Small optimization: reserve vector data before we populate blocks vector. 2013-09-25 16:38:10 -04:00
Pavel Krajcevski 33a1dab0a9 The modulation value is the index. 2013-09-25 16:37:34 -04:00
Pavel Krajcevski 088481afe4 Meant resize instead of reserve. 2013-09-25 16:37:17 -04:00
Pavel Krajcevski 986616daf6 Touch up windows command line tool to support PVRTC compression 2013-09-25 16:36:34 -04:00
Pavel Krajcevski a587899048 Fix some compiler errors with MSVC (and honestly, other compilers should catch them, too.) 2013-09-25 15:06:45 -04:00
Pavel Krajcevski ed12d53cd4 Merge in a few changes from master 2013-09-25 15:05:56 -04:00
Pavel Krajcevski f19b324d28 Make sure to use the proper directory when running RUN_TESTS from MSVC. Note, this doesn't work in Release. 2013-09-25 14:42:35 -04:00
Pavel Krajcevski 79d2ad79ac Fix some snafus on windows 2013-09-25 14:30:48 -04:00
Pavel Krajcevski c6d7bdc670 Very preliminary compressor 2013-09-24 20:35:36 -04:00
Pavel Krajcevski 8f4dcca4d7 Add some utility functions for manipulating the block data, including packing colors back into the 64-bit word. 2013-09-24 20:33:48 -04:00
Pavel Krajcevski 3de9abc908 Make PVRTC block size a constant accessible from the global header 2013-09-24 19:30:31 -04:00
Pavel Krajcevski 340f4f3141 Add pixel packing routines 2013-09-24 19:29:03 -04:00
Pavel Krajcevski 75e570ed16 Fix some compiler snafus 2013-09-24 17:46:09 -04:00
Pavel Krajcevski 1636232717 Make sure that when changing from higher to lower bit depth (i.e. perform a division) that we round to the nearest value 2013-09-24 17:45:19 -04:00
Pavel Krajcevski 0cfca89da2 Add default for PVRTexLib on linux 2013-09-24 17:44:11 -04:00
Pavel Krajcevski ea68f3a138 PVRTC image quality of life improvements. 2013-09-24 14:00:14 -04:00