Commit graph

48 commits

Author SHA1 Message Date
Pavel Krajcevski adcea1bddc Fix some 'delete' warnings 2016-12-24 17:55:20 -05:00
Pavel Krajcevski e2b741d977 Switch to Apache-2.0 license 2016-08-17 16:49:13 -07:00
Pavel Krajcevski e8b58e3fd0 Fix some MSVC rot 2016-02-17 12:27:09 -05:00
Pavel Krajcevski a15e015b82 Fix compiler warnings 2016-01-14 12:35:03 -05:00
Pavel Krajcevski 841a1b0c72 Add multiplier to make the differences more noticable 2015-12-20 17:42:22 -05:00
Pavel Krajcevski f1151ff767 Add diff flag for compare tool 2015-12-20 16:25:45 -05:00
Pavel Krajcevski 8a1906e7b7 Fix a few errors caught by static analysis 2015-12-20 15:17:54 -05:00
Pavel Krajcevski ade1f77fe4 Fix bugs and get tests passing 2015-02-19 23:17:07 -08:00
Pavel Krajcevski 1f2358be79 Add tests and IDCT... now we need to fix the tests so they pass 2015-02-19 00:53:20 -08:00
Pavel Krajcevski 4afacf384d Add preliminary forward DCT 2015-02-11 23:39:32 -08:00
Pavel Krajcevski 325a2ac96d Add utility function for splitting images into images of pixel channels. 2015-01-26 17:27:35 -05:00
Pavel Krajcevski fb7805d875 Bring CMake integration up to date.
- Add a way to generate a FasTCConfig.cmake file so that you can
use cmake without having to install it.
- Add install paths for users that want to install it.
- Hide all public headers in FasTC/ qualified include path, this way we
know what files are public directly from the source. Also, it lets us
define build-tree and install-tree include directories a lot easier.
2014-11-18 17:07:26 -05:00
Pavel Krajcevski edfc6bde78 Be a little more defensive about calculating SSIM 2014-08-26 13:34:35 -04:00
Pavel Krajcevski ff210ed741 Fix serious bug in Image.cpp 2014-03-18 19:37:26 -04:00
Pavel Krajcevski ed61bcfee4 Add generatl bit replication function 2014-03-10 18:30:27 -04:00
Pavel Krajcevski 9dc23db287 Add YCoCg pixel type 2014-02-18 13:25:29 -05:00
Pavel Krajcevski 37ffc102d0 Add shuffle operator to pixels. 2014-01-30 13:34:52 -05:00
Pavel Krajcevski a80944901e Refactor CompressionJob struct.
In order to better facilitate the change from block stream order to non-block stream order,
a lot of changes were introduced to the way that we feed texture data to the compressors. This
data is embodied in the CompressionJob struct. We have made it so that the compression job
points to both the in and out pointers for our compressed and uncompressed data. Furthermore,
we have made sure that the struct also contains the format that its compressing for, so that if
any threading programs would like to chop up a compression job into smaller chunks based on the
format, it doesn't need to know the format explicitly, it just needs to know certain properties
about the format.

Moreover, the user can now define the start and end pixels from which we would like to compress
to. We can compress subsets of data by changing the in and out pointers and the width and height
values. The compressors will read data linearly until they reach the out pixels based on the width
of the given pixel.
2013-11-08 16:31:19 -05:00
Pavel Krajcevski 8e76d149ba Remove a bunch of code that assumes that we get our pixel data in block stream order... 2013-11-06 18:23:19 -05:00
Pavel Krajcevski 692cfbcf77 Some compiler SNAFUs on windows. 2013-10-21 15:49:42 -04:00
Pavel Krajcevski f597ec2f77 Add entropy calculation to images. 2013-10-18 04:12:32 -04:00
Pavel Krajcevski 89110be602 Get rid of a bunch of MSVC compiler warnings. 2013-10-15 00:31:33 -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 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 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 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 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 2159a6688a Add colors. 2013-10-08 15:07:43 -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 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 baab69dc99 Fix some MSVC compiler snafus 2013-09-28 22:21:31 -04:00
Pavel Krajcevski dcf389d346 Merge PVRTC compressor into split library. 2013-09-27 17:30:16 -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