Basis Universal GPU Texture Video Transcoding Test (ETC1S->BC1)

This demo uses the Basis C++ transcoder (compiled to Javascript using Emscripten) to transcode a .basis Universal Texture Video file directly to BC1/BC3 texture data, with no intermediate recompression step.
.basis universal GPU texture files can be quickly transcoded directly to any other GPU texture format with little to no quality loss. For static texture content, .basis files are 10-25% smaller than rate distortion optimized (RDO) ETC1S texture data losslessly compressed using LZMA. For video, we achieve bitrates that are significantly lower (average .5bpp vs. 2-3bpp) than I-Frame only (BC1+LZ4) Texture Video approaches such as HAP.
Currently, video is a new use case for .basis files, so video encoding using the reference encoder is quite slow and can require a lot of memory (16-32GB) on larger videos, but it will be optimized over time.
Compared to regular pixel-based video, texture video doesn't utilize the IDCT and doesn't require colorspace conversion, chroma upsampling, SIMD, or deblocking filters.

Thanks to Evan Parker for providing webgl-texture-utils and this test bed.
Some other videos to try: peach.basis, reliant.basis


.basis file: