Commit Graph
71 Commits
Author SHA1 Message Date
ImgBotApp 3cb4515cc0 [ImgBot] Optimize images
*Total -- 1,819.93kb -> 1,593.25kb (12.46%)

/encoder_lvl_vs_perf.png -- 13.04kb -> 7.22kb (44.68%)
/webgl/texture/preview.png -- 522.49kb -> 432.41kb (17.24%)
/contrib/single_file_transcoder/examples/testcard.png -- 12.38kb -> 10.55kb (14.79%)
/webgl/gltf/preview.png -- 563.41kb -> 490.65kb (12.91%)
/contrib/previewers/win/preview.png -- 708.61kb -> 652.43kb (7.93%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-03-22 08:23:08 +00: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
Rich Geldreich 9829034505 new files 2020-03-20 01:57:19 -04:00
Rich Geldreich d0ee14e1fb new files 2020-03-20 01:57:12 -04:00
Richard Geldreich 1cae1d5726 Rebuilt transcoder 2019-09-29 20:02:20 -07:00
richgel999 01d391cc2a PVRTC1 apparently always use wrap addressing when fetching the adjacent block colors (even when clamp texture addressing is being used), so we don't need the wrap vs. clamp option anymore. It's always wrap and that's that. 2019-09-29 19:34:00 -07:00
richgel999 2af4f74533 Transcoder wrappers compilation fixes, rebuilt WebAssembly transcoder 2019-09-26 23:03:26 -07:00
richgel999 54304fa014 - Adding PVRTC2 RGB/RGBA and ETC2 EAC R11 and RG11
- Renaming -no_auto_global_sel_pal to -auto_global_sel_pal, disabling global selector palette usage by default to speed up compression on small images
- Renaming texture format enums
- Fixing uninitialized memory issue in front end - it wouldn't have affected the correctness of the output, or output quality
- Bumping command line tool up to v1.10
2019-09-26 22:35:14 -07: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 6e70902e82 Fixing tabs 2019-09-19 23:19:30 -07:00
richgel999 14a8e3ed99 Fixing tabs 2019-09-19 23:19:08 -07:00
richgel999 921a18b68f Fixing tabs 2019-09-19 23:18:34 -07:00
richgel999 d9a289d42a Changing webgl texture test so it uses a power of 2 texture by default, so it works on iOS 2019-09-19 23:15:41 -07:00
richgel999 d877fead4e Adding power of 2 texture for webgl texture test, so it works on iOS 2019-09-19 23:15:08 -07:00
richgel999 e1a520c132 Adding uncompressed 565 pixel format support to texture demo 2019-09-19 22:12:40 -07:00
richgel999 eeb15a6e54 The transcoder now supports unpacking to 565 directly, so we don't need to transcode to BC1 then convert in Javascript 2019-09-19 21:58:10 -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
Rich Geldreich 3c9ed05472 Update README.md 2019-09-19 18:13:55 -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
Rich Geldreich 5e8ad71036 Merge pull request #27 from zeux/wasmopt
Fix webgl CMakeLists.txt setup
2019-06-11 10:59:56 -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
Arseny Kapoulkine 00001426de Fix webgl CMakeLists.txt setup
It looks like #7 didn't update CMakeLists.txt properly - defines
specified with -D have to be added as compile definitions.

Additionally, -O3 must be specified redundantly as a compile option and
as a link option - compile option makes .wasm bits small & fast, and
link option enables JS minifier.

After this fix CMake build results in minimal js/wasm files as well.
2019-06-02 20:46:47 -07:00
richgel999 92bc0de0ea Fixing demo falling back to 565 problem on Firefox (and possibly Edge). 2019-05-23 19:47:44 -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
Rich Geldreich b5d11d58c8 Update README.md 2019-05-22 14:14:54 -07:00
Don McCurdy d2ba604b06 Add link to glTF extension (in progress) 2019-05-22 08:51:14 -07:00
Don McCurdy b115f4be1a Add links to WebGL demos. 2019-05-18 17:15:37 -07:00
shrekshao 4009e93c5a Use low-quality AGI model 2019-05-15 14:25:26 -07:00
shrekshao ab63add898 Fix CMakeList and rebuilt test 2019-05-15 14:24:55 -07:00
Don McCurdy 70eda127a8 Clean up. 2019-05-15 09:47:00 -07:00
Don McCurdy 871ccb0cb7 Update readmes. 2019-05-15 09:45:25 -07:00
Don McCurdy e3ffbcc98a Include prebuilt transcoder. 2019-05-15 09:35:53 -07:00
Don McCurdy e654e346bc Rename demo folders. 2019-05-15 09:30:31 -07:00
shrekshao 86b9fa53ed Add screenshots of demos 2019-05-14 17:25:46 -07:00
shrekshao c4cc4e4e2b Restructure webgl demo folders and Update readme 2019-05-14 17:12:51 -07:00
shrekshao cec4c0e651 Port webgl draw texture demo to use new wrapper wasm 2019-05-14 16:37:46 -07:00
shrekshao 9a6e126cfc Fix build.sh tested on mac and linux 2019-05-14 16:36:51 -07:00
shrekshao 148364872b Include basis_transcoder.js in html head 2019-05-14 16:35:32 -07:00
shrekshao 7193e13810 Build wasm with merged master 2019-05-14 11:11:47 -07:00
shrekshao 467489f295 Merge branch 'master' into gltf-demo 2019-05-14 10:05:30 -07:00
Don McCurdy b5e93081c0 Whitespace cleanup. 2019-05-14 08:49:34 -07:00
Don McCurdy 13cd18d4fe Remove duplicate copy of credits. 2019-05-13 23:45:02 -07:00
Don McCurdy 0f1fbbf2bf Reformat. 2019-05-13 23:29:48 -07:00