Commit Graph

559 Commits

Author SHA1 Message Date
Pavel Krajcevski
127fd7b365 Add Image template instantiation for IPixel 2013-10-10 11:35:28 -04:00
Pavel Krajcevski
ad5f012a4c Add the ability to treat intensity pixels as floats. 2013-10-10 11:35:01 -04:00
Pavel Krajcevski
51cec12938 Add intensity pixels 2013-10-10 11:27:54 -04:00
Pavel Krajcevski
3e35fb2c0d Merge SplitCoreLibrary 2013-10-10 11:04:40 -04:00
Pavel Krajcevski
9bbc707379 Fix average downscale method signature. 2013-10-10 10:49:49 -04:00
Pavel Krajcevski
9911d5edc5 Get rid of some redundant code =) 2013-10-08 20:30:31 -04:00
Pavel Krajcevski
f502e2bd0e Change the order of directory traversal so that our tests work nicer 2013-10-08 20:30:16 -04:00
Pavel Krajcevski
47074c1224 Abstract away a bit more logic in order to allow us to easily override the core vector operations if need be. 2013-10-08 20:29:56 -04:00
Pavel Krajcevski
01a38dc76b Add more generic structures for performing scalar multiplication with vectors (i.e. ones that actually compile) 2013-10-08 18:39:32 -04:00
Pavel Krajcevski
0add6a5ee9 Allow FasTC::Image<Color> 2013-10-08 18:38:11 -04:00
Pavel Krajcevski
a4a289c177 Change the pixel channel size to 16 bits so that our arithmetic operations don't overflow. 2013-10-08 18:37:38 -04:00
Pavel Krajcevski
dd12cc92cd Revert "Pixels are actually 4vecs of ints"
This reverts commit 85c3f9fc90.
2013-10-08 17:32:40 -04:00
Pavel Krajcevski
2159a6688a Add colors. 2013-10-08 15:07:43 -04:00
Pavel Krajcevski
85c3f9fc90 Pixels are actually 4vecs of ints 2013-10-08 15:07:11 -04:00
Pavel Krajcevski
473a1c1869 Move the operators out of the class definition so that we can derive from Vectors. 2013-10-08 15:06:20 -04:00
Pavel Krajcevski
3a4a841309 Merge branch 'CompressPVRTC' of git.cs.unc.edu:pavel/FasTC into CompressPVRTC 2013-10-07 11:52:24 -04:00
Pavel Krajcevski
4baf2ce311 Combine image functionality from PVRTCEncoder into Base library. 2013-10-04 18:35:18 -04:00
Pavel Krajcevski
ab598c9ef7 Move Pixel class from PVRTCEncoder to FasTCBase. 2013-10-03 17:25:15 -04:00
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