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