basisu_c_sys 0.5.1

Raw Rust binding for the Basis Universal pure C API
Documentation
1
2
async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("node:module");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("node:path").dirname(require("node:url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){}function initRuntime(){runtimeInitialized=true}function postRun(){}function abort(what){what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("basisu_transcoder.wasm")}return new URL("basisu_transcoder.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{runtimeKeepaliveCounter=0};var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>true;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};{if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"]}var _bt_get_version,_bt_enable_debug_printf,_bt_init,_bt_alloc,_bt_free,_bt_basis_tex_format_is_xuastc_ldr,_bt_basis_tex_format_is_astc_ldr,_bt_basis_tex_format_get_block_width,_bt_basis_tex_format_get_block_height,_bt_basis_tex_format_is_hdr,_bt_basis_tex_format_is_ldr,_bt_basis_get_bytes_per_block_or_pixel,_bt_basis_transcoder_format_has_alpha,_bt_basis_transcoder_format_is_hdr,_bt_basis_transcoder_format_is_ldr,_bt_basis_transcoder_texture_format_is_astc,_bt_basis_transcoder_format_is_uncompressed,_bt_basis_get_uncompressed_bytes_per_pixel,_bt_basis_get_block_width,_bt_basis_get_block_height,_bt_basis_get_transcoder_texture_format_from_basis_tex_format,_bt_basis_is_format_supported,_bt_basis_compute_transcoded_image_size_in_bytes,_bt_ktx2_open,_bt_ktx2_close,_bt_ktx2_get_width,_bt_ktx2_get_height,_bt_ktx2_get_levels,_bt_ktx2_get_faces,_bt_ktx2_get_layers,_bt_ktx2_get_basis_tex_format,_bt_ktx2_is_etc1s,_bt_ktx2_is_uastc_ldr_4x4,_bt_ktx2_is_hdr,_bt_ktx2_is_hdr_4x4,_bt_ktx2_is_hdr_6x6,_bt_ktx2_is_ldr,_bt_ktx2_is_astc_ldr,_bt_ktx2_is_xuastc_ldr,_bt_ktx2_get_block_width,_bt_ktx2_get_block_height,_bt_ktx2_has_alpha,_bt_ktx2_get_dfd_color_model,_bt_ktx2_get_dfd_color_primaries,_bt_ktx2_get_dfd_transfer_func,_bt_ktx2_is_srgb,_bt_ktx2_get_dfd_flags,_bt_ktx2_get_dfd_total_samples,_bt_ktx2_get_dfd_channel_id0,_bt_ktx2_get_dfd_channel_id1,_bt_ktx2_is_video,_bt_ktx2_get_ldr_hdr_upconversion_nit_multiplier,_bt_ktx2_get_level_orig_width,_bt_ktx2_get_level_orig_height,_bt_ktx2_get_level_actual_width,_bt_ktx2_get_level_actual_height,_bt_ktx2_get_level_num_blocks_x,_bt_ktx2_get_level_num_blocks_y,_bt_ktx2_get_level_total_blocks,_bt_ktx2_get_level_alpha_flag,_bt_ktx2_get_level_iframe_flag,_bt_ktx2_start_transcoding,_bt_ktx2_create_transcode_state,_bt_ktx2_destroy_transcode_state,_bt_ktx2_transcode_image_level,__emscripten_timeout,memory,__indirect_function_table,wasmMemory;function assignWasmExports(wasmExports){_bt_get_version=Module["_bt_get_version"]=wasmExports["i"];_bt_enable_debug_printf=Module["_bt_enable_debug_printf"]=wasmExports["j"];_bt_init=Module["_bt_init"]=wasmExports["k"];_bt_alloc=Module["_bt_alloc"]=wasmExports["l"];_bt_free=Module["_bt_free"]=wasmExports["m"];_bt_basis_tex_format_is_xuastc_ldr=Module["_bt_basis_tex_format_is_xuastc_ldr"]=wasmExports["n"];_bt_basis_tex_format_is_astc_ldr=Module["_bt_basis_tex_format_is_astc_ldr"]=wasmExports["o"];_bt_basis_tex_format_get_block_width=Module["_bt_basis_tex_format_get_block_width"]=wasmExports["p"];_bt_basis_tex_format_get_block_height=Module["_bt_basis_tex_format_get_block_height"]=wasmExports["q"];_bt_basis_tex_format_is_hdr=Module["_bt_basis_tex_format_is_hdr"]=wasmExports["r"];_bt_basis_tex_format_is_ldr=Module["_bt_basis_tex_format_is_ldr"]=wasmExports["s"];_bt_basis_get_bytes_per_block_or_pixel=Module["_bt_basis_get_bytes_per_block_or_pixel"]=wasmExports["t"];_bt_basis_transcoder_format_has_alpha=Module["_bt_basis_transcoder_format_has_alpha"]=wasmExports["u"];_bt_basis_transcoder_format_is_hdr=Module["_bt_basis_transcoder_format_is_hdr"]=wasmExports["v"];_bt_basis_transcoder_format_is_ldr=Module["_bt_basis_transcoder_format_is_ldr"]=wasmExports["w"];_bt_basis_transcoder_texture_format_is_astc=Module["_bt_basis_transcoder_texture_format_is_astc"]=wasmExports["x"];_bt_basis_transcoder_format_is_uncompressed=Module["_bt_basis_transcoder_format_is_uncompressed"]=wasmExports["y"];_bt_basis_get_uncompressed_bytes_per_pixel=Module["_bt_basis_get_uncompressed_bytes_per_pixel"]=wasmExports["z"];_bt_basis_get_block_width=Module["_bt_basis_get_block_width"]=wasmExports["A"];_bt_basis_get_block_height=Module["_bt_basis_get_block_height"]=wasmExports["B"];_bt_basis_get_transcoder_texture_format_from_basis_tex_format=Module["_bt_basis_get_transcoder_texture_format_from_basis_tex_format"]=wasmExports["C"];_bt_basis_is_format_supported=Module["_bt_basis_is_format_supported"]=wasmExports["D"];_bt_basis_compute_transcoded_image_size_in_bytes=Module["_bt_basis_compute_transcoded_image_size_in_bytes"]=wasmExports["E"];_bt_ktx2_open=Module["_bt_ktx2_open"]=wasmExports["F"];_bt_ktx2_close=Module["_bt_ktx2_close"]=wasmExports["G"];_bt_ktx2_get_width=Module["_bt_ktx2_get_width"]=wasmExports["H"];_bt_ktx2_get_height=Module["_bt_ktx2_get_height"]=wasmExports["I"];_bt_ktx2_get_levels=Module["_bt_ktx2_get_levels"]=wasmExports["J"];_bt_ktx2_get_faces=Module["_bt_ktx2_get_faces"]=wasmExports["K"];_bt_ktx2_get_layers=Module["_bt_ktx2_get_layers"]=wasmExports["L"];_bt_ktx2_get_basis_tex_format=Module["_bt_ktx2_get_basis_tex_format"]=wasmExports["M"];_bt_ktx2_is_etc1s=Module["_bt_ktx2_is_etc1s"]=wasmExports["N"];_bt_ktx2_is_uastc_ldr_4x4=Module["_bt_ktx2_is_uastc_ldr_4x4"]=wasmExports["O"];_bt_ktx2_is_hdr=Module["_bt_ktx2_is_hdr"]=wasmExports["P"];_bt_ktx2_is_hdr_4x4=Module["_bt_ktx2_is_hdr_4x4"]=wasmExports["Q"];_bt_ktx2_is_hdr_6x6=Module["_bt_ktx2_is_hdr_6x6"]=wasmExports["R"];_bt_ktx2_is_ldr=Module["_bt_ktx2_is_ldr"]=wasmExports["S"];_bt_ktx2_is_astc_ldr=Module["_bt_ktx2_is_astc_ldr"]=wasmExports["T"];_bt_ktx2_is_xuastc_ldr=Module["_bt_ktx2_is_xuastc_ldr"]=wasmExports["U"];_bt_ktx2_get_block_width=Module["_bt_ktx2_get_block_width"]=wasmExports["V"];_bt_ktx2_get_block_height=Module["_bt_ktx2_get_block_height"]=wasmExports["W"];_bt_ktx2_has_alpha=Module["_bt_ktx2_has_alpha"]=wasmExports["X"];_bt_ktx2_get_dfd_color_model=Module["_bt_ktx2_get_dfd_color_model"]=wasmExports["Y"];_bt_ktx2_get_dfd_color_primaries=Module["_bt_ktx2_get_dfd_color_primaries"]=wasmExports["Z"];_bt_ktx2_get_dfd_transfer_func=Module["_bt_ktx2_get_dfd_transfer_func"]=wasmExports["_"];_bt_ktx2_is_srgb=Module["_bt_ktx2_is_srgb"]=wasmExports["$"];_bt_ktx2_get_dfd_flags=Module["_bt_ktx2_get_dfd_flags"]=wasmExports["aa"];_bt_ktx2_get_dfd_total_samples=Module["_bt_ktx2_get_dfd_total_samples"]=wasmExports["ba"];_bt_ktx2_get_dfd_channel_id0=Module["_bt_ktx2_get_dfd_channel_id0"]=wasmExports["ca"];_bt_ktx2_get_dfd_channel_id1=Module["_bt_ktx2_get_dfd_channel_id1"]=wasmExports["da"];_bt_ktx2_is_video=Module["_bt_ktx2_is_video"]=wasmExports["ea"];_bt_ktx2_get_ldr_hdr_upconversion_nit_multiplier=Module["_bt_ktx2_get_ldr_hdr_upconversion_nit_multiplier"]=wasmExports["fa"];_bt_ktx2_get_level_orig_width=Module["_bt_ktx2_get_level_orig_width"]=wasmExports["ga"];_bt_ktx2_get_level_orig_height=Module["_bt_ktx2_get_level_orig_height"]=wasmExports["ha"];_bt_ktx2_get_level_actual_width=Module["_bt_ktx2_get_level_actual_width"]=wasmExports["ia"];_bt_ktx2_get_level_actual_height=Module["_bt_ktx2_get_level_actual_height"]=wasmExports["ja"];_bt_ktx2_get_level_num_blocks_x=Module["_bt_ktx2_get_level_num_blocks_x"]=wasmExports["ka"];_bt_ktx2_get_level_num_blocks_y=Module["_bt_ktx2_get_level_num_blocks_y"]=wasmExports["la"];_bt_ktx2_get_level_total_blocks=Module["_bt_ktx2_get_level_total_blocks"]=wasmExports["ma"];_bt_ktx2_get_level_alpha_flag=Module["_bt_ktx2_get_level_alpha_flag"]=wasmExports["na"];_bt_ktx2_get_level_iframe_flag=Module["_bt_ktx2_get_level_iframe_flag"]=wasmExports["oa"];_bt_ktx2_start_transcoding=Module["_bt_ktx2_start_transcoding"]=wasmExports["pa"];_bt_ktx2_create_transcode_state=Module["_bt_ktx2_create_transcode_state"]=wasmExports["qa"];_bt_ktx2_destroy_transcode_state=Module["_bt_ktx2_destroy_transcode_state"]=wasmExports["ra"];_bt_ktx2_transcode_image_level=Module["_bt_ktx2_transcode_image_level"]=wasmExports["sa"];__emscripten_timeout=wasmExports["ta"];memory=wasmMemory=wasmExports["h"];__indirect_function_table=wasmExports["__indirect_function_table"]}var wasmImports={a:___assert_fail,e:__abort_js,c:__emscripten_runtime_keepalive_clear,d:__setitimer_js,f:_emscripten_resize_heap,g:_fd_write,b:_proc_exit};function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);postRun()}{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
;return moduleRtn}export default Module;