Commit Graph

625 Commits

Author SHA1 Message Date
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
Pavel Krajcevski
e9a9988a56 Fix small bug in downsampling that causes artifacts 2013-09-20 12:48:56 -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
995c237e5e Add downscale test and fix a few bugs and formatting. 2013-09-19 17:47:36 -04:00
Pavel Krajcevski
1d58ea2385 Add RGBA pixel constructor 2013-09-19 15:11:27 -04:00
Pavel Krajcevski
9f4fa671d9 Add a first pass at content aware downscaling. 2013-09-18 18:03:44 -04:00
Pavel Krajcevski
e609075d04 Split apart the index calculation and pixel lookup functions 2013-09-18 18:03:08 -04:00
Pavel Krajcevski
16cc7f4a93 Use GetHeight/GetWidth() where appropriate instead of m_Width/m_Height 2013-09-18 18:02:35 -04:00
Pavel Krajcevski
4135e38f22 Set the default wrap behavior to wrap for image upscale, too 2013-09-18 18:00:59 -04:00
Pavel Krajcevski
9acd9db7b3 Merge branch 'master' into CompressPVRTC 2013-09-18 17:55:32 -04:00
Pavel Krajcevski
e0ec005ac8 Fix link problems 2013-09-18 14:00:53 -04:00
Pavel Krajcevski
1a70ddf57a Remove spurious comment 2013-09-17 18:52:02 -04:00
Pavel Krajcevski
d4ca50f8ed Fix the directories in the PVRTC compressor 2013-09-17 18:35:56 -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
Pavel Krajcevski
2540032acc Some small formatting changes 2013-09-13 16:25:00 -04:00
Pavel Krajcevski
093576c9e7 Add initial code for our compressor. 2013-09-13 13:10:22 -04:00