Commit Graph

101 Commits

Author SHA1 Message Date
Pavel Krajcevski
e3757fde74 Fix MSVC interpretation of our types. 2012-11-07 15:20:25 -05:00
Pavel Krajcevski
790df0736f Make stats collection threadsafe. 2012-11-01 18:56:13 -04:00
Pavel Krajcevski
1abc54cf21 Make sure to take alpha into account when computing PSNR 2012-10-31 17:50:40 -04:00
Pavel Krajcevski
82e51a49cf Fix a few issues that we had with dealing with alpha in the textures. 2012-10-31 17:50:40 -04:00
Pavel Krajcevski
d51df5f9a2 Extract the basename for use in our output filenames... 2012-10-31 17:50:40 -04:00
Pavel Krajcevski
cc0d75400a Fix two bugs that took a surprisingly long time to find. 2012-10-31 17:50:40 -04:00
Pavel Krajcevski
3bc9510996 Make sure that we assume pixels are in block stream order when accessing. 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
1424765866 Fix bug where we forgot to store the new height and width 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
87b9aa6856 Add hooks to command line... needs debugging -___- 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
c9567b132d Fix command line tool after git reorganization. 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
e39b23d18c Hook up image writer to ImageFile 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
0dbf5a08cc Add initial png writing routines. 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
545a6f68e2 Add new structure to support creating Images and ImageFiles from compressed images 2012-10-31 17:50:38 -04:00
Pavel Krajcevski
d024ce73fb Fix a small error from a massive git reorganization 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
20c504056f - Add flag to specify whether or not we'd like to collect stats
- Fix amount of interpolation points to use during shape estimation
2012-10-31 17:48:53 -04:00
Pavel Krajcevski
1bd1a79065 Add specific function to collect stats for BPTC so that we have one that preserves accurate running time measurements. 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
4c359f42a7 - Added a parameter to the PCA computation that returns the first and second
eigenvalues of the covariance matrix associated with the cluster.

- Compared results of testing the ratio of eigenvalues as a measurement of
  'linearity' for the different shapes, and output statistics.

- Added a #define that controls whether or not we do shape estimation using
  quantized AABB error or eigenvalue ratios. The former seems to be better.
2012-10-31 17:48:53 -04:00
Pavel Krajcevski
71fbbca1ee Fix a few issues and make sure that when we write out to a file, only the intended values are reported. We still have to fix the accumulated stat reporting and make it thread-safe. 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
fdcd7c2edc Fix crash because I forgot to add stat names 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
93a3b3b92c Add some more stats to BC7 compressor. NOT THREAD SAFE 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
99534bc5d0 Add stats function to serial encoder. Otherwise, continue to use non-stats function in threaded mode. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
1e6a2d4c7b Add new compression function that collects preliminary stats. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
fcbca9ca8d Add files for new block stats in order to track things in our compression algorithms 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
f82173f423 Add platform independent file stream reading and writing in order to allow us to write out logs. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
6c723ca289 Fix some problems with our not so smart pointers. 2012-10-31 17:46:15 -04:00
Pavel Krajcevski
04cbf615f5 Make sure that our thread api preferences are saved in the cache. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
78ed5f5e92 On OS X, replace pthread_yield with sched_yield 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
d3f03a1fd3 Move ThreadGroup to new abstracted thread scheme. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
28af6ec225 Add threaded barrier operation modeled after that of boost. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
920c947d55 Add pthread module for threading. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
4d52ea18ad Move some more common code out of boost file into its own module 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
03b4f16b06 Add virtual destructors to fix issues with thread abstraction code. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
ed63255514 Move worker queue implementation over to new abstracted scheme. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
bb9370adaf Make the command line argument processing a little more robust. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
8dffb602bf Add framework for threading API abstraction. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
6b4adcc95b Fix bug where we didn't initialize a variable properly, which led to a crash 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
01c01b96cd For more accurate timing results with the worker queue, make sure that all threads are done processing an image before restarting the compression when testing multiple compressions. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
54cb951f71 Add command line options to invoke worker queue. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
c7bb6170f3 Fleshes out the worker queue implementation. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
62ca4ffee0 Add files for implementing a worker queue threading scheme 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
2c22889533 Broke the coupling between ImageFile and Image. One is strictly for IO, the other can be platform and file format agnostic. 2012-10-31 17:46:13 -04:00
Pavel Krajcevski
c1222d75f9 Reorganize a lot of code. Should probably split image and image file classes to separate IO operations and whatnot. 2012-10-31 17:46:12 -04:00
Pavel Krajcevski
72c44f51d1 Partition compression code into separate functions. 2012-10-31 17:46:12 -04:00
Pavel Krajcevski
2fa4da80ed Fix some inconsistencies with different versions of libpng. 2012-10-31 17:46:12 -04:00
Pavel Krajcevski
9fa011f8d1 Make sure that the compressed image gets created regardless of the number of threads used. 2012-09-18 22:33:47 -04:00
Pavel Krajcevski
3cac6ae464 In the command line tool make sure that the compressed image is valid before trying to calculate its PSNR. 2012-09-18 22:33:18 -04:00
Pavel Krajcevski
78da9499ec Add output for error metric 2012-09-18 19:00:20 -04:00
Pavel Krajcevski
e4c8708a4a Fix bug with PNG image loader. 2012-09-18 10:59:39 -04:00
Pavel Krajcevski
8bea381389 Use the flag to perform 'n' computations and average the total time taken. 2012-09-17 13:36:39 -04:00
Pavel Krajcevski
7116cc8b89 Redid thread synchonization in order to be able to signal threads to run without having to initialize them again. We can use this to average the running times. 2012-09-15 12:13:32 -04:00