Commit Graph

17 Commits

Author SHA1 Message Date
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
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
Aaron Franke
2a58642381 Make file formatting comply with POSIX and Unix standards
UTF-8, LF, no BOM, and newlines at end of files
2020-03-21 02:44:10 -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
b57a362f65 Reducing the WebAssembly transcoder size by disabling ATC and disabling the 8-bit ASTC tables. Rebuilt the transcoder. 2019-09-20 11:45:03 -07:00
richgel999
c2869ffecc Adding uncompressed pixel support to transcoder wrappers in webgl/transcoder/basis_wrappers.cpp. Note uncompressed hasn't been tested yet, but I've verified that compressed still works. 2019-09-19 21:39:57 -07:00
richgel999
8545341b4b Rebuild transcoder in WebAssembly on OSX 2019-09-19 15:03:17 -07:00
richgel999
2cb6bdadc1 Checking in new webgl files. Note that the WebAssembly transcoder has gotten bloated with BC7 support, which I'm working on fixing right now. (The wasm went from ~200k to 900k, because of a transcoder macro configuration issue.) 2019-09-19 14:34:39 -07:00
Preston Tamkin
39b5c5bc42 Modularize emscripten build.
By default, emscripten's generated javascript modules lives in the global object "Module'.

This makes it impossible to load multiple emscripten modules on the same page.

In attempt to avoid namespace collision, this change modularizes the emscripten build so the Module is instead called 'BASIS'.

Many target applications for Basis are likely to already be using other emscripten modules.

Testing:

The existing webgl/(texture|gltf) pages have been updated to use the new name and seem to operate as before
2019-06-11 23:42:49 -07:00
Arseny Kapoulkine
c2430c3792 Use emmalloc instead of dlmalloc to save a bit more space
basis_transcoder.js 58707
basis_transcoder.wasm 217809
2019-05-22 21:14:05 -07:00
Arseny Kapoulkine
f5d502912d Make codec options externally configurable and remove BC7 support
This change makes it possible to exclude formats using compile time
options. BC7 is *never* exposed on the web and it has an absolutely huge
coding table which means we're just wasting space.

basis_transcoder.js 58707
basis_transcoder.wasm 224404
2019-05-22 20:57:17 -07:00
Arseny Kapoulkine
6fa7476bf9 Remove std::iostream from the transcoders
The impact on the file size is enormous, and it's used to output one
line into console which isn't exposed through the API anyhow.

basis_transcoder.js 58707
basis_transcoder.wasm 705079
2019-05-22 20:53:10 -07:00
Arseny Kapoulkine
af8f9f8bc4 Remove assert(x) hack in favor of NDEBUG
basis_transcoder.js 140999
basis_transcoder.wasm 832985
2019-05-22 20:51:29 -07:00
Arseny Kapoulkine
a52a31e5b0 Rebuild basis_transcoder with new Emscripten (emsdk 1.38.31)
basis_transcoder.js 141235
basis_transcoder.wasm 833219
2019-05-22 20:48:42 -07:00
shrekshao
ab63add898 Fix CMakeList and rebuilt test 2019-05-15 14:24:55 -07:00
Don McCurdy
e3ffbcc98a Include prebuilt transcoder. 2019-05-15 09:35:53 -07:00