pans
2017-08-30 71c92f101b6c8b4a678a8c3cfe2d8edbf488efa4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Êþº¾3Èñ
Šò€
óô    õ¿ ¿€?     ö÷    øù    ú    û    ü    ý    þ    ÿ        ÿÿÿÿÿÿÿÿ        
 
ó
ó    
    
 
    
 
    
g
g
$    
$
„À
$e    
$    
$
$ !    "#$AÍÍeAð
%&
%'
 (
 )    *
$+    ,
$-.
$/@@@à
 0
$1
$2?$›¦?F§ð>dZ
$3
45
$6789
R:;<=>
$?@ABCD
$EFF
$GF/
$HIJ
gK
gL@€
 M
$N
$O
$P‹
$QRS
ròT
rU
rVW
rX
YZ
$[
$\‹1
]‹0
$^
$_`
$a‹‚
$bc
$d
$e
$fghjmbufLjava/nio/ByteBuffer;FLOAT_SIZE_BYTESI ConstantValueVERTICES_DATA_STRIDE_BYTESVERTICES_DATA_POS_OFFSETVERTICES_DATA_UV_OFFSET mVerticesData[F    mVerticesLjava/nio/FloatBuffer; mVertexShaderLjava/lang/String;mFragmentShader
mMVPMatrix mProjMatrixmMMatrixmVMatrix    mSTMatrixmProgram
mTextureIDmuMVPMatrixHandlemuSTMatrixHandlemaPositionHandlemaTextureHandlemRatioFmSurface!Landroid/graphics/SurfaceTexture; updateSurfaceZ    mLastTimeJmRunTimemPBOIDTAGGL_TEXTURE_EXTERNAL_OES<init>()VCodeLineNumberTableLocalVariableTablethis$Lcom/example/nativecodec/MyRenderer;onPauseonResume onDrawFrame-(Ljavax/microedition/khronos/opengles/GL10;)VglUnused*Ljavax/microedition/khronos/opengles/GL10;nowdD StackMapTablehoonSurfaceChanged/(Ljavax/microedition/khronos/opengles/GL10;II)VwidthheightonSurfaceCreatedW(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)Vconfig*Ljavax/microedition/khronos/egl/EGLConfig;textures[IñpqÓonFrameAvailable$(Landroid/graphics/SurfaceTexture;)Vsurface
loadShader(ILjava/lang/String;)Icompiled
shaderTypesourceshader createProgram'(Ljava/lang/String;Ljava/lang/String;)I
linkStatus vertexSourcefragmentSource vertexShader pixelShaderprogram checkGlError(Ljava/lang/String;)VoperrorgetSurfaceTexture#()Landroid/graphics/SurfaceTexture;
SourceFileMyGLSurfaceView.java"com/example/nativecodec/MyRenderer ·¸r st Ž ™šïuniform mat4 uMVPMatrix;
uniform mat4 uSTMatrix;
attribute vec4 aPosition;
attribute vec4 aTextureCoord;
varying vec2 vTextureCoord;
void main() {
  gl_Position = uMVPMatrix * aPosition;
  vTextureCoord = (uSTMatrix * aTextureCoord).xy;
}
žÎ#extension GL_OES_EGL_image_external : require
precision mediump float;
varying vec2 vTextureCoord;
uniform samplerExternalOES sTexture;
void main() {
  gl_FragColor = texture2D(sTexture, vTextureCoord);
}
Ÿž  š ¡š ¢š £š ¤š «¬ ¯° ±² ³²u vw xy z{ ›œ| }~ € ‚ƒ„ …† ­® ‡¸ ˆ‰android/opengl/GLES20 Š‹ ¥ ‹ glUseProgram éê Œ‹ ¦  glBindTexture © Ž glVertexAttribPointer maPosition ‹*glEnableVertexAttribArray maPositionHandle ª%glVertexAttribPointer maTextureHandle)glEnableVertexAttribArray maTextureHandle‘ ’“ ”“ •– —˜ § ™𠍐 .› glDrawArrays œ žŸ  ‹ ¡ ¢£ áâ    aPosition ¤ÜglGetAttribLocation aPositionjava/lang/RuntimeException+Could not get attrib location for aPosition ·ê aTextureCoord!glGetAttribLocation aTextureCoord/Could not get attrib location for aTextureCoord
uMVPMatrix ¥ÜglGetUniformLocation uMVPMatrix,Could not get attrib location for uMVPMatrix    uSTMatrixglGetUniformLocation uSTMatrix+Could not get attrib location for uSTMatrix ¦§glBindTexture mTextureID ¨© ª›glTexParameteri mTextureIDandroid/graphics/SurfaceTexture ·‹ «¬ ­® ¯° ±² ³‹ ´µ
MyRendererjava/lang/StringBuilderCould not compile shader  ¶· ¶¸: ¹º» ¼â ½¾ ¿‹ ÛÜ ÀÁ `glAttachShader ‹ õCould not link program:  ľ Å‹ ÆÁ
: glError java/lang/ObjectÇ%android/opengl/GLSurfaceView$RendererRenderer InnerClasses8android/graphics/SurfaceTexture$OnFrameAvailableListenerOnFrameAvailableListenerjava/lang/Throwable(javax/microedition/khronos/opengles/GL10(javax/microedition/khronos/egl/EGLConfigjava/nio/ByteBufferallocateDirect(I)Ljava/nio/ByteBuffer;java/nio/ByteOrder nativeOrder()Ljava/nio/ByteOrder;order+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; asFloatBuffer()Ljava/nio/FloatBuffer;java/nio/FloatBufferput([F)Ljava/nio/FloatBuffer;position(I)Ljava/nio/Buffer;android/opengl/Matrix setIdentityM([FI)Vandroid/os/SystemClockelapsedRealtimeNanos()JupdateTexImagegetTransformMatrix([F)VglClear(I)VglActiveTexture(II)VglVertexAttribPointer(IIIZILjava/nio/Buffer;)VglEnableVertexAttribArrayjava/lang/Mathsin(D)DcosrotateM
([FIFFFF)V
multiplyMM ([FI[FI[FI)VglUniformMatrix4fv    (IIZ[FI)V(III)V
glViewport(IIII)VfrustumM ([FIFFFFFF)VglEnable glBlendFunc glClearColor(FFFF)VglGetAttribLocationglGetUniformLocation glGenTextures(I[II)VglTexParameterf(IIF)VglTexParameterisetOnFrameAvailableListener=(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
setLookAtM([FIFFFFFFFFF)VglCreateShader(I)IglShaderSource(ILjava/lang/String;)VglCompileShader glGetShaderiv(II[II)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;android/util/LogeglGetShaderInfoLog(I)Ljava/lang/String;glDeleteShaderglCreateProgram()I glLinkProgramglGetProgramivglGetProgramInfoLogglDeleteProgram
glGetErrorandroid/opengl/GLSurfaceView Š‹ŒŽ‘’“‘”•‘–—‘˜™š›œž‘
Ÿž‘  š¡š¢š£š¤š¥¦§¨©ª«¬­®¯°±²³²´µž‘q¶‘, ·¸¹eó*·*¸µ*¼YQYQY QY QY QYQYQY QY QY     QY
QY QY QY QY QYQY QY QY QY Qµ    *
µ * µ *¼µ*¼µ*¼µ*¼µ*¼µ* µ*µ*µ*    µ**´    ¾h¸¸¶¶µ*´*´    ¶¶W*´¸±ºNVd IyS^…gh•ij¥k­t²v·w¾xÃWÎXÚYê[ò\» ó¼½¾¸¹+±º^» ¼½¿¸¹6*¸ µ±º
ab» ¼½ÀÁ¹3>*YMÂ*´™*´!¶"*´!*´¶#*µ,çN,Ã-¿A¸%*´&¸'*(·)*¸+,*´-¸.*/·)*´¶W*´0*´¸1*2·)*´0¸3*4·)*´¶W*´5*´¸1*6·)*´5¸3*7·)¸ A*Y´ *´eaµ* µ*´Š8o9*´¸*´:¸;¸< ¸=*´*´*´¸>*´*´*´¸>*´?*´¸@*´A*´¸@¸B*C·)±$''*'ºŽ#hi jlm"o,s2t9u?wDxMyS\€n‚tƒ{„†Š‡œ‰¢Š©‹¯³ŽÂÇÒ‘Ú’ñ“”–#—1™7š=®»*>¼½>Âó‹Ä²ÒlÅÆÇü"ÈDÉúÊ˹})¸D*††nµ*´*´v*´ EF¸G±º´µ¶(·»*)¼½)ÂÃ)̐)͐ÎϹj Q â¸H¸IJKL ¸M**
 ·Nµ&*´&š±**´&O¸Pµ0*Q·)*´0  »RYS·T¿**´&U¸Pµ5*V·)*´5  »RYW·T¿**´&X¸Yµ?*Z·)*´?  »RY[·T¿**´&\¸YµA*]·)*´A  »RY^·T¿¼
N-¸_*-.µ-,*´-¸.*`·),(a¸b,(c¸b,(d¸e,(d¸e*f·)*»gY*´-·hµ!*´!*¶i*´ j ¸k*Y:Â*µç :ÿ±=EHHMHºž'¿ÀÁÄ%Å,Æ-È:É@ÊHËRÍ_ÎeÏmÐwӄԊՒ֜٩گ۷ÜÁäÅåËçÒèÛéáìëîõñÿó    õûü&þ8=BP»*Q¼½QÂÃQÐÑŌÒÓÇ#-$$$$ÿ†ÔÕÖ×ÈÉú!ØÙ¹>*µ±º
  »¼½Ú®ÛܹáW¸l>™O,¸m¸n¼
:o¸p.š1q»rY·st¶u¶vw¶u¶x¸yWq¸z¸yW¸{>¬º2      'EOSU»4>ÝÓW¼½WސWߞRàÇüUáâ¹E{*|+·}>š¬*~,·}6š¬¸6™S¸€*·)¸€*·)¸‚¼
:ƒ¸„.Ÿq…¸yWq¸†¸yW¸‡6¬ºV!" #%&'*#+(,.-4.;/A0F1K2U3]4e5p6u7x:»HK-ãÓ{¼½{äž{åžsædç#XèÇüüüYéê¹|)¸ˆY=™#q»rY·s+¶u‰¶u¶v¶x¸yW§ÿÛ±º?@(C» )¼½)ëž$ìÇü'íî¹/*´!°ºƒ» ¼½ïðl‹ik    Œgn