d.smali
.class public final Lcom/yysdk/mobile/vpsdk/h/d;
.super Lcom/yysdk/mobile/vpsdk/h/b;
.source "SourceFile"
# instance fields
.field protected s:I
.field protected t:I
.field protected u:I
.field v:F
# direct methods
.method public constructor <init>()V
.registers 2
.line 104
invoke-direct {p0}, Lcom/yysdk/mobile/vpsdk/h/b;-><init>()V
const/high16 v0, 0x3f800000 # 1.0f
.line 101
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->v:F
const/16 v0, 0x64
.line 105
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->m:I
return-void
.end method
.method public constructor <init>(Z)V
.registers 2
.line 109
invoke-direct {p0, p1}, Lcom/yysdk/mobile/vpsdk/h/b;-><init>(Z)V
const/high16 p1, 0x3f800000 # 1.0f
.line 101
iput p1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->v:F
const/16 p1, 0x64
.line 110
iput p1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->m:I
return-void
.end method
# virtual methods
.method public final a([I[F[F)V
.registers 5
const p2, 0x84c0
.line 155
invoke-static {p2}, Landroid/opengl/GLES20;->glActiveTexture(I)V
const/4 p2, 0x0
.line 156
aget p3, p1, p2
const/16 v0, 0xde1
invoke-static {v0, p3}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 157
iget p3, p0, Lcom/yysdk/mobile/vpsdk/h/d;->s:I
invoke-static {p3, p2}, Landroid/opengl/GLES20;->glUniform1i(II)V
const p3, 0x84c1
.line 159
invoke-static {p3}, Landroid/opengl/GLES20;->glActiveTexture(I)V
const/4 p3, 0x1
.line 160
aget p1, p1, p3
invoke-static {v0, p1}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 161
iget p1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->t:I
invoke-static {p1, p3}, Landroid/opengl/GLES20;->glUniform1i(II)V
.line 163
iget p1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->u:I
iget p3, p0, Lcom/yysdk/mobile/vpsdk/h/d;->v:F
invoke-static {p1, p3}, Landroid/opengl/GLES20;->glUniform1f(IF)V
const/4 p1, 0x5
const/4 p3, 0x4
.line 165
invoke-static {p1, p2, p3}, Landroid/opengl/GLES20;->glDrawArrays(III)V
.line 167
invoke-static {}, Landroid/opengl/GLES20;->glFlush()V
.line 168
invoke-static {v0, p2}, Landroid/opengl/GLES20;->glBindTexture(II)V
return-void
.end method
.method protected final b()V
.registers 3
const-string v0, "attribute vec3 attPosition;attribute vec2 attTexCoord;varying vec2 texCoord;void main() { gl_Position = vec4(attPosition, 1.0); texCoord = attTexCoord;}"
const-string v1, "precision highp float;varying vec2 texCoord;uniform sampler2D inputImageTexture;uniform sampler2D inputImageLut;uniform float intensity;void main(){ highp vec4 textureColor = texture2D(inputImageTexture, texCoord); highp float blueColor = textureColor.b * 63.0; highp vec2 quad1; quad1.y = floor(floor(blueColor) / 8.0); quad1.x = floor(blueColor) - (quad1.y * 8.0); highp vec2 quad2; quad2.y = floor(ceil(blueColor) / 8.0); quad2.x = ceil(blueColor) - (quad2.y * 8.0); highp vec2 texPos1; texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r); texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g); highp vec2 texPos2; texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r); texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g); lowp vec4 newColor1 = texture2D(inputImageLut, texPos1); lowp vec4 newColor2 = texture2D(inputImageLut, texPos2); lowp vec4 newColor = mix(newColor1, newColor2, fract(blueColor)); gl_FragColor = mix(textureColor, newColor, intensity);}"
.line 119
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/h/d;->a(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
.line 121
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
if-gtz v0, :cond_16
const-string v0, "vpsdkfilter"
const-string v1, "Cannot build directDraw filter"
.line 123
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 127
:cond_16
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
const-string v1, "attPosition"
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->o:I
.line 128
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
const-string v1, "attTexCoord"
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glGetAttribLocation(ILjava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->p:I
.line 129
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
const-string v1, "inputImageTexture"
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->s:I
.line 130
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
const-string v1, "inputImageLut"
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->t:I
.line 131
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
const-string v1, "intensity"
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result v0
iput v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->u:I
const/4 v0, 0x1
.line 133
invoke-virtual {p0, v0}, Lcom/yysdk/mobile/vpsdk/h/d;->a(Z)V
return-void
.end method
.method protected final c()V
.registers 4
.line 138
invoke-super {p0}, Lcom/yysdk/mobile/vpsdk/h/b;->c()V
.line 140
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
if-lez v0, :cond_1b
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->o:I
if-ltz v0, :cond_1b
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->p:I
if-ltz v0, :cond_1b
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->s:I
if-ltz v0, :cond_1b
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->t:I
if-ltz v0, :cond_1b
iget v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->u:I
if-gez v0, :cond_57
.line 147
:cond_1b
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "YuvRenderFilter: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->n:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lcom/yysdk/mobile/vpsdk/h/d;->o:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->p:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lcom/yysdk/mobile/vpsdk/h/d;->s:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/yysdk/mobile/vpsdk/h/d;->t:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "vpsdkfilter"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
const/4 v0, 0x0
.line 148
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/h/d;->l:Z
:cond_57
return-void
.end method