PairDrop/public/scripts/libs/heic2any.min.js

1 line
1.3 MiB
JavaScript
Raw Normal View History

!function(r,H,a,U){"use strict";function o(){return b.isValid()}function k(){function m(r,a,A,e,i){var t,f,n,o,u,l,c;for((n=a-r)<-1&&(n=-1),s<(o=a+r)&&(o=s),t=a+1,f=a-1,l=1;t<o||n<f;){if(u=M[l++],t<o){c=W[t++];try{c[0]-=u*(c[0]-A)/b|0,c[1]-=u*(c[1]-e)/b|0,c[2]-=u*(c[2]-i)/b|0}catch(r){}}if(n<f){c=W[f--];try{c[0]-=u*(c[0]-A)/b|0,c[1]-=u*(c[1]-e)/b|0,c[2]-=u*(c[2]-i)/b|0}catch(r){}}}}function y(r,a,A){var e,i,t,f,n,o,u,l,c,b;for(c=l=~(1<<31),u=o=-1,e=0;e<s;e++)(i=(b=W[e])[0]-r)<0&&(i=-i),(t=b[1]-a)<0&&(t=-t),i+=t,(t=b[2]-A)<0&&(t=-t),(i+=t)<l&&(l=i,o=e),(f=i-(g[e]>>d-F))<c&&(c=f,u=e),n=J[e]>>h,J[e]-=n,g[e]+=n<<k;return J[o]+=v,g[o]-=w,u}var Z,p,E,B,W,s=256,X=499,G=491,I=487,V=503,C=3*V,o=s-1,F=4,R=100,d=16,t=1<<d,k=10,h=10,v=t>>h,w=t<<k-h,_=6,N=(s>>3)*(1<<_),Y=30,D=1024,Q=256,b=1<<18,l=[],g=[],J=[],M=[];(function(r,a,A){var e,i;for(p=r,E=a,B=A,W=new Array(s),e=0;e<s;e++)W[e]=new Array(4),(i=W[e])[0]=i[1]=i[2]=(e<<F+8)/s|0,J[e]=t/s|0,g[e]=0}).apply(this,arguments);var r={map:function(r,a,A){var e,i,t,f,n,o,u;for(n=1e3,u=-1,i=(e=l[a])-1;e<s||0<=i;)e<s&&(n<=(t=(o=W[e])[1]-a)?e=s:(e++,t<0&&(t=-t),(f=o[0]-r)<0&&(f=-f),(t+=f)<n&&((f=o[2]-A)<0&&(f=-f),(t+=f)<n&&(n=t,u=o[3])))),0<=i&&(n<=(t=a-(o=W[i])[1])?i=-1:(i--,t<0&&(t=-t),(f=o[0]-r)<0&&(f=-f),(t+=f)<n&&((f=o[2]-A)<0&&(f=-f),(t+=f)<n&&(n=t,u=o[3]))));return u}};return r.process=function(){return function(){var r,a,A,e,i,t,f,n,o,u,l,c,b,s,d,k,h,v,w,g;for(E<C&&(B=1),Z=30+(B-1)/3,c=p,u=(l=(s=E)/(3*B))/R|(b=0),n=D,(f=(t=N)>>_)<=1&&(f=0),r=0;r<f;r++)M[r]=n*((f*f-r*r)*Q/(f*f));for(o=E<C?3:E%X!=0?3*X:E%G!=0?3*G:E%I!=0?3*I:3*V,r=0;r<l;)if(a=y(A=(255&c[b+0])<<F,e=(255&c[b+1])<<F,i=(255&c[b+2])<<F),d=n,k=A,h=e,v=i,w=void 0,w=W[a],g=d/D,w[0]-=g*(w[0]-k)|0,w[1]-=g*(w[1]-h)|0,w[2]-=g*(w[2]-v)|0,0!==f&&m(f,a,A,e,i),s<=(b+=o)&&(b-=E),0===u&&(u=1),++r%u==0)for(n-=n/Z,(f=(t-=t/Y)>>_)<=1&&(f=0),a=0;a<f;a++)M[a]=n*((f*f-a*a)*Q/(f*f))}(),function(){var r;for(r=0;r<s;r++)W[r][0]>>=F,W[r][1]>>=F,W[r][2]>>=F,W[r][3]=r}(),function(){var r,a,A,e,i,t,f,n;for(r=n=f=0;r<s;r++){for(e=(i=W[A=r])[1],a=r+1;a<s;a++)(t=W[a])[1]<e&&(A=a,e=t[1]);if(t=W[A],r!=A&&(a=t[0],t[0]=i[0],i[0]=a,a=t[1],t[1]=i[1],i[1]=a,a=t[2],t[2]=i[2],i[2]=a,a=t[3],t[3]=i[3],i[3]=a),e!=f){for(l[f]=n+r>>1,a=f+1;a<e;a++)l[a]=r;f=e,n=r}}for(l[f]=n+o>>1,a=f+1;a<256;a++)l[a]=o}(),function(){for(var r=[],a=new Array(s),A=0;A<s;A++)a[W[A][3]]=A;for(var e=0,i=0;i<s;i++){var t=a[i];r[e++]=W[t][0],r[e++]=W[t][1],r[e++]=W[t][2]}return r}()},r}function u(){try{this.onmessage=function(r){var a,A=r.data||{};A.gifshot&&(a=e.run(A),postMessage(a))}}catch(r){}var e={dataToRGB:function(r,a,A){for(var e=a*A*4,i=0,t=[];i<e;)t.push(r[i++]),t.push(r[i++]),t.push(r[i++]),i++;return t},componentizedPaletteToArray:function(r){r=r||[];for(var a=[],A=0;A<r.length;A+=3){var e=r[A],i=r[A+1],t=r[A+2];a.push(e<<16|i<<8|t)}return a},processFrameWithQuantizer:function(r,a,A,e){for(var i=this.dataToRGB(r,a,A),t=new k(i,i.length,e),f=t.process(),n=new Uint32Array(this.componentizedPaletteToArray(f)),o=a*A,u=new Uint8Array(o),l=0,c=0;c<o;c++){var b=i[l++],s=i[l++],d=i[l++];u[c]=t.map(b,s,d)}return{pixels:u,palette:n}},run:function(r){r=r||{};var a=r.height,A=(r.palette,r.sampleInterval),e=r.width,i=r.data;return this.processFrameWithQuantizer(i,e,a,A)}};return e}function d(v,r,a,A){var w=0,e=(A=A===U?{}:A).loop===U?null:A.loop,g=A.palette===U?null:A.palette;if(r<=0||a<=0||65535<r||65535<a)throw"Width/Height invalid.";v[w++]=71,v[w++]=73,v[w++]=70,v[w++]=56,v[w++]=57,v[w++]=97;if(v[w++]=255&r,v[w++]=r>>8&255,v[w++]=255&a,v[w++]=a>>8&255,v[w++]=0|(null!==g?128:0),v[w++]=0,v[w++]=0,null!==e){if(e<0||65535<e)throw"Loop count invalid.";v[w++]=33,v[w++]=255,v[w++]=11,v[w++]=78,v[w++]=69,v[w++]=84,v[w++]=83,v[w++]=67,v[w++]=65,v[w++]=80,v[w++]=69,v[w++]=50,v[w++]=46,v[w++]=48,v[w++]=3,v[w++]=1,v[w++]=255&e,v[w++]=e>>8&255,v[w++]=0}var m=!1;this.addFrame=function(r,a,A,e,i,t){if(!0===m&&(--w,m=!1),t=t===U?{}:t,r<0||a<0||65535<r||65535<a)throw"x/y invalid.";if(A<=0||e<=0||65535<A||65535<e)throw"Width/Height invalid.";if(i.length<A*e)throw"Not enough pixels for the frame size.";var