Files
EasyPlayerJs/html-demo/js/decoder-pro-hard-not-wasm.js

2 lines
299 KiB
JavaScript
Raw Normal View History

2024-08-01 16:32:01 +08:00
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e=1e-6,t="undefined"!=typeof Float32Array?Float32Array:Array;function i(){var e=new t(16);return t!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function r(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var s,n=function(e,t,i,r,s,n,a){var o=1/(t-i),d=1/(r-s),l=1/(n-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+i)*o,e[13]=(s+r)*d,e[14]=(a+n)*l,e[15]=1,e};function a(e,i,r){var s=new t(3);return s[0]=e,s[1]=i,s[2]=r,s}s=new t(3),t!=Float32Array&&(s[0]=0,s[1]=0,s[2]=0);var o=(t,s)=>{s&&t.pixelStorei(t.UNPACK_ALIGNMENT,1);const o=function(){const e=m(t.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),i=m(t.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),r=t.createProgram();if(t.attachShader(r,e),t.attachShader(r,i),t.linkProgram(r),!t.getProgramParameter(r,t.LINK_STATUS))return console.log("Unable to initialize the shader program: "+t.getProgramInfoLog(r)),null;return r}();let d={program:o,attribLocations:{vertexPosition:t.getAttribLocation(o,"aVertexPosition"),texturePosition:t.getAttribLocation(o,"aTexturePosition")},uniformLocations:{projectionMatrix:t.getUniformLocation(o,"uProjectionMatrix"),modelMatrix:t.getUniformLocation(o,"uModelMatrix"),viewMatrix:t.getUniformLocation(o,"uViewMatrix"),rgbatexture:t.getUniformLocation(o,"rgbaTexture"),ytexture:t.getUniformLocation(o,"yTexture"),utexture:t.getUniformLocation(o,"uTexture"),vtexture:t.getUniformLocation(o,"vTexture"),isyuv:t.getUniformLocation(o,"isyuv")}},l=function(){const e=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,e);t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),t.STATIC_DRAW);var i=[];i=i.concat([0,1],[1,1],[1,0],[0,0]);const r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(i),t.STATIC_DRAW);const s=t.createBuffer();t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,s);return t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),t.STATIC_DRAW),{position:e,texPosition:r,indices:s}}(),h=c(),f=c(),p=c(),u=c();function c(){let e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.L