Commit Graph

38 Commits

Author SHA1 Message Date
Richard Geldreich
961935d699 Changing C compression API for XUAST LDR: if unified quality level is not being used, and the lower level uastc_rdo_or_dct_quality parameter was set to 100, we would previously return an error. Now DCT is not enabled, as expected. 2026-03-04 10:08:34 -05:00
Richard Geldreich
790ab66fb6 for non-ETC1S texture video: every frame is an i-frame 2026-02-28 22:26:53 -05:00
Richard Geldreich
a62ec17827 adding comment 2026-02-28 17:34:46 -05:00
Richard Geldreich
1dbeaf032d minor typo fix 2026-02-28 03:47:25 -05:00
Richard Geldreich
3c245522c2 minor warning message fix (if m_xuastc_ldr_use_dct is true, m_params.m_quality_level must be >= 0) 2026-02-26 18:54:39 -05:00
Richard Geldreich
02b7ce3804 updating comments and status display related to m_quality 2026-02-26 18:44:56 -05:00
Richard Geldreich
c43b5c3f04 Fixing DFD of alpha channel ETC1S so it validates using KTX-Software 2026-02-24 22:24:57 -05:00
Richard Geldreich
81a4186404 v2.1 update for KTX-Software and Khronos file format KTX2 compatibility.
This update impacts the UASTC HDR 4x4, UASTC HDR 6x6i, and XUASTC LDR formats. New KTX2 files in these specific formats using v2.1 can't be loaded using v2.0, however we've kept backwards compatibility with all of our previously written KTX2 files. (v2.1 can transcode all previously written files.)
This is part of our effort to be compatible with Khronos's specification.
bc6hf encoder's smooth block path updated to handle inputs with texels close to MAX_HALF_FLOAT.
Adding command line options to basisu tool so it can write either v2.0 or v1.6 compatible UASTC HDR 6x6i files. The default is v1.6.
Updating WebGL KTX2 testbed so on ASTC devices it automatically switches between sRGB or linear internal formats for the created texture.
2026-02-24 20:35:11 -05:00
Richard Geldreich
33c4966491 comment typo fix 2026-02-14 21:11:50 -05:00
Richard Geldreich
03d2057014 adjusting comments for clarity 2026-02-12 20:44:17 -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
6e54503437 adding compressor validate output flag from XUASTC branch 2025-11-18 17:25:32 -05:00
Richard Geldreich
69ad18e035 removing unnecessary debug prints 2025-09-02 17:33:13 -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
1ba75b4e34 ASTC 6x6 HDR/6x6 HDR intermediate update 2025-01-21 11:01:08 -05:00
Arseny Kapoulkine
23791a55f5 Fix verbose printfs when m_status_output = false
Regression since HDR merge; m_status_output = false should result in no
prints outside of error cases.
2024-10-05 15:23:53 -07:00
Richard Geldreich
59d28d60e9 Fixing UASTC HDR DFD 2024-09-10 23:37:07 -04:00
Richard Geldreich
1d56bfd544 Modifying UASTC HDR DFD 2024-09-10 20:48:20 -04:00
Richard Geldreich
fb721b9e62 UASTC HDR merge 2024-09-10 14:44:59 -04:00
Richard Geldreich
c86a40c7e6 Adding -clbench command line option, and a new API basis_benchmark_etc1s_opencl() to determine if OpenCL encoding is worthwhile on the current machine/driver/GPU. 2022-10-07 19:33:34 -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
Arseny Kapoulkine
94d8efb875 Disable read/wrote output when status output is off
This was the only output that was being printed when m_status_output is
false; since this defaults to true in command-line builds this doesn't
affect them.
2021-06-05 22:25:30 -07:00
Arseny Kapoulkine
0eb541a118 Implement custom resampling command line args
This change implements -resample X Y command line support in addition to
-resample_factor, when a more sophisticated algorithm is needed to
compute the desired image size.

For example, these can be used to round the image to a multiple of 4 or
to a power of 2 for improved compatibility with various graphics APIs.
2021-04-14 21:13:19 -07:00
flashk
1cd2b7506a Apply swizzle to user supplied mipmaps 2021-04-14 10:37:16 -07:00
Rich Geldreich
ee626cec19 Adding initial support for user-provided mipmaps. This isn't hooked up to the command line tool or the JS wrappers yet. 2021-04-13 22:48:01 -04:00
Rich Geldreich
ed135f03a0 Re-enabling the ktx2 mipPadding alignment workaround 2021-04-12 14:52:37 -04:00
Rich Geldreich
316a8de5f1 Fixing comment 2021-04-12 14:51:57 -04:00
Rich Geldreich
cb6322848b Adding some macros to disable the KTX2 mipPadding alignment bug workaround, and to not write key value fields at all. 2021-04-12 14:47:15 -04: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
bf13257528 Merge branch 'branch' 2021-03-30 14:53:22 -04:00
Rich Geldreich
053ed374b4 In progress global codebook changes 2021-03-30 14:51:26 -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
b5334deb8a Putting miniz into its own C++ namespace to fix clashes 2021-03-13 09:52:35 -05: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