Commit Graph

78 Commits

Author SHA1 Message Date
Rich Geldreich
6da5bf05a6 Another bugfix found during fuzz testing 2019-05-09 20:40:41 -07:00
Rich Geldreich
93301087d3 Update README.md 2019-05-09 19:06:23 -07:00
Rich Geldreich
71249d2f98 Update README.md 2019-05-09 18:56:29 -07:00
Rich Geldreich
b0595d33ec Update README.md 2019-05-09 18:52:23 -07:00
Rich Geldreich
3185a20455 Updating readme 2019-05-09 18:52:16 -07:00
Rich Geldreich
c1a340e592 Updating readme 2019-05-09 18:43:35 -07:00
Rich Geldreich
f0be63d760 Rebuilt transcoder 2019-05-09 18:14:56 -07:00
Rich Geldreich
f83ee300a3 Adding more header checks 2019-05-09 18:09:47 -07:00
Rich Geldreich
85f4651def Fixing mipmap bug introduced from a fuzz test fix 2019-05-09 17:57:14 -07:00
Rich Geldreich
3347b17393 Another fuzz testing fix 2019-05-09 15:05:12 -07:00
Rich Geldreich
78e22234bd More transcoder fixes found during fuzz testing (I disabled all header/data CRC checking by setting BASISU_NO_HEADER_OR_DATA_CRC16_CHECKS to 1). 2019-05-09 14:43:13 -07:00
Rich Geldreich
d7b22fc404 Adding -fuzz_testing command line option, which disables the file data CRC16 check used by the -validate command. To fuzz testing using zzuf on Linux:
zzuf -d -c -s 1000000:2000000 ./basisu -validate -fuzz_testing kodim23.basis
2019-05-09 12:43:59 -07:00
Rich Geldreich
c7e14a97fa - Fixing minor block artifacts on pure 2 color B&W blocks when transcoding to BC1/BC7. This was caused by the ETC1S blocks using extreme ETC1S settings: codetable 7 (the one with the largest intensity deltas), using blocks with selectors that took up the full range (0-3), but the blocks only actually used the two outlier colors (0 and 3 only). The ETC1S->BC1/BC7 table based format conversion system doesn't realize that only the outlie colors were going to be used (i.e. not all 4 colors, just the outer 2), and so the quality of the transcoded block suffered because pure black could not be mapped. In BC7 mode, we now switch to pure BCT (block truncation coding) for any blocks with <= 2 unique colors, independent of their selectors.
- Adding -csv_file option, to generate .csv files for mass benchmarking/testing
- Adding -no_ktx option, to avoid writing large .KTX files while unpacking
- Fixing printf() format issue when one of the -multifile options wasn't correct
Rebuilt compiled javascript transcoder
2019-05-09 10:44:38 -07:00
Rich Geldreich
d699c819f7 Moving g_hamming_dist[] array from transcoder to encoder (it's never used by the transcoder).
Adding remarks to basisu_file_header.h
2019-05-08 20:01:35 -07:00
Rich Geldreich
d2f1594efb Removing old test code 2019-05-07 17:02:06 -07:00
Rich Geldreich
8d5a3ab6c4 updating readme 2019-05-07 15:58:47 -07:00
Rich Geldreich
f304913f47 updating readme 2019-05-07 15:57:25 -07:00
Rich Geldreich
130eb9f115 Major compression performance/quality improvements, for a 15-35% or so decrease in file size for the same Y PSNR/SSIM. The basis file format has changed due to these optimizations.
Increasing the max codebook size to 16K vs. 8K, for a major increase in the max achievable quality.
Adding exception catching to command line tool.
Enabling debug iterators on MSVC.
Refining command line options, adding "-individual" flag to create multiple .basis files (vs. a texture array).
Changing default colorspace to sRGB, because that's probably the best default. -linear disables this and uses linear colorspace metrics.
PNG reader in 32-bit builds checks the size of the file before loading to avoid out of memory exceptions.
2019-05-07 15:52:54 -07:00
Rich Geldreich
7599dcd7b5 new file 2019-05-07 15:52:53 -07:00
Rich Geldreich
2d751264eb Update README.md 2019-05-02 16:19:16 -07:00
Rich Geldreich
d0d34b9872 Fixing help text 2019-05-02 16:14:57 -07:00
Rich Geldreich
33996b1a5f Important: Changing the Basis file version, so any existing files will need to be recompressed!
Adding new fields to the basis header: texture type and framerate. Texture type may be 2D, 2D array, video, volume, or cubemap array. The compressor makes sure that anything other than pure 2D follows certain constraints (cubemap arrays must have a multiple of 6 input images, videos/texture array images all must have the same resolution/# of mipmaps, etc.)
When unpacking cubemaps, the -unpack command now writes cubemap .KTX files which various tools like PVRTexTool support.
2019-05-02 16:09:11 -07:00
Rich Geldreich
c540728ed1 new file 2019-05-02 16:06:33 -07:00
Rich Geldreich
5cbfebaef5 new file 2019-05-02 16:06:21 -07:00
Rich Geldreich
7cdf6fc0be Removing some unused/old code from transcoder 2019-05-01 20:54:22 -07:00
Rich Geldreich
afcfcf262d Update README.md 2019-05-01 15:41:55 -07:00
Rich Geldreich
6529b2aa06 Update README.md 2019-05-01 15:40:09 -07:00
Rich Geldreich
7dce9afb67 Update README.md 2019-05-01 12:13:57 -07:00
Rich Geldreich
59e3b45bfb Another readme update 2019-05-01 12:12:13 -07:00
Rich Geldreich
9d03fc1382 Update README.md 2019-05-01 12:07:05 -07:00
Rich Geldreich
27bd6268a9 Adding special thanks to readme 2019-05-01 12:00:48 -07:00
Rich Geldreich
4bf397296c Updating readme 2019-05-01 10:31:48 -07:00
Rich Geldreich
f6883572e3 Update README.md 2019-04-30 22:30:30 -07:00
Rich Geldreich
324fe2952b Updating readme 2019-04-30 22:29:03 -07:00
Rich Geldreich
917fa72a2f update readme 2019-04-30 20:53:59 -07:00
Rich Geldreich
cd18b4fcc1 update readme 2019-04-30 20:53:18 -07:00
Rich Geldreich
59fa93f449 Update readme 2019-04-30 20:52:51 -07:00
Rich Geldreich
a541d55fa7 Update README.md 2019-04-30 20:15:22 -07:00
Rich Geldreich
e74e6cb1ca Update readme 2019-04-30 20:07:54 -07:00
Rich Geldreich
a36946edce Adjust compressor to deal with transcoder changes (start_decoding() renamed to start_transcoding), fixing compile warnings 2019-04-30 20:02:22 -07:00
Rich Geldreich
7a727fb31c ETC1S->DXT5A transcoding bugfix on solid color blocks
Adding development messages support
Adding a few new transcoder get methods to help with creating C-style wrappers
2019-04-30 20:01:39 -07:00
Rich Geldreich
8e0dcf43f3 new WebGL test files 2019-04-30 19:54:24 -07:00
Rich Geldreich
16c9e35c45 Removing detex dependency
Adding new GPU texture format decoders for BC1/4/5, ETC2 EAC alpha, and BC7 mode 6
Adding GPU texture unpack failure checks and warnings
Adding support for 3 color blocks to transcoder, and making sure that BC3 blocks will never use 3 color (punchthrough alpha) blocks.
2019-04-30 13:50:01 -07:00
Rich Geldreich
c35e288c28 Update README.md 2019-04-30 13:48:58 -07:00
Rich Geldreich
98ae5916fa Update README.md 2019-04-29 22:21:45 -07:00
Rich Geldreich
d7d999cc99 Update README.md 2019-04-29 22:20:56 -07:00
Rich Geldreich
c3f26e47ef Update README.md 2019-04-29 22:19:44 -07:00
Rich Geldreich
1594eb557e Update README.md 2019-04-29 22:14:36 -07:00
Rich Geldreich
7a2f9057a5 Update README.md 2019-04-29 22:13:29 -07:00
Rich Geldreich
1e4eb6dc7c Command line parser fix 2019-04-29 22:00:06 -07:00