138 Commits

Author SHA1 Message Date
Richard Geldreich
1aab02ba2d disabling assert (it rarely triggers unnecessarily during cross-checking) 2026-06-05 14:22:22 -04:00
Richard Geldreich
f6ce7ba3cd adding extra check to ensure read fully succeeds 2026-06-04 20:06:26 -04:00
Richard Geldreich
c50c05b864 fixing potential overflow issue in PNG reader 2026-06-04 15:14:45 -04:00
Richard Geldreich
693910c928 disabling overly cautious assert (for now until v2.5) 2026-06-01 13:37:26 -04:00
Richard Geldreich
4b680f858b fixing dependency on TinyDDS_MipMapReduce(), which is internal to TinyDDS 2026-04-21 14:19:25 -04:00
Richard Geldreich
882abb5320 - .basis transcoder class now validates the basis_slice_desc structs to ensure the original (unpadded) dimensions are valid, not too large (beyond 16K on either dimension), and are in sync with the slice's block dimensions. All methods that parse the slice desc structs now validate the contents first.
- basisu_lowlevel_etc1s_transcoder::transcode_slice(): Added PVRTC temp buf malloc buffer size sanity checking

Thanks to Canxuepiao Jian for the report.
2026-04-20 03:00:32 -04:00
Richard Geldreich
98f1ccb377 fixing qoi_decode() declaration 2026-04-12 13:00:47 -04:00
Richard Geldreich
ae89aab33c Adding new files (latest tinyexr library) 2026-04-07 16:36:17 -04:00
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
0a35b574d2 removing file 2026-04-07 15:40:28 -04:00
Richard Geldreich
d4e9574796 new file 2026-04-07 15:39:11 -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
2f12dc72be 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:00 -04:00
Richard Geldreich
4616c37946 Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP: If set to 1, the Android ASTC decoder (part of the drawElements Quality Program Tester Core) is completely disabled, and we instead use our own internal ASTC decoder. 2026-04-03 22:18:57 -04:00
Richard Geldreich
08fabab89f - fixing tinydds so it writes the correct flags, so dds-ktx can view our DDS files
- upping WebGL KTX2 encoder/transcoder testbed so its max Memory64/WASM64 heap size is 15GB, so 4096x4096 textures can be encoded
2026-03-20 17:34:22 -04:00
Richard Geldreich
c606cef87c Fixing 2 issues found via artificial encoder fuzzing, impacting the ASTC HDR 6x6/UASTC HDR 6x6i codec:
- 3 subset CEM 7/11 partition compression needs to check for rare failures
- adding clamp to bc6h encoder's smooth block weight index assigner (assign_weights_simple_4)
2026-03-06 17:20:37 -05:00
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
87d87f568d fixing typo in XUASTC LDR compression dev statistics printf 2026-03-03 01:30:08 -05:00
Richard Geldreich
52bee5888c comment fix 2026-03-02 02:52:13 -05:00
Richard Geldreich
d5721efb60 comment fix 2026-03-01 22:54:19 -05:00
Richard Geldreich
75a08c483a making convert_ldr_to_hdr_image() non-static 2026-03-01 11:03:54 -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
46629928ba Fixing remarks, aligning constructor defaults for ETC1S clusters to match clear() 2026-02-27 22:40:16 -05:00
Richard Geldreich
256a4ad08b comment fix 2026-02-27 16:24:00 -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
b7f1df3955 remark changes 2026-02-26 18:03:54 -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
554aad81bf fixing total_used_bc XUASTC LDR summary debug statistic (the per-CEM Blue Contraction/BC metrics were fine however) 2026-02-13 23:15:30 -05:00
Richard Geldreich
03d2057014 adjusting comments for clarity 2026-02-12 20:44:17 -05:00
Richard Geldreich
afb855a90d Removing dead function definition 2026-01-29 20:10:39 -05:00
Richard Geldreich
396b242fb7 Fixing BASISD_SUPPORT_KTX2_ZSTD macro so it can be set to 0 - this disables XUASTC Zstd/hybrid profiles for encoding 2026-01-28 13:35:52 -05:00
Richard Geldreich
e93d3beb36 merging v2.0 from xuastc_private 2026-01-19 01:59:54 -05:00
Richard Geldreich
ea6778b2b5 adding new files 2026-01-19 01:59:35 -05:00
Richard Geldreich
fc59cab71d unbreaking the purposely broken build for testing purposes 2025-11-23 15:37:58 -05:00
Richard Geldreich
593b1146d3 purposely breaking the build for testing purposes 2025-11-23 15:35:46 -05:00
Rich Geldreich
fbb7de77f2 Merge pull request #412 from Skullheadx/Fix-Missing-cfloat-Include
Fix missing cfloat include in basisu_astc_hdr_6x6_enc.cpp
2025-11-21 21:34:55 -05:00
Richard Geldreich
204d7525ad fixing merge issues 2025-11-21 21:30:58 -05:00
Aaron Franke
f3a63a3f54 Remove trailing space characters 2025-11-21 11:52:38 -08:00
Skullheadx
67886898e6 Add missing cfloat include 2025-11-19 09:51:47 -05:00
Richard Geldreich
6000fedf62 compressor fuzzing: fixing rare overflow in RDO candidate picker 2025-11-18 21:54:27 -05:00
Richard Geldreich
d7ef7030a0 Porting ETC1S colorspace very rare calculation overflow fix into OpenCL program 2025-11-18 17:38:20 -05: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
6e54503437 adding compressor validate output flag from XUASTC branch 2025-11-18 17:25:32 -05:00
Richard Geldreich
f7d0925f96 Adding rel tolerance to this assert, found during compressor fuzzing 2025-11-18 17:25:06 -05:00
Richard Geldreich
221d2230e5 yet another warning fix 2025-11-08 12:55:41 -05:00