Commit Graph

26 Commits

Author SHA1 Message Date
Richard Geldreich
542ed6555d tinyexr: upgrading to latest library version. We no longer modify tinyexr, i.e. the tinyexr.h header we're using is now completely standard. We direct tinyexr's zlib calls to our fork of miniz internally. 2026-04-07 16:30:57 -04:00
Richard Geldreich
75a08c483a making convert_ldr_to_hdr_image() non-static 2026-03-01 11:03:54 -05:00
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
5a1ae5d65d Fixing a very rare 1-bit overflow in ETC1S SSE optimized colorspace error calculations (which are 32-bit vs. the plain C++ code's 64-bit). Ultimately the output would still be correct and transcodable, but this could cause a compressor assertion check to fail. Found during compressor fuzz testing. 2025-11-18 17:27:51 -05:00
Richard Geldreich
2c6712697c Fixing thread pool shutdown so the kill flag is set inside the mutex, preventing a race. This could cause very rare lockups on the previous code.
Also for more safety to prevent lockups on buggy C run-times, adding a 1s timeout in the thread pool condition variable wait.
2025-09-05 21:13:04 -04:00
Richard Geldreich
100ace82d2 emcc warning fixes, fixing warnings in WASM cmakelists.txt files, changing ETC1S encoder to use std::map vs. std::unordered_map for hopefully more cross platform determinism 2025-06-24 17:22:05 -04: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
6588a8a443 fixing load_png() so it checks the correct pointer 2024-11-15 04:02:04 -05:00
Richard Geldreich
fb721b9e62 UASTC HDR merge 2024-09-10 14:44:59 -04:00
Richard Geldreich
3f14dea423 Visual Studio 2022 (v143) compiler bug workaround. Test works now. Only impacted this compiler, not v142 or clang/gcc. 2023-04-12 17:45:30 -04:00
walkingeyerobot
18b4868d2c Update encoder/basisu_enc.cpp
Co-authored-by: Derek Schuff <dschuff@chromium.org>
2022-10-07 18:38:59 -04:00
Mitch Foley
53372fc512 emscripten no longer provides sys/timex.h, but does provide sys/time.h 2022-10-07 16:58:42 -04:00
Arseny Kapoulkine
7270755488 Ensure interval_timer is initialized from main thread
This avoids the race condition in interval_timer::init which triggers
thread sanitizer errors.
2022-08-20 21:15:20 -07: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
Hugo Locurcio
9ecbdaa7dd Fix compilation on FreeBSD
Linux's `<sys/timex.h>` header was used instead of
FreeBSD's <sys/time.h> due to missing preprocessor comparison.

Co-authored-by: robfram <robfram@gmail.com>
2021-11-19 20:47:26 +01:00
Rich Geldreich
77b7df8e5d Merge pull request #234 from omar-polo/master
fix the build on OpenBSD
2021-09-22 20:17:31 -04:00
Carl Woffenden
f5722a8025 Removed/moved unused vars
Relates to issue #230
2021-05-31 14:46:12 +02:00
Omar Polo
ed2df5ba57 fix the build on OpenBSD 2021-05-22 17:46:43 +02: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
JCash
2c0c038ffe Renamed to minimum/maximum 2021-03-30 19:17:50 +02:00
JCash
03cca3778e Replaced std::min/std::max with basisu::min/basisu::max
Removed use of NOMINMAX
2021-03-30 18:44:07 +02: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
Rich Geldreich
62539278e1 Moving encoder-related files to the "encoder" directory 2020-12-17 13:57:57 -05:00