o.smali

.class public Ljp/co/cyberagent/android/gpuimage/o;
.super Ljp/co/cyberagent/android/gpuimage/g;
.source "SourceFile"


# direct methods
.method public constructor <init>()V
    .registers 4

    const/4 v0, 0x0

    .line 1
    invoke-direct {p0, v0}, Ljp/co/cyberagent/android/gpuimage/g;-><init>(Ljava/util/List;)V

    .line 2
    new-instance v0, Ljp/co/cyberagent/android/gpuimage/e;

    const-string v1, "attribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n\nconst int GAUSSIAN_SAMPLES = 9;\n\nuniform float texelWidthOffset;\nuniform float texelHeightOffset;\n\nvarying vec2 textureCoordinate;\nvarying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\n\nvoid main()\n{\n\tgl_Position = position;\n\ttextureCoordinate = inputTextureCoordinate.xy;\n\t\n\t// Calculate the positions for the blur\n\tint multiplier = 0;\n\tvec2 blurStep;\n   vec2 singleStepOffset = vec2(texelWidthOffset, texelHeightOffset);\n    \n\tfor (int i = 0; i < GAUSSIAN_SAMPLES; i++)\n   {\n\t\tmultiplier = (i - ((GAUSSIAN_SAMPLES - 1) / 2));\n       // Blur in x (horizontal)\n       blurStep = float(multiplier) * singleStepOffset;\n\t\tblurCoordinates[i] = inputTextureCoordinate.xy + blurStep;\n\t}\n}\n"

    const-string v2, "uniform sampler2D inputImageTexture;\n\nconst lowp int GAUSSIAN_SAMPLES = 9;\n\nvarying highp vec2 textureCoordinate;\nvarying highp vec2 blurCoordinates[GAUSSIAN_SAMPLES];\n\nvoid main()\n{\n\tlowp vec3 sum = vec3(0.0);\n   lowp vec4 fragColor=texture2D(inputImageTexture,textureCoordinate);\n\t\n    sum += texture2D(inputImageTexture, blurCoordinates[0]).rgb * 0.05;\n    sum += texture2D(inputImageTexture, blurCoordinates[1]).rgb * 0.09;\n    sum += texture2D(inputImageTexture, blurCoordinates[2]).rgb * 0.12;\n    sum += texture2D(inputImageTexture, blurCoordinates[3]).rgb * 0.15;\n    sum += texture2D(inputImageTexture, blurCoordinates[4]).rgb * 0.18;\n    sum += texture2D(inputImageTexture, blurCoordinates[5]).rgb * 0.15;\n    sum += texture2D(inputImageTexture, blurCoordinates[6]).rgb * 0.12;\n    sum += texture2D(inputImageTexture, blurCoordinates[7]).rgb * 0.09;\n    sum += texture2D(inputImageTexture, blurCoordinates[8]).rgb * 0.05;\n\n\tgl_FragColor = vec4(sum,fragColor.a);\n}"

    invoke-direct {v0, v1, v2}, Ljp/co/cyberagent/android/gpuimage/e;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p0, v0}, Ljp/co/cyberagent/android/gpuimage/g;->l(Ljp/co/cyberagent/android/gpuimage/e;)V

    .line 3
    new-instance v0, Ljp/co/cyberagent/android/gpuimage/e;

    invoke-direct {v0, v1, v2}, Ljp/co/cyberagent/android/gpuimage/e;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p0, v0}, Ljp/co/cyberagent/android/gpuimage/g;->l(Ljp/co/cyberagent/android/gpuimage/e;)V

    return-void
.end method


# virtual methods
.method public final f()V
    .registers 1

    .line 1
    invoke-super {p0}, Ljp/co/cyberagent/android/gpuimage/g;->f()V

    .line 2
    invoke-virtual {p0}, Ljp/co/cyberagent/android/gpuimage/o;->o()V

    return-void
.end method

.method public final h(II)V
    .registers 3

    .line 1
    invoke-super {p0, p1, p2}, Ljp/co/cyberagent/android/gpuimage/g;->h(II)V

    .line 2
    invoke-virtual {p0}, Ljp/co/cyberagent/android/gpuimage/o;->o()V

    return-void
.end method

.method public final o()V
    .registers 9

    .line 1
    move-object v0, p0

    check-cast v0, Ljp/co/cyberagent/android/gpuimage/i;

    .line 2
    iget v1, v0, Ljp/co/cyberagent/android/gpuimage/i;->r:F

    .line 3
    iget-object v2, p0, Ljp/co/cyberagent/android/gpuimage/g;->k:Ljava/util/List;

    const/4 v3, 0x0

    invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljp/co/cyberagent/android/gpuimage/e;

    .line 4
    iget v3, v2, Ljp/co/cyberagent/android/gpuimage/e;->d:I

    const-string v4, "texelWidthOffset"

    .line 5
    invoke-static {v3, v4}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v3

    .line 6
    iget v5, v2, Ljp/co/cyberagent/android/gpuimage/e;->d:I

    const-string v6, "texelHeightOffset"

    .line 7
    invoke-static {v5, v6}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v5

    .line 8
    iget v7, p0, Ljp/co/cyberagent/android/gpuimage/e;->h:I

    int-to-float v7, v7

    div-float/2addr v1, v7

    invoke-virtual {v2, v3, v1}, Ljp/co/cyberagent/android/gpuimage/e;->k(IF)V

    const/4 v1, 0x0

    .line 9
    invoke-virtual {v2, v5, v1}, Ljp/co/cyberagent/android/gpuimage/e;->k(IF)V

    .line 10
    iget v0, v0, Ljp/co/cyberagent/android/gpuimage/i;->r:F

    .line 11
    iget-object v2, p0, Ljp/co/cyberagent/android/gpuimage/g;->k:Ljava/util/List;

    const/4 v3, 0x1

    invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljp/co/cyberagent/android/gpuimage/e;

    .line 12
    iget v3, v2, Ljp/co/cyberagent/android/gpuimage/e;->d:I

    .line 13
    invoke-static {v3, v4}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v3

    .line 14
    iget v4, v2, Ljp/co/cyberagent/android/gpuimage/e;->d:I

    .line 15
    invoke-static {v4, v6}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v4

    .line 16
    invoke-virtual {v2, v3, v1}, Ljp/co/cyberagent/android/gpuimage/e;->k(IF)V

    .line 17
    iget v1, p0, Ljp/co/cyberagent/android/gpuimage/e;->i:I

    int-to-float v1, v1

    div-float/2addr v0, v1

    invoke-virtual {v2, v4, v0}, Ljp/co/cyberagent/android/gpuimage/e;->k(IF)V

    return-void
.end method