From 695bbed12b4b1ba1de04d71ee63e099e5ca893b8 Mon Sep 17 00:00:00 2001 From: Surma Date: Thu, 14 Jun 2018 13:32:05 +0100 Subject: [PATCH] Update webp to v1.0.0 --- codecs/mozjpeg_enc/example.html | 1 + codecs/webp_dec/example.html | 1 + codecs/webp_dec/package.json | 2 +- codecs/webp_dec/webp_dec.js | 2 +- codecs/webp_dec/webp_dec.wasm | Bin 133156 -> 134492 bytes codecs/webp_enc/example.html | 1 + codecs/webp_enc/package.json | 2 +- codecs/webp_enc/webp_enc.js | 2 +- codecs/webp_enc/webp_enc.wasm | Bin 254240 -> 259527 bytes 9 files changed, 7 insertions(+), 4 deletions(-) diff --git a/codecs/mozjpeg_enc/example.html b/codecs/mozjpeg_enc/example.html index 8e50ddf7..e03d3ed8 100644 --- a/codecs/mozjpeg_enc/example.html +++ b/codecs/mozjpeg_enc/example.html @@ -27,6 +27,7 @@ get_result_pointer: Module.cwrap('get_result_pointer', 'number', []), get_result_size: Module.cwrap('get_result_size', 'number', []), }; + console.log('Version:', api.version().toString(16)); const image = await loadImage('../example.png'); const p = api.create_buffer(image.width, image.height); Module.HEAP8.set(image.data, p); diff --git a/codecs/webp_dec/example.html b/codecs/webp_dec/example.html index 28806645..eea1a975 100644 --- a/codecs/webp_dec/example.html +++ b/codecs/webp_dec/example.html @@ -19,6 +19,7 @@ get_result_width: Module.cwrap('get_result_width', 'number', []), get_result_height: Module.cwrap('get_result_height', 'number', []), }; + console.log('Version:', api.version().toString(16)); const image = await loadFile('../example.webp'); const p = api.create_buffer(image.byteLength); Module.HEAP8.set(new Uint8Array(image), p); diff --git a/codecs/webp_dec/package.json b/codecs/webp_dec/package.json index bca89809..6a5271b2 100644 --- a/codecs/webp_dec/package.json +++ b/codecs/webp_dec/package.json @@ -5,7 +5,7 @@ "build": "docker run --rm -v $(pwd):/src trzeci/emscripten emcc -O3 -s WASM=1 -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]' -s ALLOW_MEMORY_GROWTH=1 -s MODULARIZE=1 -s 'EXPORT_NAME=\"webp_dec\"' -I node_modules/libwebp -o ./webp_dec.js webp_dec.c node_modules/libwebp/src/{dec,dsp,demux,enc,mux,utils}/*.c" }, "napa": { - "libwebp": "webmproject/libwebp#v0.6.1" + "libwebp": "webmproject/libwebp#v1.0.0" }, "devDependencies": { "napa": "^3.0.0" diff --git a/codecs/webp_dec/webp_dec.js b/codecs/webp_dec/webp_dec.js index 0a1d7939..cb257285 100644 --- a/codecs/webp_dec/webp_dec.js +++ b/codecs/webp_dec/webp_dec.js @@ -1,7 +1,7 @@ var webp_dec = function(webp_dec) { webp_dec = webp_dec || {}; -var Module=typeof webp_dec!=="undefined"?webp_dec:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="webp_dec.wast";var wasmBinaryFile="webp_dec.wasm";var asmjsCodeFile="webp_dec.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=158;Module["wasmMaxTableSize"]=158;Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"___assert_fail":___assert_fail,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"STACKTOP":STACKTOP};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var _create_buffer=Module["_create_buffer"]=(function(){return Module["asm"]["_create_buffer"].apply(null,arguments)});var _decode=Module["_decode"]=(function(){return Module["asm"]["_decode"].apply(null,arguments)});var _destroy_buffer=Module["_destroy_buffer"]=(function(){return Module["asm"]["_destroy_buffer"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _free_result=Module["_free_result"]=(function(){return Module["asm"]["_free_result"].apply(null,arguments)});var _get_result_height=Module["_get_result_height"]=(function(){return Module["asm"]["_get_result_height"].apply(null,arguments)});var _get_result_pointer=Module["_get_result_pointer"]=(function(){return Module["asm"]["_get_result_pointer"].apply(null,arguments)});var _get_result_width=Module["_get_result_width"]=(function(){return Module["asm"]["_get_result_width"].apply(null,arguments)});var _version=Module["_version"]=(function(){return Module["asm"]["_version"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});Module["asm"]=asm;Module["cwrap"]=cwrap;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() +var Module=typeof webp_dec!=="undefined"?webp_dec:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="webp_dec.wast";var wasmBinaryFile="webp_dec.wasm";var asmjsCodeFile="webp_dec.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=168;Module["wasmMaxTableSize"]=168;Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"___assert_fail":___assert_fail,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"STACKTOP":STACKTOP};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var _create_buffer=Module["_create_buffer"]=(function(){return Module["asm"]["_create_buffer"].apply(null,arguments)});var _decode=Module["_decode"]=(function(){return Module["asm"]["_decode"].apply(null,arguments)});var _destroy_buffer=Module["_destroy_buffer"]=(function(){return Module["asm"]["_destroy_buffer"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _free_result=Module["_free_result"]=(function(){return Module["asm"]["_free_result"].apply(null,arguments)});var _get_result_height=Module["_get_result_height"]=(function(){return Module["asm"]["_get_result_height"].apply(null,arguments)});var _get_result_pointer=Module["_get_result_pointer"]=(function(){return Module["asm"]["_get_result_pointer"].apply(null,arguments)});var _get_result_width=Module["_get_result_width"]=(function(){return Module["asm"]["_get_result_width"].apply(null,arguments)});var _version=Module["_version"]=(function(){return Module["asm"]["_version"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});Module["asm"]=asm;Module["cwrap"]=cwrap;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() diff --git a/codecs/webp_dec/webp_dec.wasm b/codecs/webp_dec/webp_dec.wasm index c803ba22521f68ca8324f9b7b55bf0f9d78b7bc1..94a96846e628e045fcb9b9754ace765d499edc4e 100644 GIT binary patch delta 7160 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 fC6c+S!_*@9lI8F7N{cHBJK(6!+3J>`|GvEh; delta 5685 zcmaJ_dwdl|mhP{+@6COuZyt~bN$Pe2hPMP^M0B8$0D>|;P)2k&B1Gg8iG;u`Dqc`j zU;qQ9HY#XD91+oByto$?5EvXlBcdXpgS$FD23<$+tuxHJU-b>IpU(ClUEeuXed?=o zPE}Xcp$7u1TLKYn{PY{3X&UZB!P1DcbYfN9NTpKRH935%N4v(qbm1W5Aw0CSZET02 zQ9pHNY*Kymn8xPu4Hwnl(AYFf3(5f~Lr{)IZR$t-6Q%*(&`l%Xrx|8A*RLaxuj{$K zNKDrO-KWI@IeGxGm=*{Ga&mHgX4EhOh8~WD14hgj3R`+ei^T#lUyP4s`49-jf?C)N zfX&Qc#L$h1ZsY{{jcJ;OVVH(0X*@+MhT+dK17^@r3O$e)Asb)z3B^MQwqt+x3FxE} zu;>EygtLW4n z&Z@h1#&y@#H)*%&k-F=e>g(&8>Zi|WXx2WHmQk46kNi6Nv|U+uW8>th&20P;;-{*A zGkIe3_1Yl>>SoqAO`qI2Rl7Pgan{uH$2T<8&77<)L}+^R_z6>-hK9xo+U#T-;tR_2{|>rMaho0$jj7WUyyyn)xT z7q4LtUPT*T!OPfl$M7&7!b+^bgLnY z2tB_t=bv~$hnY%0YxardIr2!}WpY&h14ySo&cDcvJqw@Es`UbM zu+XdxX{V^Ki7RAF-cZ@SEEkK@1IwoSP$7SBUxSLYRXG+EuCMwkavyAet&cbkxX-TV;<$SP|`+D}5BYKWT zXX*Cr@w4@V?9oE6H3#R0h31H)fMX`D(c!ozw05m!%YMCjbm+|btZ^-CobvaYjDA>@ zzPr~v;N5h=nV$pSNTbHV{&a0kHE^b!+E?V*-qxZhrkNPpUI zy@5Z=2L~k3CN~f0gZ=WzfS!@IueD^gt~nLcoc-zQbLQ$8BG;aKGe_R#yjGpX&OwuO zypirbWE?0hJpUsl-8gJ73+Y@iyKsnu+^`yu(Vu3#0GU?$k@`V_$Y)=juw5fRyP
$c~FxVnu^^x~BcFzh?t514Yar zVP0O+jwu%{&P(>xv_zb`!||kDtQzD|_>4ln5(+6CqEMoQQVQ=;=%9ph3LjGFsDug% ztJ#B*Qc|w+{{}rlmsacdz|n^((!#WQgoU24bPCn_8Ym@8-6nfyy`HoS`0)s(RcsTT zSgvDPCJgEwZDb;94Cc3ris;0bo#U9zLUFc@h9q5KHYa;0e4nq!xRk2iHlCy;fqS8H7o7Eyk1qUjjs9qUzKvkflw z3FQ}|+-3(wj$<@8*nUOJXtu-2M2=9N64X#Q(N9m!NTmE;?}-T8Y9m!A4!BxaBEr=6 zTV*0gsM(N}=5l7V4@YrqPXmvF*ZSi2)}|-TVe59<4*rG3D|*x7sYCI;9DACb%fpL%GAqt7yTDl=u2q%>s&B+O;N7622*JeuO(q@7^6MD(T_C_`fiG10a!XAUd^obCw z{K~IN6wxVRT7^@Pv~xtTe>uYirzpw9^>KM7?v%8{BD++JsC=-cbb#+d2G30R!mK^4 zCGA{CQ%yNZ^SnQUHk>m-A32S!xBv)nQKCG>+9r>*)D7EfIO#mg3^T2ANZy;aLT^Ya z6G0JFDm8OdlFewaqn{<=kug|g4G4p$X1f@&>Vf#FSTWO2ph&noLb1~1^TRm+QrS<#ZLhZ!Ef zN0~88in!8yF`zzliaxz+S(gw7%iSxw^8M9{r%{q#weo!vgVOU>wE~Z(JFm{uk&tKq z&Q5*ywdUlIw{w&rpupDzK?S}i2q|!kAgsWgZ!{;Oz&wJe0`m!C3M?YXRiK5yQs5qf zxB|-w@)TG>kgq^1L4g9RQ$$|(YmS3;$H966kI)7JkI+T}kI*IpkI+^EkI)VRkI*gx zk5C(dM`$mBM`#~`N9Z7dN9fQuj_kTn`a=T;C(`xPJI8_mf`t zhvl+0wLRWZS)x+iur4}@xWcI!1V^*VPiPNHY48U>`^_%tyI<3eFjsYH$EjrjzgHx?0i-e@84yunRa)*H(SJa4QZ@FLer;HA>) zJR&c0YX}NeRMyGN#xb(>xxPGcIdda&(euZ!TrPN_6$50qP3NFa)^BPeKDg<643y61 z5e3)T;4W7fRa{r;3UJ?Wtz5aeV`#Xow!Z?_c)4YB30ESkQ6Add3+Kr2mIQ{&o?D7L z%tL?fID}uV8$L^dOOR<@FR$KG5^Z3p__@w1%aylp>4S`Xc1s3bFe%(i$cGJLX`Nylclzcvk8!?Z(-%?WLkvh~02S=3a_RYB>Gn zOXuR(`e3I;{r+mBoWTKandNSS3e}byUO1sq=3utkdc4)v(_3}&YJXxwUb3?r4=1HQ z9qFcy3Wjr(KBffVQ0*W`bK}-YZh19>TGXg;1w=m{UU7(f1K zOmmj&qiG|SHZ(fGLY0<3``T1K#7%6l1k73}i-oKR-t?WQm{++0`dA1Pzo$4vI z`dPQhF$X4Nn%r`r8cF%r10%6S)*Re{JLGod38^_sHeh_DqDz`QdgHe^aGY=mDXSfXo zysYTw_AA6h_VGX=7U=latt#Tp!(R8rB1|eh`?zm)XI9cNMyZ8*dJ~n_FxM$YC0gD3 zVqAk^?w^V=NGSLF)F+%IKbPT|!V_Ab&OpnM*3M)TrX!2(QW1-H5@v z5fA7d$YnH{T0G;|xPR+{ZSED-n3mJS3-WpHo@%=Nj>muCB|-sDawdn!yqU*6S|s~P zv>UEKjmx6Sed-K6kvZHO7X$aWyhS)av!EO5e6HIUz1{Icab4!de)uA$f9G>s2V!`} zs>LTh`u*=Cu|0F(VqOC2OLTY6Whj39z$p0KTQ5W0Jvthp%<@a|i-Ez7P=|V0|Cu?s z7?r-vF&BPh{;>@3W%T>e({wjJjN4G+4s2yYeCY0MMFs=i)FZr3s&|W5F}f4o4XZF4 zZEnq@=#BmEwU46DY4;rN!;kWUDdAqU8e`0R5!K}vk5#(6RwJLvL#t7Z7Wa`A=$g55 zCF=By`4~F+0zsaUzv5(b%hzJ3dt@!{#B=VIHHTDC41k!y#Sm893whlY55Dr3Vq}_kXdNEzSS{ diff --git a/codecs/webp_enc/example.html b/codecs/webp_enc/example.html index 8b9c3ca2..37dfdf40 100644 --- a/codecs/webp_enc/example.html +++ b/codecs/webp_enc/example.html @@ -27,6 +27,7 @@ get_result_pointer: Module.cwrap('get_result_pointer', 'number', []), get_result_size: Module.cwrap('get_result_size', 'number', []), }; + console.log('Version:', api.version().toString(16)); const image = await loadImage('../example.png'); const p = api.create_buffer(image.width, image.height); Module.HEAP8.set(image.data, p); diff --git a/codecs/webp_enc/package.json b/codecs/webp_enc/package.json index ff66e9a4..4f66048c 100644 --- a/codecs/webp_enc/package.json +++ b/codecs/webp_enc/package.json @@ -5,7 +5,7 @@ "build": "docker run --rm -v $(pwd):/src trzeci/emscripten emcc -O3 -s WASM=1 -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]' -s ALLOW_MEMORY_GROWTH=1 -s MODULARIZE=1 -s 'EXPORT_NAME=\"webp_enc\"' -I node_modules/libwebp -o ./webp_enc.js webp_enc.c node_modules/libwebp/src/{dec,dsp,demux,enc,mux,utils}/*.c" }, "napa": { - "libwebp": "webmproject/libwebp#v0.6.1" + "libwebp": "webmproject/libwebp#v1.0.0" }, "devDependencies": { "napa": "^3.0.0" diff --git a/codecs/webp_enc/webp_enc.js b/codecs/webp_enc/webp_enc.js index af426750..aed44a96 100644 --- a/codecs/webp_enc/webp_enc.js +++ b/codecs/webp_enc/webp_enc.js @@ -1,7 +1,7 @@ var webp_enc = function(webp_enc) { webp_enc = webp_enc || {}; -var Module=typeof webp_enc!=="undefined"?webp_enc:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="webp_enc.wast";var wasmBinaryFile="webp_enc.wasm";var asmjsCodeFile="webp_enc.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=118;Module["wasmMaxTableSize"]=118;Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"___assert_fail":___assert_fail,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"STACKTOP":STACKTOP};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var _create_buffer=Module["_create_buffer"]=(function(){return Module["asm"]["_create_buffer"].apply(null,arguments)});var _destroy_buffer=Module["_destroy_buffer"]=(function(){return Module["asm"]["_destroy_buffer"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _encode=Module["_encode"]=(function(){return Module["asm"]["_encode"].apply(null,arguments)});var _free_result=Module["_free_result"]=(function(){return Module["asm"]["_free_result"].apply(null,arguments)});var _get_result_pointer=Module["_get_result_pointer"]=(function(){return Module["asm"]["_get_result_pointer"].apply(null,arguments)});var _get_result_size=Module["_get_result_size"]=(function(){return Module["asm"]["_get_result_size"].apply(null,arguments)});var _version=Module["_version"]=(function(){return Module["asm"]["_version"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});Module["asm"]=asm;Module["cwrap"]=cwrap;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() +var Module=typeof webp_enc!=="undefined"?webp_enc:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}var functionPointers=new Array(0);var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="webp_enc.wast";var wasmBinaryFile="webp_enc.wasm";var asmjsCodeFile="webp_enc.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=176;Module["wasmMaxTableSize"]=176;Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"___assert_fail":___assert_fail,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"STACKTOP":STACKTOP};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var _create_buffer=Module["_create_buffer"]=(function(){return Module["asm"]["_create_buffer"].apply(null,arguments)});var _destroy_buffer=Module["_destroy_buffer"]=(function(){return Module["asm"]["_destroy_buffer"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _encode=Module["_encode"]=(function(){return Module["asm"]["_encode"].apply(null,arguments)});var _free_result=Module["_free_result"]=(function(){return Module["asm"]["_free_result"].apply(null,arguments)});var _get_result_pointer=Module["_get_result_pointer"]=(function(){return Module["asm"]["_get_result_pointer"].apply(null,arguments)});var _get_result_size=Module["_get_result_size"]=(function(){return Module["asm"]["_get_result_size"].apply(null,arguments)});var _version=Module["_version"]=(function(){return Module["asm"]["_version"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});Module["asm"]=asm;Module["cwrap"]=cwrap;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() diff --git a/codecs/webp_enc/webp_enc.wasm b/codecs/webp_enc/webp_enc.wasm index a309988c8a4fbb9233e150a2bb6ff02c87ad69e5..4c55c46efb96ed6764809cfcf7c0764a88ac7d3d 100644 GIT binary patch delta 36963 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 Z6KiHnp03I1uj|wK9j_;LzOMJl`9B>s?GOL} delta 32093 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