Commit Graph

  • 8708900eca Implement ETC1S/ETC2AS image compression unity Alexander Suvorov 2018-10-23 23:16:00 +02:00
  • 4bb735f796 Make Crunch compression work correctly on CPU supporting 16 or more threads Alexander Suvorov 2018-10-23 20:23:56 +02:00
  • 660322d3a6 Add compression support for ETC1S/ETC2AS encodings Alexander Suvorov 2018-06-07 19:20:30 +02:00
  • c1d8e8da71 Optimize vector quantization step Alexander Suvorov 2017-10-27 16:50:44 +02:00
  • 21eb70bc10 Optimize tile computation step Alexander Suvorov 2017-10-25 19:15:36 +02:00
  • b8b456d48c Optimize endpoint reordering algorithm Alexander Suvorov 2017-10-25 16:17:06 +02:00
  • 7143913032 Optimize DXT endpoints computation Alexander Suvorov 2017-10-24 19:48:37 +02:00
  • dbbef6a21f Perform multithreaded node preprocessing for faster vector quantization Alexander Suvorov 2017-10-20 19:18:08 +02:00
  • 1028520280 Use multiple threads for node split in vector quantization Alexander Suvorov 2017-10-20 14:23:47 +02:00
  • fbe3f6ca10 Optimize vector quantization algorithm Alexander Suvorov 2017-10-19 18:58:05 +02:00
  • 11a89d25ed Optimize vector quantization algorithm Alexander Suvorov 2017-10-17 15:12:55 +02:00
  • a14a313361 Optimize color endpoint solution evaluation Alexander Suvorov 2017-10-13 17:20:31 +02:00
  • 65f44319c0 Optimize computation of the endpoint cluster indices Alexander Suvorov 2017-10-10 17:13:41 +02:00
  • 51f73fdfed Optimize vector quantization algorithm Alexander Suvorov 2017-10-06 19:38:02 +02:00
  • 205829da99 Optimize DXT color endpoint solution evaluation Alexander Suvorov 2017-10-04 17:31:46 +02:00
  • 4bd4355683 Optimize DXT endpoints computation Alexander Suvorov 2017-09-13 14:10:00 +02:00
  • 335f0ee056 Optimize DXT endpoints refinement Alexander Suvorov 2017-09-12 16:50:03 +02:00
  • 3053c9dd93 Optimize DXT endpoints computation Alexander Suvorov 2017-09-12 13:03:56 +02:00
  • 3e12aff909 Fix miscellaneous compiler warnings Alexander Suvorov 2017-09-11 13:51:50 +02:00
  • 6b3172f793 Optimize DXT color endpoints computation Alexander Suvorov 2017-08-11 13:12:44 +02:00
  • bec4114bea Add compression support for ETC2A textures Alexander Suvorov 2017-08-04 16:16:44 +02:00
  • 54d4084c68 Use XOR-deltas for selector codebook encoding Alexander Suvorov 2017-07-19 12:33:48 +02:00
  • e972e0b480 Improve selector weight computation for ETC1 encoding Alexander Suvorov 2017-07-17 18:06:09 +02:00
  • a0044903aa Use diagonal endpoint references for ETC1 encoding Alexander Suvorov 2017-07-12 18:17:29 +02:00
  • 7402f3d4f3 Use endpoint references for all the ETC1 subblocks Alexander Suvorov 2017-07-11 15:36:48 +02:00
  • e3c1c6baf6 Use modulo deltas for selector codebook encoding Alexander Suvorov 2017-07-10 13:05:10 +02:00
  • 205f8a171d Use 4x4 selector dictionary for ETC1 compression Alexander Suvorov 2017-07-07 17:32:50 +02:00
  • f284523b15 Add compression support for ETC1 textures Alexander Suvorov 2017-07-05 17:55:14 +02:00
  • 39b85b74c2 Optimize selector codebook creation algorithm Alexander Suvorov 2017-06-16 14:55:32 +02:00
  • eee6b26e5d Optimize endpoint and selector sorting algorithms Alexander Suvorov 2017-06-14 14:56:41 +02:00
  • f1d6a5a735 Improve and optimize the endpoint reordering algorithm Alexander Suvorov 2017-06-09 18:34:42 +02:00
  • 5822475b22 Completely remove all the chunk related code from the encoder and decoder Alexander Suvorov 2017-06-07 16:53:02 +02:00
  • e7d458aa22 Switch from chunk encoding to block encoding while performing image quantization Alexander Suvorov 2017-06-02 18:13:49 +02:00
  • cd9ba9b615 Switch from chunk encoding to block encoding after the tile computation Alexander Suvorov 2017-05-31 15:05:32 +02:00
  • 7b6f456399 Optimize selector quantization, assignment and refinement Alexander Suvorov 2017-05-19 19:55:10 +02:00
  • b8349dfac8 Use block encoding to store intermediate selectors after endpoint quantization Alexander Suvorov 2017-05-18 13:44:04 +02:00
  • 1ef829ed6f Move alpha endpoint refinement into the alpha endpoint optimization thread Alexander Suvorov 2017-05-12 14:06:53 +02:00
  • 9c289fc621 Move color endpoint refinement into the color endpoint optimization thread Alexander Suvorov 2017-05-11 16:04:51 +02:00
  • c9fd4dca75 Compute compressed endpoints size without pack simulation Alexander Suvorov 2017-05-10 11:31:32 +02:00
  • d0b6f5759b Switch from chunk encoding to block encoding after quantization Alexander Suvorov 2017-05-09 17:34:21 +02:00
  • 5258727545 Remove duplicate endpoints and selectors from the codebooks Alexander Suvorov 2017-05-05 20:06:00 +02:00
  • ef540e54de Encode raw selector indices instead of selector indices deltas Alexander Suvorov 2017-05-05 11:26:52 +02:00
  • 974fab40a5 Switch from the chunk encoding concept to the reference encoding concept Alexander Suvorov 2017-05-04 18:41:24 +02:00
  • 178742ca6f Remove linear lists of endpoint and selector indices Alexander Suvorov 2017-05-02 13:03:11 +02:00
  • 125536a3b5 Use left nearest block for selector index prediction Alexander Suvorov 2017-04-28 16:55:54 +02:00
  • a4ab9fedee Generate ordering histogram for endpoint indexes based on the prediction order Alexander Suvorov 2017-04-28 13:49:47 +02:00
  • 19f05aadbc Prepare for encoding of endpoint and selector indexes in non-linear order Alexander Suvorov 2017-04-28 11:32:14 +02:00
  • 8cc5f19ae5 Use left nearest block for endpoint index prediction Alexander Suvorov 2017-04-27 15:49:48 +02:00
  • 13b1faa48d Reorder chunks in each scanline in the left-to-right manner Alexander Suvorov 2017-04-27 10:59:53 +02:00
  • 5d09a511d5 Update .gitignore Alexander Suvorov 2017-04-26 15:54:16 +02:00
  • 1df47a4250 Remove big endian support, write barriers, byte streams and dxt1 decoding optimization from the decompression code Alexander Suvorov 2017-04-26 15:09:07 +02:00
  • d34192aa07 Split the header block from the crn_decomp.h into a separate crn_defs.h file. This change makes the used CRND_HEADER_FILE_ONLY macro unneccesary. Alexander Suvorov 2017-04-26 13:16:13 +02:00
  • 7c02055d05 Reformat the source files. Alexander Suvorov 2017-04-26 11:41:07 +02:00
  • 41d7b962b0 Update solution to use Visual C++ 2010 compiler and libraries. Alexander Suvorov 2017-04-26 10:59:07 +02:00
  • ea9b8d8c00 Fixing emscripten docs master Rich Geldreich 2017-01-09 14:38:39 -08:00
  • 66892464f6 Merged file Rich Geldreich 2017-01-09 14:37:37 -08:00
  • a1281e5b2a Improve default documentation Rich Geldreich 2017-01-09 14:17:29 -08:00
  • 7ae16dda71 clang is also on board (reverted from commit 0c95eb14d6) Rich Geldreich 2017-01-09 14:12:47 -08:00
  • d64212091e Change data type to match assigned one. (reverted from commit 133a78398f) Rich Geldreich 2017-01-09 13:57:00 -08:00
  • bf5e9d9c3b Linux fixes Rich Geldreich 2017-01-09 13:54:05 -08:00
  • 9f20c8c318 Merge pull request #8 from nwnk/master Rich Geldreich 2017-01-09 13:44:40 -08:00
  • 0990cc8341 Merge pull request #9 from AnalyticalGraphicsInc/emcc Rich Geldreich 2017-01-09 13:42:09 -08:00
  • 1d3fcb59cd Update README with instructions for using Emscripten. Dan Bagnell 2017-01-09 15:04:52 -05:00
  • 0c22f98142 Rename crn.cpp -> crunch_lib.cpp. Dan Bagnell 2017-01-09 14:57:52 -05:00
  • a60ed487c5 Update crn.cpp license. Dan Bagnell 2017-01-09 14:17:31 -05:00
  • 8fbb07dc57 Add functions to export with emscripten. Dan Bagnell 2017-01-09 14:13:39 -05:00
  • 3cae875fda readme: Update link to Compressonator Adam Jackson 2016-11-15 15:12:47 -05:00
  • e974687ae6 Update with crunch executable. Tomer Barletz 2016-07-11 18:32:16 -07:00
  • 75632ff47e Fix gcc name-lookup, which requires to use the 'this' qualifier. Tomer Barletz 2016-07-11 18:31:20 -07:00
  • 133a78398f Change data type to match assigned one. Tomer Barletz 2016-07-11 18:28:27 -07:00
  • 732cd33239 Fix return types from boolean/false to pointer/NULL. Tomer Barletz 2016-07-11 15:38:49 -07:00
  • a9653b88e7 Add build support for 64-bit with g++. Tomer Barletz 2016-07-11 15:37:15 -07:00
  • 001ba71348 Add .gitignore file. Tomer Barletz 2016-07-11 15:34:36 -07:00
  • 0c95eb14d6 clang is also on board Arvid Gerstmann 2016-06-29 23:07:41 +02:00
  • 1faffa9b1b fixes building Arvid Gerstmann 2016-06-29 22:56:37 +02:00
  • 2ef76b99e5 docs(readme): Update copyright Jake 2016-06-20 11:53:18 +02:00
  • bf683690a9 Merge remote-tracking branch 'refs/remotes/upstream/master' Jake 2016-06-20 11:51:19 +02:00
  • 0aea5beeb2 Fixing copyright Rich Geldreich 2016-06-16 20:08:40 -07:00
  • 8f29f0fd75 docs: Add changelog Jake 2016-06-16 09:22:38 +02:00
  • 9e7a5e80c7 docs(readme): Convert to Markdown Jake 2016-06-16 09:20:43 +02:00
  • 97b8233acc Adding URL Rich Geldreich 2016-06-15 23:25:15 -07:00
  • e647680ef9 Updating github URL Rich Geldreich 2016-06-15 23:21:39 -07:00
  • eeeeba7e40 Updating license/copyright Rich Geldreich 2016-06-15 23:03:05 -07:00
  • d2a3948ab9 Updating license/copyright/email contact info Rich Geldreich 2016-06-15 22:59:25 -07:00
  • dbc9ddb2cd updating readme Rich Geldreich 2015-11-19 19:34:40 -08:00
  • 6bde5a95b1 checking in new windows execs Rich Geldreich 2015-11-19 19:14:06 -08:00
  • 0fddd12519 Removing linux/mingw executables Rich Geldreich 2015-11-19 19:13:44 -08:00
  • 91fbf1fcc4 Fixing integer overflow problem, which can rarely cause serious artifacts. Rich Geldreich 2015-11-19 18:55:22 -08:00
  • 8953df4f6b Migrating wiki contents from Google Code wiki Google Code Exporter 2015-05-20 23:57:30 -04:00
  • 9bc2ac3e27 Modified the linux Makefile to generate a static lib to allow external program to link with crunch linux64 boudreault.alan@gmail.com 2013-01-17 18:35:56 +00:00
  • 1ff067147d Fix compilation issues on linux 64 machines boudreault.alan@gmail.com 2013-01-17 18:34:45 +00:00
  • 0dfba013b1 Creating branch linux64 for some compilation fixes boudreault.alan@gmail.com 2013-01-17 18:30:41 +00:00
  • 02646ebc08 v104 richgel99@gmail.com 2012-12-03 22:16:54 +00:00
  • bd19626e58 fixed codeblocks win32 project compiler options richgel99@gmail.com 2012-11-25 08:47:02 +00:00
  • f71b49be60 Initial checkin of v1.04 - KTX file format support, basic ETC1 compression/decompression, Linux makefile with proper gcc options, lots of high-level improvements to get crnlib into a state where I can more easily add additional formats. richgel99@gmail.com 2012-11-25 08:41:25 +00:00
  • 8182078d6f v103 richgel99@gmail.com 2012-11-25 08:25:29 +00:00
  • a8011e9d7f Adding new files richgel99@gmail.com 2012-04-26 07:59:22 +00:00
  • 02faca16c4 deleting old files (either renamed or part of crn_threading_win32.cpp, etc.) richgel99@gmail.com 2012-04-26 07:16:57 +00:00
  • f63e26aee6 v1.03 prerelease - Full Linux port of crnlib/crunch, in progress - still more testing to do, and some cmd line options (such as -timestamp) don't work under linux yet, but the core stuff (compression/decompression/transcoding) should work fine and performance under Linux is comparable to Windows. The 3 examples haven't been ported yet. richgel99@gmail.com 2012-04-26 07:14:21 +00:00
  • bbf2a04250 v101 richgel99@gmail.com 2012-04-16 01:48:11 +00:00