Commit Graph

20 Commits

Author SHA1 Message Date
Richard Geldreich
e93d3beb36 merging v2.0 from xuastc_private 2026-01-19 01:59:54 -05:00
Aaron Franke
f3a63a3f54 Remove trailing space characters 2025-11-21 11:52:38 -08:00
Richard Geldreich, Jr.
b7ce25fd02 Windows ARM fixes 2025-02-19 15:09:52 -05:00
Richard Geldreich
1ba75b4e34 ASTC 6x6 HDR/6x6 HDR intermediate update 2025-01-21 11:01:08 -05:00
Richard Geldreich
3124cf62fd UASTC HDR merge 2024-09-10 14:50:23 -04:00
Richard Geldreich
ca51858d98 Switching to platform toolset v142 to work around VS2022 compiler bugs
Enabling AVX so switching to clang toolset builds. Shouldn't be a big deal requiring AVX in 2023.
2023-03-30 17:05:48 -04:00
Richard Geldreich
7f5e0ad6c2 Adding support for utf-8 text and file I/O under Windows. Requires newer Windows builds:
https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page
2023-03-30 16:12:45 -04:00
Richard Geldreich
deeb5acb56 v1.16 release: OpenCL support, removing global selector palette code (it was unused/dead code), ETC1S encoding optimizations, -parallel command line option 2022-01-28 08:32:54 -05:00
Rich Geldreich
7f0a00afe1 Adding KTX2 transcoding/encoding/decompression to PNG/KTX1 support to the transcoder, encoder, JavaScript wrappers. This is also adding Zstandard to the repo, which is optional. Set BASISD_SUPPORT_KTX2_ZSTD=0 when compiling the encoder/transcoder to disable it, or from cmake set KTX2_ZSTANDARD=FALSE. 2021-04-12 13:30:45 -04:00
Rich Geldreich
053ed374b4 In progress global codebook changes 2021-03-30 14:51:26 -04:00
Rich Geldreich
b34959181b Modified files 2021-03-09 11:31:29 -05:00
Rich Geldreich
85fa18ec94 Adding encoder WebAssembly support, encode_test sample
Encoder is now a library in the "encoder" directory
JavaScript wrappers now expose the entire codec: encoder, transcoder, container independent transcoding, and .basis file information
2020-12-17 14:26:28 -05:00
Carl Woffenden
ee828597e7 Resolved various Visual Stufio warnings
All configurations: "warning MSB8004: Output Directory does not end with a trailing slash." Release: "command line warning D9025: overriding '/sdl' with '/GS-'" and "warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc"
2020-04-08 14:25:31 +02:00
Rich Geldreich
078ce180bc Adding JPEG reading support 2020-03-25 05:24:37 -04:00
Rich Geldreich
5b6eb565e4 - Adding UASTC support to encoder, transcoder, .basis file format
- Removing BC7 mode 6 support from transcoder (will alway use the much smaller mode 5 tables now)
- Adding BMP support
- Adding -bench mode, for development
- CMakeLists.txt file now compatible with Visual Studio 2019 (MSVC)
2020-03-20 02:00:34 -04:00
richgel999
3629438d43 Transcoder update: ASTC 4x4 RGB/RGBA, ATC RGB/RGBA, BC7 mode 5 RGBA, PVRTC1 4bpp RGBA, and uncompressed raster formats. 2019-09-19 12:29:44 -07:00
richgel999
ab722fa2e1 - Adding support for skip blocks, i-frames and p-frames to the backend and transcoder, for texture video use.
- For PVRTC1, we now memset() any extra blocks after the blocks we know will be transcoded into. This is done because in GL there is padding that occurs on textures smaller than 8x8.
- Removing all OpenMP usage and replacing it with a basis C++11 job system.
- Fixing TSVQ class so it can split very long "thin" clusters that before weren't being split. This improves endpoint quantization on videos and complex 2D textures.
- More frontend perf. optimizations.

Tested on OSX, Linux with gcc/clang, and Win using MSVC 2019.
2019-06-07 20:35:38 -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
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
fb07f0e805 Initial checkin. Compiles with Visual Studio 2019, or under Ubuntu Linux using either clang 3.8 or gcc 5.4. 2019-04-29 18:50:54 -07:00