Commit Graph

581 Commits

Author SHA1 Message Date
Pavel Krajcevski
87f1e06cb5 Fix a couple of bugs with both block ordering and indexing 2013-10-14 17:45:17 -04:00
Pavel Krajcevski
0188006ce3 Assert that our width and height are powers of two. 2013-10-14 17:45:06 -04:00
Pavel Krajcevski
345292e36a Grab compressor from experimental branch 2013-10-14 17:43:29 -04:00
Pavel Krajcevski
f1b564fdb2 Only report MSSIM 2013-10-12 16:37:48 -04:00
Pavel Krajcevski
996c81ef01 Specialize the FilterValid routine to not consider the pixels as pixels but rather as values. This seems somewhat inelegant but it's fine in terms of a quick fix. 2013-10-12 16:32:09 -04:00
Pavel Krajcevski
5af29c87d0 Fix bug with kernel generation. 2013-10-11 21:38:49 -04:00
Pavel Krajcevski
68f2f4a8b3 If the intensity is greater than one, then we're treating it as a float value, so when packing it into a pixel, just pack the value instead of scaling it to 255... 2013-10-11 21:38:28 -04:00
Pavel Krajcevski
d3fd98c8fa Fix Intensity calculation for pixel. 2013-10-11 21:37:06 -04:00
Pavel Krajcevski
e21ffecfa3 Small tool to compare two images with all of the metrics that we have encoded. 2013-10-11 20:53:44 -04:00
Pavel Krajcevski
e2be925265 Fix bug where we were writing ARGB instead of RGBA, again a victim of stupid block stream ordering. 2013-10-11 20:53:22 -04:00
Pavel Krajcevski
a2bf21e515 Require pthreads lib on some platforms. 2013-10-11 19:42:00 -04:00
Pavel Krajcevski
86bb0f6d0e Add SSIM report to command line tools... 2013-10-11 13:09:33 -04:00
Pavel Krajcevski
855683983c SSIM measurement is usually the smallest SSIm index, so report that instead of MSSIM, but if the user wants SSIM we can do that, too. 2013-10-11 13:06:29 -04:00
Pavel Krajcevski
2d8c291107 Fix some small bugs with SSIM. 2013-10-11 13:05:59 -04:00
Pavel Krajcevski
8d37d6eee5 Add MSSIM metric for images based on matlab implementation. 2013-10-11 12:12:32 -04:00
Pavel Krajcevski
42c6f85642 Add some convenience Image functions. 2013-10-11 12:12:08 -04:00
Pavel Krajcevski
dd1c3351ea Fix small bug in Gaussian kernel generation. 2013-10-11 12:11:32 -04:00
Pavel Krajcevski
bf5429cd0c Add Gaussian kernel generating function. 2013-10-10 20:06:12 -04:00
Pavel Krajcevski
654ee23446 Force PSNR comparison between images to use the same pixeltype 2013-10-10 20:06:02 -04:00
Pavel Krajcevski
72697f650c Add filtering operation. 2013-10-10 19:36:19 -04:00
Pavel Krajcevski
076ca07bcf Fix color into rgba packing. 2013-10-10 19:36:10 -04:00
Pavel Krajcevski
b07fe9b670 Make IPixels single vectors in order to allow us to use their operators and other convenience functions. 2013-10-10 14:36:45 -04:00
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