Commit Graph

30 Commits

Author SHA1 Message Date
Richard Geldreich
6b6517e86d Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP cmake option: if 1, the android ASTC decoder .cpp file is entirely eliminated and we emulate its functionality internally. 2026-04-06 14:04:59 -04:00
Richard Geldreich
7dac9fb464 Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP cmake option: if 1, the android ASTC decoder .cpp file is entirely eliminated and we emulate its functionality internally. 2026-04-06 13:53:50 -04:00
Richard Geldreich
e93d3beb36 merging v2.0 from xuastc_private 2026-01-19 01:59:54 -05:00
Richard Geldreich
5c511882f1 changing CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR for Windows OpenCL builds 2025-12-04 09:26:47 -05:00
Shareef Raheem
f19a5e32c2 Switch from using "CMAKE_SOURCE_DIR" to CMAKE_CURRENT_SOURCE_DIR to fix usage as a submodule. 2025-12-04 04:48:58 -08:00
Aaron Franke
f3a63a3f54 Remove trailing space characters 2025-11-21 11:52:38 -08:00
Richard Geldreich
703d05cc7a Adding MSVC .manifest to cmake build 2025-11-08 09:09:30 -05:00
Richard Geldreich
f4614b0a3d Adding EXAMPLES option so they can be optionally compiled (partially from PR 383) 2025-11-08 09:05:15 -05:00
Richard Geldreich
e31e3e1a3f adding newline to end of file 2025-11-06 13:38:44 -05:00
Richard Geldreich
196db8cbe2 Merging as much of PR #408 as we safely can.
PR 408's cmakelists.txt file has too many issues (OpenCL breaks on Windows/OSX) and changing our options to have the "BASISU_" prefix will break upstream builds.
2025-11-06 13:19:40 -05:00
Aaron B. Dwyer
de69929c89 CMakeLists.txt: Set the C++ standard to 17 so "if constexpr" is formally available. Fixes the build on Visual Studio + CMake. 2025-03-17 20:27:42 -07:00
Richard Geldreich
1ba75b4e34 ASTC 6x6 HDR/6x6 HDR intermediate update 2025-01-21 11:01:08 -05:00
Richard Geldreich
ab20df7782 Fixing warnings 2024-09-10 16:38:54 -04:00
Richard Geldreich
3124cf62fd UASTC HDR merge 2024-09-10 14:50:23 -04:00
Richard Geldreich
7a2094b807 Adding SAN option to CMakeLists.txt, to make it easier to use clang's address/undefined behavior sanitizer on codebase
Fixing overflow issue on extreme colors in color_distance().
Explicitly disabling unaligned addressing in miniz and transcoder when UBSAN is enabled
Disabling a needless optimization in transcoder causing ubsan issues (that could have easily been worked around in a different way, but it was an unnecessary optimization to begin with)
Rebuild wasm builds
2022-02-24 19:45:01 -05: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
2d4fe933b2 Basis Universal v1.13:
- Optimized ETC1S encoder (3-4.5x faster)
- Added optional SSE 4.1 support to encoder
- Switched from std::vector to a custom vector in the encoder and transcoder
- Added CppSPMD (SSE only for now)
- UASTC RDO is now more effective, but the command line parameter controlling qualiy has changed (to "lambda")
2021-03-09 11:00:25 -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
Andre Brisco
850313a204 Fixed CMake warnings 2020-10-07 18:51:20 -07:00
Maciej Kacper Jagiełło
4433e80fe4 Enable building the encoder with Enscripten to WebAssebly as a Nodejs cli tool. 2020-05-16 17:28:17 +02:00
Rich Geldreich
078ce180bc Adding JPEG reading support 2020-03-25 05:24:37 -04:00
Julien Schueller
b474b3d16e CMake: Only unices have the strip command
Fixes the build on MinGW
2020-03-21 17:25:46 +01: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
Rémi Verschelde
74a724f96d CMake: Fix stripping out-of-source build
Also add .gitignore to avoid versioning bin/ or a potential build/ directory
by mistake.
2019-09-27 09:29:41 +02: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
Eric Engestrom
00f7b5b445 cmake: add installation target
This allows to run `$BUILDTOOL install` to install `basisu` on your system, where `$BUILDTOOL` might be `ninja` or `make` for instance
2019-05-23 15:22:05 +01: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