Commit Graph

544 Commits

Author SHA1 Message Date
Pavel Krajcevski
674c18b9d9 Add DXT encoder from J.M.P. Van Waveren 2013-10-16 16:40:38 -04:00
Pavel Krajcevski
4f2db726b7 Get rid of unnecessary include 2013-10-16 10:40:56 -04:00
Pavel Krajcevski
838d1f7b6e Some small refactoring. 2013-10-15 13:56:40 -04:00
Pavel Krajcevski
bcf7c5c389 Some more compiler error and warning fixes. 2013-10-15 10:32: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
a9d8f4ca6e Fix some win32 bugs. 2013-10-14 23:25:02 -04:00
Pavel Krajcevski
7ec457faa9 Remove some dead code 2013-10-14 21:16:32 -04:00
Pavel Krajcevski
48d0cae9f0 Some bug fixes and optimizations. 2013-10-14 20:59:46 -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
0ecd678a58 Support loading paletted PNG images. 2013-10-14 20:56:55 -04:00
Pavel Krajcevski
d0260d3755 Don't memset if we don't need to. 2013-10-14 17:49:45 -04:00
Pavel Krajcevski
0b85431526 Get rid of unused variable 2013-10-14 17:48:00 -04:00
Pavel Krajcevski
4f44826056 Since all of our texture dimensions are powers of two, we can optimize out the modulo in favor of a mask. 2013-10-14 17:45:26 -04:00
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