Commit graph

  • 93a3b3b92c Add some more stats to BC7 compressor. NOT THREAD SAFE Pavel Krajcevski 2012-10-07 17:33:41 -0400
  • 99534bc5d0 Add stats function to serial encoder. Otherwise, continue to use non-stats function in threaded mode. Pavel Krajcevski 2012-10-07 00:34:06 -0400
  • 1e6a2d4c7b Add new compression function that collects preliminary stats. Pavel Krajcevski 2012-10-06 22:25:49 -0400
  • fcbca9ca8d Add files for new block stats in order to track things in our compression algorithms Pavel Krajcevski 2012-10-06 17:52:26 -0400
  • f82173f423 Add platform independent file stream reading and writing in order to allow us to write out logs. Pavel Krajcevski 2012-10-03 19:58:33 -0400
  • 6c723ca289 Fix some problems with our not so smart pointers. Pavel Krajcevski 2012-10-03 18:56:18 -0400
  • 04cbf615f5 Make sure that our thread api preferences are saved in the cache. Pavel Krajcevski 2012-10-02 18:34:25 -0400
  • 78ed5f5e92 On OS X, replace pthread_yield with sched_yield Pavel Krajcevski 2012-10-01 13:01:20 -0400
  • d3f03a1fd3 Move ThreadGroup to new abstracted thread scheme. Pavel Krajcevski 2012-09-30 16:15:36 -0400
  • 28af6ec225 Add threaded barrier operation modeled after that of boost. Pavel Krajcevski 2012-09-30 15:52:36 -0400
  • 920c947d55 Add pthread module for threading. Pavel Krajcevski 2012-09-30 15:34:21 -0400
  • 4d52ea18ad Move some more common code out of boost file into its own module Pavel Krajcevski 2012-09-30 14:19:08 -0400
  • 03b4f16b06 Add virtual destructors to fix issues with thread abstraction code. Pavel Krajcevski 2012-09-30 13:45:55 -0400
  • ed63255514 Move worker queue implementation over to new abstracted scheme. Pavel Krajcevski 2012-09-29 15:36:42 -0400
  • bb9370adaf Make the command line argument processing a little more robust. Pavel Krajcevski 2012-09-29 15:35:22 -0400
  • 8dffb602bf Add framework for threading API abstraction. Pavel Krajcevski 2012-09-28 23:48:23 -0400
  • 6b4adcc95b Fix bug where we didn't initialize a variable properly, which led to a crash Pavel Krajcevski 2012-09-26 13:31:39 -0400
  • 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. Pavel Krajcevski 2012-09-25 17:05:52 -0400
  • 54cb951f71 Add command line options to invoke worker queue. Pavel Krajcevski 2012-09-21 18:43:35 -0400
  • c7bb6170f3 Fleshes out the worker queue implementation. Pavel Krajcevski 2012-09-21 18:14:38 -0400
  • 62ca4ffee0 Add files for implementing a worker queue threading scheme Pavel Krajcevski 2012-09-21 16:57:45 -0400
  • 2c22889533 Broke the coupling between ImageFile and Image. One is strictly for IO, the other can be platform and file format agnostic. Pavel Krajcevski 2012-09-21 16:42:15 -0400
  • c1222d75f9 Reorganize a lot of code. Should probably split image and image file classes to separate IO operations and whatnot. Pavel Krajcevski 2012-09-21 12:39:09 -0400
  • 72c44f51d1 Partition compression code into separate functions. Pavel Krajcevski 2012-09-19 18:06:21 -0400
  • 2fa4da80ed Fix some inconsistencies with different versions of libpng. Pavel Krajcevski 2012-09-19 18:10:45 -0400
  • 9fa011f8d1 Make sure that the compressed image gets created regardless of the number of threads used. Pavel Krajcevski 2012-09-18 22:33:47 -0400
  • 3cac6ae464 In the command line tool make sure that the compressed image is valid before trying to calculate its PSNR. Pavel Krajcevski 2012-09-18 22:33:18 -0400
  • 78da9499ec Add output for error metric Pavel Krajcevski 2012-09-18 19:00:20 -0400
  • e4c8708a4a Fix bug with PNG image loader. Pavel Krajcevski 2012-09-18 10:59:39 -0400
  • 8bea381389 Use the flag to perform 'n' computations and average the total time taken. Pavel Krajcevski 2012-09-17 13:36:39 -0400
  • 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. Pavel Krajcevski 2012-09-15 12:13:32 -0400
  • e25e5bae90 Add flag to modify the number of compressions in order to take an average of the compression time. Pavel Krajcevski 2012-09-15 10:29:36 -0400
  • 1c8b065261 Merge branches 'master' and 'CommandLineTool' Pavel Krajcevski 2012-09-15 09:46:18 -0400
  • 341842d725 Make sure to not even compile the definition for the SIMD function. Pavel Krajcevski 2012-09-13 17:43:58 -0400
  • ef2a370fc6 Move error metric to regular BC7Compressor so that we can use it even if we can't use SIMD. Pavel Krajcevski 2012-09-13 16:57:36 -0400
  • 47fbfa1615 Avoid SIMD functions if they're not defined. Pavel Krajcevski 2012-09-13 16:57:10 -0400
  • a850cf0103 Make sure to not delete potentially empty pointers. Pavel Krajcevski 2012-09-13 16:56:44 -0400
  • acd20ea8ac Add flag for when we don't have SSE Pavel Krajcevski 2012-09-13 16:56:18 -0400
  • 71e04f56e4 Merge branch 'CommandLineTool' of git.cs.unc.edu:pavel/TexComp into CommandLineTool Pavel Krajcevski 2012-09-13 16:32:31 -0400
  • 8799bf4ea8 Make sure to properly exit if there are no command line arguments. Pavel Krajcevski 2012-09-13 16:32:07 -0400
  • 31f6233da2 Add minor performance enhancements Pavel Krajcevski 2012-09-13 16:31:48 -0400
  • ba8ac8e292 Fix memory leak Pavel Krajcevski 2012-08-31 23:22:05 -0400
  • 7b69c38da5 Switch OSX timer to real-time too. Pavel Krajcevski 2012-08-31 18:26:59 -0400
  • f2b9c39801 Change unix clock to realtime Pavel Krajcevski 2012-08-31 18:05:29 -0400
  • 278a59e24a Now that we fixed sync issues, we should have better timings... Pavel Krajcevski 2012-08-31 17:45:55 -0400
  • 44884a18b3 Add join synchronization. Pavel Krajcevski 2012-08-31 17:33:54 -0400
  • a6bbc3989f Implement threading capabilities. Still need better thread synchronization... Pavel Krajcevski 2012-08-31 14:58:51 -0400
  • fc4cf7758b Add ability to change quality of BPTC encoder. Pavel Krajcevski 2012-08-30 17:46:34 -0400
  • add2f6fd96 Add some more flag support to unix command line tool... Pavel Krajcevski 2012-08-30 17:37:23 -0400
  • 588f58b237 Fix stop watch for unix. Pavel Krajcevski 2012-08-30 17:13:36 -0400
  • 70674e5665 Merge branch 'CommandLineTool' of git.cs.unc.edu:pavel/TexComp into CommandLineTool Pavel Krajcevski 2012-08-30 16:58:06 -0400
  • d8fc05a763 Fix timing functions for various platforms. Pavel Krajcevski 2012-08-30 16:56:42 -0400
  • 720ad0ac6f Add stopwatch to both threaded and unthreaded paths. Still need to actually write unix stopwatch implementation. Pavel Krajcevski 2012-08-30 14:00:18 -0400
  • 2ad2e94584 Move type defines into core library... all modules should have a standard set of types. Pavel Krajcevski 2012-08-30 13:28:28 -0400
  • 1a0c3365da Remove old main.cpp and move stop watch to core library. Pavel Krajcevski 2012-08-30 11:59:08 -0400
  • 11f3ec9c36 Add stdlib includes Pavel Krajcevski 2012-08-29 17:57:04 -0400
  • d102cbcda7 Add threading support in core lib via boost libraries. Pavel Krajcevski 2012-08-29 14:43:37 -0400
  • 8f748ce070 Fix uint to be uint8 since otherwise it's undefined on a lot of platforms. Pavel Krajcevski 2012-08-29 11:55:01 -0400
  • 213d98f985 Finish the hooking up of the compression library to the core library Pavel Krajcevski 2012-08-28 19:42:28 -0400
  • b9350e3876 Fix asm Pavel Krajcevski 2012-08-28 19:41:36 -0400
  • 87375f4c14 Change signed to unsigned in order to match the function pointer typedef prototype. Changed the function prototype to match that of the typedef in the rest of the library, and fixed a bug where we would iterate too far with the initial buffer. Pavel Krajcevski 2012-08-28 19:38:06 -0400
  • 662e3c8f57 Make sure to also link against zlib. Pavel Krajcevski 2012-08-28 16:45:37 -0400
  • 9e625a4065 Start working on command line tool -- Currently just making sure that everything builds and links. Also rearranged some function definitions to better accomodate this. Pavel Krajcevski 2012-08-27 22:49:00 -0400
  • cff862344f Add compiler specific syntax for inline assembly. Pavel Krajcevski 2012-08-28 15:36:26 -0400
  • 38e26850fe Make sure that cmake test properly checks return value of popcnt to test availability. Pavel Krajcevski 2012-08-28 11:43:15 -0400
  • f2c2f7c9af Move file format to a separate header in order to better obfuscate the image loaders within the io library. Pavel Krajcevski 2012-08-27 22:47:20 -0400
  • db6e76f1b3 Change the encoders to assume block stream order Pavel Krajcevski 2012-08-27 18:42:09 -0400
  • a076d1efb8 Fleshed out some more of the library Pavel Krajcevski 2012-08-27 18:34:37 -0400
  • 39d7f2c942 Added files for core library. Pavel Krajcevski 2012-08-27 13:36:59 -0400
  • 5bebdc3b07 Remove warning from cmake process Pavel Krajcevski 2012-08-27 12:58:44 -0400
  • 4e43207fd8 Restructure IO directory to better match convention set by BPTC Encoder Pavel Krajcevski 2012-08-27 12:19:27 -0400
  • d13190990e Implement read callback for libpng Pavel Krajcevski 2012-08-27 11:50:19 -0400
  • cc7e8c1b1f Add preliminary hooks for reading out png data... Pavel Krajcevski 2012-08-27 11:37:10 -0400
  • 13519fa019 Added code to load the contents of a file to memory on not-windows. Pavel Krajcevski 2012-08-26 20:53:55 -0400
  • afd1e274fd Add support for cmake to look for libpng and then add the proper files if available. Pavel Krajcevski 2012-08-26 20:31:41 -0400
  • 6d39ab49c1 Generate the ImageLoader.h file from cmake after we figure out what image reading libraries are available to us. Pavel Krajcevski 2012-08-26 19:51:49 -0400
  • abb5ca2a44 Add some more skeleton code to prepare for png image loading. Pavel Krajcevski 2012-08-26 19:05:18 -0400
  • ff5cab75ee Added a few more structural preparations Pavel Krajcevski 2012-08-26 16:37:10 -0400
  • 1bdc0dafb9 Add skeleton for image loading class Pavel Krajcevski 2012-08-26 14:46:47 -0400
  • fd2ba216a3 Merge branches 'FixSSEDetection' and 'master' Pavel Krajcevski 2012-08-26 14:43:09 -0400
  • d68a119bc9 Fix SIMD recognition at least with GCC targets. Still need to test with MSVC Pavel Krajcevski 2012-08-25 12:58:20 -0400
  • efdca4b5bb Initial commit with a few modifications Pavel Krajcevski 2012-08-24 15:56:45 -0400