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
Pavel Krajcevski
e25e5bae90
Add flag to modify the number of compressions in order to take an average of the compression time.
2012-09-15 10:29:36 -04:00
Pavel Krajcevski
1c8b065261
Merge branches 'master' and 'CommandLineTool'
2012-09-15 09:46:18 -04:00
Pavel Krajcevski
341842d725
Make sure to not even compile the definition for the SIMD function.
2012-09-13 17:43:58 -04:00
Pavel Krajcevski
ef2a370fc6
Move error metric to regular BC7Compressor so that we can use it even if we can't use SIMD.
2012-09-13 16:57:36 -04:00
Pavel Krajcevski
47fbfa1615
Avoid SIMD functions if they're not defined.
2012-09-13 16:57:10 -04:00
Pavel Krajcevski
a850cf0103
Make sure to not delete potentially empty pointers.
2012-09-13 16:56:44 -04:00
Pavel Krajcevski
acd20ea8ac
Add flag for when we don't have SSE
2012-09-13 16:56:18 -04:00
Pavel Krajcevski
71e04f56e4
Merge branch 'CommandLineTool' of git.cs.unc.edu:pavel/TexComp into CommandLineTool
2012-09-13 16:32:31 -04:00
Pavel Krajcevski
8799bf4ea8
Make sure to properly exit if there are no command line arguments.
2012-09-13 16:32:07 -04:00
Pavel Krajcevski
31f6233da2
Add minor performance enhancements
2012-09-13 16:31:48 -04:00
Pavel Krajcevski
ba8ac8e292
Fix memory leak
2012-08-31 23:22:05 -04:00
Pavel Krajcevski
7b69c38da5
Switch OSX timer to real-time too.
2012-08-31 18:26:59 -04:00
Pavel Krajcevski
f2b9c39801
Change unix clock to realtime
2012-08-31 18:05:29 -04:00
Pavel Krajcevski
278a59e24a
Now that we fixed sync issues, we should have better timings...
2012-08-31 17:45:55 -04:00
Pavel Krajcevski
44884a18b3
Add join synchronization.
2012-08-31 17:33:54 -04:00