mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-15 10:09:45 +00:00
AVIF Makefile improvements
This commit is contained in:
@@ -1,18 +1,12 @@
|
|||||||
ROOT_DIR = node_modules
|
CODEC_URL = https://github.com/AOMediaCodec/libavif/archive/v0.8.0.tar.gz
|
||||||
|
CODEC_DIR = node_modules/libavif
|
||||||
CODEC_DIR = $(ROOT_DIR)/libavif
|
CODEC_BUILD_DIR := $(CODEC_DIR)/build
|
||||||
CODEC_BUILD_DIR = build
|
CODEC_OUT := $(CODEC_BUILD_DIR)/libavif.a
|
||||||
CODEC_OUT := $(CODEC_DIR)/$(CODEC_BUILD_DIR)/libavif.a
|
|
||||||
|
|
||||||
CODEC_URL = "https://github.com/AOMediaCodec/libavif"
|
|
||||||
CODEC_VERSION = "v0.8.0"
|
|
||||||
|
|
||||||
|
LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v2.0.0.tar.gz
|
||||||
LIBAOM_DIR := $(CODEC_DIR)/ext/aom
|
LIBAOM_DIR := $(CODEC_DIR)/ext/aom
|
||||||
LIBAOM_BUILD_DIR = build.libavif
|
LIBAOM_BUILD_DIR := $(LIBAOM_DIR)/build.libavif
|
||||||
LIBAOM_OUT := $(LIBAOM_DIR)/$(LIBAOM_BUILD_DIR)/libaom.a
|
LIBAOM_OUT := $(LIBAOM_BUILD_DIR)/libaom.a
|
||||||
|
|
||||||
LIBAOM_URL = "https://aomedia.googlesource.com/aom/"
|
|
||||||
LIBAOM_VERSION = "v2.0.0"
|
|
||||||
|
|
||||||
OUT_JS = enc/avif_enc.js dec/avif_dec.js
|
OUT_JS = enc/avif_enc.js dec/avif_dec.js
|
||||||
OUT_WASM = $(OUT_JS:.js=.wasm)
|
OUT_WASM = $(OUT_JS:.js=.wasm)
|
||||||
@@ -29,13 +23,25 @@ all: $(OUT_JS)
|
|||||||
--bind \
|
--bind \
|
||||||
--closure 1 \
|
--closure 1 \
|
||||||
-s ALLOW_MEMORY_GROWTH=1 \
|
-s ALLOW_MEMORY_GROWTH=1 \
|
||||||
-s MODULARIZE=1 \ -s 'EXPORT_NAME="$(basename $(@F))"' \
|
-s MODULARIZE=1 \
|
||||||
|
-s 'EXPORT_NAME="$(basename $(@F))"' \
|
||||||
-o $@ \
|
-o $@ \
|
||||||
$+
|
$+
|
||||||
|
|
||||||
|
$(CODEC_OUT): $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_OUT)
|
||||||
|
mkdir -p $(CODEC_BUILD_DIR)
|
||||||
|
cd $(CODEC_BUILD_DIR) && \
|
||||||
|
emcmake cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DBUILD_SHARED_LIBS=0 \
|
||||||
|
-DAVIF_CODEC_AOM=1 \
|
||||||
|
-DAVIF_LOCAL_AOM=1 \
|
||||||
|
../ && \
|
||||||
|
$(MAKE)
|
||||||
|
|
||||||
$(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
|
$(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
|
||||||
mkdir -p $(LIBAOM_DIR)/$(LIBAOM_BUILD_DIR) && \
|
mkdir -p $(LIBAOM_BUILD_DIR)
|
||||||
cd $(LIBAOM_DIR)/$(LIBAOM_BUILD_DIR) && \
|
cd $(LIBAOM_BUILD_DIR) && \
|
||||||
emcmake cmake \
|
emcmake cmake \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DENABLE_CCACHE=0 \
|
-DENABLE_CCACHE=0 \
|
||||||
@@ -43,6 +49,7 @@ $(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
|
|||||||
-DENABLE_DOCS=0 \
|
-DENABLE_DOCS=0 \
|
||||||
-DENABLE_TESTS=0 \
|
-DENABLE_TESTS=0 \
|
||||||
-DENABLE_EXAMPLES=0 \
|
-DENABLE_EXAMPLES=0 \
|
||||||
|
-DENABLE_TOOLS=0 \
|
||||||
-DCONFIG_ACCOUNTING=1 \
|
-DCONFIG_ACCOUNTING=1 \
|
||||||
-DCONFIG_INSPECTION=0 \
|
-DCONFIG_INSPECTION=0 \
|
||||||
-DCONFIG_MULTITHREAD=0 \
|
-DCONFIG_MULTITHREAD=0 \
|
||||||
@@ -51,25 +58,19 @@ $(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
|
|||||||
../ && \
|
../ && \
|
||||||
$(MAKE)
|
$(MAKE)
|
||||||
|
|
||||||
$(LIBAOM_DIR)/CMakeLists.txt: $(CODEC_DIR)/CMakeLists.txt
|
$(CODEC_DIR)/CMakeLists.txt: $(CODEC_DIR)
|
||||||
mkdir -p $(LIBAOM_DIR)
|
|
||||||
curl -L $(LIBAOM_URL)/+archive/$(LIBAOM_VERSION).tar.gz | tar -xzf - -C $(LIBAOM_DIR)
|
|
||||||
|
|
||||||
$(CODEC_OUT): $(LIBAOM_OUT)
|
$(LIBAOM_DIR)/CMakeLists.txt: $(LIBAOM_DIR)
|
||||||
mkdir -p $(CODEC_DIR)/$(CODEC_BUILD_DIR) && \
|
|
||||||
cd $(CODEC_DIR)/$(CODEC_BUILD_DIR) && \
|
|
||||||
emcmake cmake \
|
|
||||||
DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DAVIF_CODEC_AOM=1 \
|
|
||||||
-DAVIF_LOCAL_AOM=1 \
|
|
||||||
../ && \
|
|
||||||
$(MAKE)
|
|
||||||
|
|
||||||
$(CODEC_DIR)/CMakeLists.txt:
|
$(CODEC_DIR):
|
||||||
mkdir -p $(CODEC_DIR)
|
mkdir -p $@
|
||||||
curl -L $(CODEC_URL)/archive/$(CODEC_VERSION).tar.gz | tar -xzf - --strip 1 -C $(CODEC_DIR)
|
curl -sL $(CODEC_URL) | tar xz --strip 1 -C $@
|
||||||
|
|
||||||
|
$(LIBAOM_DIR):
|
||||||
|
mkdir -p $@
|
||||||
|
curl -sL $(LIBAOM_URL) | tar xz -C $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OUT_JS) $(OUT_WASM)
|
$(RM) $(OUT_JS) $(OUT_WASM)
|
||||||
$(MAKE) -C $(CODEC_DIR)/$(CODEC_BUILD_DIR) clean
|
$(MAKE) -C $(CODEC_BUILD_DIR) clean
|
||||||
$(MAKE) -C $(LIBAOM_DIR)/$(LIBAOM_BUILD_DIR) clean
|
$(MAKE) -C $(LIBAOM_BUILD_DIR) clean
|
||||||
|
|||||||
Binary file not shown.
@@ -17,7 +17,7 @@ function sa(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;+
|
|||||||
function ta(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32<c-a&&ua)return ua.decode(C.subarray(a,c));c=0;for(d="";;){var f=D[a+2*c>>1];if(0==f||c==b/2)return d;++c;d+=String.fromCharCode(f)}}
|
function ta(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32<c-a&&ua)return ua.decode(C.subarray(a,c));c=0;for(d="";;){var f=D[a+2*c>>1];if(0==f||c==b/2)return d;++c;d+=String.fromCharCode(f)}}
|
||||||
function xa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)D[b>>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var f=F[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
|
function xa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)D[b>>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var f=F[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
|
||||||
function Aa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var G,H,C,D,wa,F,I,Ca,Da;
|
function Aa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var G,H,C,D,wa,F,I,Ca,Da;
|
||||||
function Ea(a){G=a;e.HEAP8=H=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=F=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=wa=new Uint16Array(a);e.HEAPU32=I=new Uint32Array(a);e.HEAPF32=Ca=new Float32Array(a);e.HEAPF64=Da=new Float64Array(a)}var Fa=e.INITIAL_MEMORY||16777216;e.wasmMemory?A=e.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[224108]=6139472;
|
function Ea(a){G=a;e.HEAP8=H=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=F=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=wa=new Uint16Array(a);e.HEAPU32=I=new Uint32Array(a);e.HEAPF32=Ca=new Float32Array(a);e.HEAPF64=Da=new Float64Array(a)}var Fa=e.INITIAL_MEMORY||16777216;e.wasmMemory?A=e.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[224172]=6139728;
|
||||||
function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.ub;"number"===typeof c?void 0===b.bb?e.dynCall_v(c):e.dynCall_vi(c,b.bb):c(void 0===b.bb?null:b.bb)}}}var Ha=[],Ia=[],Ja=[],Ka=[];function La(){var a=e.preRun.shift();Ha.unshift(a)}var Ma=Math.abs,Na=Math.ceil,Oa=Math.floor,Pa=Math.min,J=0,Qa=null,Ra=null;e.preloadedImages={};e.preloadedAudios={};
|
function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.ub;"number"===typeof c?void 0===b.bb?e.dynCall_v(c):e.dynCall_vi(c,b.bb):c(void 0===b.bb?null:b.bb)}}}var Ha=[],Ia=[],Ja=[],Ka=[];function La(){var a=e.preRun.shift();Ha.unshift(a)}var Ma=Math.abs,Na=Math.ceil,Oa=Math.floor,Pa=Math.min,J=0,Qa=null,Ra=null;e.preloadedImages={};e.preloadedAudios={};
|
||||||
function x(a){if(e.onAbort)e.onAbort(a);z(a);pa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Sa(a){var b=K;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ta(){return Sa("data:application/octet-stream;base64,")}var K="avif_enc.wasm";if(!Ta()){var Ua=K;K=e.locateFile?e.locateFile(Ua,u):u+Ua}
|
function x(a){if(e.onAbort)e.onAbort(a);z(a);pa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Sa(a){var b=K;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ta(){return Sa("data:application/octet-stream;base64,")}var K="avif_enc.wasm";if(!Ta()){var Ua=K;K=e.locateFile?e.locateFile(Ua,u):u+Ua}
|
||||||
function Va(){try{if(na)return new Uint8Array(na);if(ia)return ia(K);throw"both async and sync fetching of the wasm failed";}catch(a){x(a)}}function Wa(){return na||!da&&!r||"function"!==typeof fetch||Sa("file://")?new Promise(function(a){a(Va())}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Va()})}var Xa,Ya;Ia.push({ub:function(){Za()}});function $a(){return 0<$a.Za}
|
function Va(){try{if(na)return new Uint8Array(na);if(ia)return ia(K);throw"both async and sync fetching of the wasm failed";}catch(a){x(a)}}function Wa(){return na||!da&&!r||"function"!==typeof fetch||Sa("file://")?new Promise(function(a){a(Va())}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Va()})}var Xa,Ya;Ia.push({ub:function(){Za()}});function $a(){return 0<$a.Za}
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user