Commit Graph

549 Commits

Author SHA1 Message Date
Pavel Krajcevski
5fb39cf5c5 Add LUTs for areas of constant intensity. 2013-10-21 14:26:21 -04:00
Pavel Krajcevski
3bb68cd8ad Debug refactoring. 2013-10-18 04:13:12 -04:00
Pavel Krajcevski
22246810d6 Report entropy when compressing a texture. 2013-10-18 04:12:49 -04:00
Pavel Krajcevski
f597ec2f77 Add entropy calculation to images. 2013-10-18 04:12:32 -04:00
Pavel Krajcevski
54f5030aeb Add some minor code changes. 2013-10-16 19:35:34 -04:00
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