r.smali

.class public Lh7/r;
.super Lg7/a;
.source "SharpnessFilter.java"

# interfaces
.implements Lg7/e;


# instance fields
.field public i:F

.field public j:I

.field public k:I

.field public l:I

.field public m:I

.field public n:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>()V
    .registers 2

    invoke-direct {p0}, Lg7/a;-><init>()V

    const/high16 v0, 0x3f000000    # 0.5f

    iput v0, p0, Lh7/r;->i:F

    const/4 v0, 0x1

    iput v0, p0, Lh7/r;->j:I

    iput v0, p0, Lh7/r;->k:I

    const/4 v0, -0x1

    iput v0, p0, Lh7/r;->l:I

    iput v0, p0, Lh7/r;->m:I

    iput v0, p0, Lh7/r;->n:I

    return-void
.end method


# virtual methods
.method public a(I)V
    .registers 4

    invoke-super {p0, p1}, Lg7/a;->a(I)V

    const-string v0, "scale"

    invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v1

    iput v1, p0, Lh7/r;->l:I

    invoke-static {v1, v0}, Ls7/a;->a(ILjava/lang/String;)V

    const-string v0, "stepsizeX"

    invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result v1

    iput v1, p0, Lh7/r;->m:I

    invoke-static {v1, v0}, Ls7/a;->a(ILjava/lang/String;)V

    const-string v0, "stepsizeY"

    invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I

    move-result p1

    iput p1, p0, Lh7/r;->n:I

    invoke-static {p1, v0}, Ls7/a;->a(ILjava/lang/String;)V

    return-void
.end method

.method public a(II)V
    .registers 3

    invoke-super {p0, p1, p2}, Lg7/a;->a(II)V

    iput p1, p0, Lh7/r;->j:I

    iput p2, p0, Lh7/r;->k:I

    return-void
.end method

.method public b(F)V
    .registers 2

    invoke-virtual {p0, p1}, Lh7/r;->c(F)V

    return-void
.end method

.method public b(J[F)V
    .registers 5
    .param p1    # J
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param

    invoke-super {p0, p1, p2, p3}, Lg7/a;->b(J[F)V

    iget p1, p0, Lh7/r;->l:I

    iget p2, p0, Lh7/r;->i:F

    invoke-static {p1, p2}, Landroid/opengl/GLES20;->glUniform1f(IF)V

    const-string p1, "glUniform1f"

    invoke-static {p1}, Ls7/a;->a(Ljava/lang/String;)V

    iget p2, p0, Lh7/r;->m:I

    iget p3, p0, Lh7/r;->j:I

    int-to-float p3, p3

    const/high16 v0, 0x3f800000    # 1.0f

    div-float p3, v0, p3

    invoke-static {p2, p3}, Landroid/opengl/GLES20;->glUniform1f(IF)V

    invoke-static {p1}, Ls7/a;->a(Ljava/lang/String;)V

    iget p2, p0, Lh7/r;->n:I

    iget p3, p0, Lh7/r;->k:I

    int-to-float p3, p3

    div-float/2addr v0, p3

    invoke-static {p2, v0}, Landroid/opengl/GLES20;->glUniform1f(IF)V

    invoke-static {p1}, Ls7/a;->a(Ljava/lang/String;)V

    return-void
.end method

.method public c()Ljava/lang/String;
    .registers 2
    .annotation build Landroidx/annotation/NonNull;
    .end annotation

    const-string v0, "#extension GL_OES_EGL_image_external : require\nprecision mediump float;\nuniform samplerExternalOES sTexture;\nuniform float scale;\nuniform float stepsizeX;\nuniform float stepsizeY;\nvarying vec2 vTextureCoord;\nvoid main() {\n  vec3 nbr_color = vec3(0.0, 0.0, 0.0);\n  vec2 coord;\n  vec4 color = texture2D(sTexture, vTextureCoord);\n  coord.x = vTextureCoord.x - 0.5 * stepsizeX;\n  coord.y = vTextureCoord.y - stepsizeY;\n  nbr_color += texture2D(sTexture, coord).rgb - color.rgb;\n  coord.x = vTextureCoord.x - stepsizeX;\n  coord.y = vTextureCoord.y + 0.5 * stepsizeY;\n  nbr_color += texture2D(sTexture, coord).rgb - color.rgb;\n  coord.x = vTextureCoord.x + stepsizeX;\n  coord.y = vTextureCoord.y - 0.5 * stepsizeY;\n  nbr_color += texture2D(sTexture, coord).rgb - color.rgb;\n  coord.x = vTextureCoord.x + stepsizeX;\n  coord.y = vTextureCoord.y + 0.5 * stepsizeY;\n  nbr_color += texture2D(sTexture, coord).rgb - color.rgb;\n  gl_FragColor = vec4(color.rgb - 2.0 * scale * nbr_color, color.a);\n}\n"

    return-object v0
.end method

.method public c(F)V
    .registers 4

    const/4 v0, 0x0

    cmpg-float v1, p1, v0

    if-gez v1, :cond_6

    const/4 p1, 0x0

    :cond_6
    const/high16 v0, 0x3f800000    # 1.0f

    cmpl-float v1, p1, v0

    if-lez v1, :cond_e

    const/high16 p1, 0x3f800000    # 1.0f

    :cond_e
    iput p1, p0, Lh7/r;->i:F

    return-void
.end method

.method public d()F
    .registers 2

    invoke-virtual {p0}, Lh7/r;->g()F

    move-result v0

    return v0
.end method

.method public g()F
    .registers 2

    iget v0, p0, Lh7/r;->i:F

    return v0
.end method

.method public onDestroy()V
    .registers 2

    invoke-super {p0}, Lg7/a;->onDestroy()V

    const/4 v0, -0x1

    iput v0, p0, Lh7/r;->l:I

    iput v0, p0, Lh7/r;->m:I

    iput v0, p0, Lh7/r;->n:I

    return-void
.end method