p.smali
.class public Lh7/p;
.super Lg7/a;
.source "SaturationFilter.java"
# interfaces
.implements Lg7/e;
# instance fields
.field public i:F
.field public j:I
.field public k: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, 0x3f800000 # 1.0f
iput v0, p0, Lh7/p;->i:F
const/4 v0, -0x1
iput v0, p0, Lh7/p;->j:I
iput v0, p0, Lh7/p;->k: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/p;->j:I
invoke-static {v1, v0}, Ls7/a;->a(ILjava/lang/String;)V
const-string v0, "exponents"
invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result p1
iput p1, p0, Lh7/p;->k:I
invoke-static {p1, v0}, Ls7/a;->a(ILjava/lang/String;)V
return-void
.end method
.method public b(F)V
.registers 3
const/high16 v0, 0x40000000 # 2.0f
mul-float p1, p1, v0
const/high16 v0, 0x3f800000 # 1.0f
sub-float/2addr p1, v0
invoke-virtual {p0, p1}, Lh7/p;->c(F)V
return-void
.end method
.method public b(J[F)V
.registers 8
.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/p;->i:F
const-string p2, "glUniform3f"
const-string p3, "glUniform1f"
const/high16 v0, 0x3f800000 # 1.0f
const/4 v1, 0x0
cmpl-float v2, p1, v1
if-lez v2, :cond_35
iget p1, p0, Lh7/p;->j:I
invoke-static {p1, v1}, Landroid/opengl/GLES20;->glUniform1f(IF)V
invoke-static {p3}, Ls7/a;->a(Ljava/lang/String;)V
iget p1, p0, Lh7/p;->k:I
const p3, 0x3f666666 # 0.9f
iget v1, p0, Lh7/p;->i:F
mul-float p3, p3, v1
add-float/2addr p3, v0
const v2, 0x40066666 # 2.1f
mul-float v2, v2, v1
add-float/2addr v2, v0
const v3, 0x402ccccd # 2.7f
mul-float v1, v1, v3
add-float/2addr v1, v0
invoke-static {p1, p3, v2, v1}, Landroid/opengl/GLES20;->glUniform3f(IFFF)V
invoke-static {p2}, Ls7/a;->a(Ljava/lang/String;)V
goto :goto_46
:cond_35
iget v2, p0, Lh7/p;->j:I
add-float/2addr p1, v0
invoke-static {v2, p1}, Landroid/opengl/GLES20;->glUniform1f(IF)V
invoke-static {p3}, Ls7/a;->a(Ljava/lang/String;)V
iget p1, p0, Lh7/p;->k:I
invoke-static {p1, v1, v1, v1}, Landroid/opengl/GLES20;->glUniform3f(IFFF)V
invoke-static {p2}, Ls7/a;->a(Ljava/lang/String;)V
:goto_46
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 vec3 exponents;\nfloat shift;\nvec3 weights;\nvarying vec2 vTextureCoord;\nvoid main() {\n weights[0] = 0.25;\n weights[1] = 0.625;\n weights[2] = 0.125;\n shift = 0.003921569;\n vec4 oldcolor = texture2D(sTexture, vTextureCoord);\n float kv = dot(oldcolor.rgb, weights) + shift;\n vec3 new_color = scale * oldcolor.rgb + (1.0 - scale) * kv;\n gl_FragColor = vec4(new_color, oldcolor.a);\n vec4 color = texture2D(sTexture, vTextureCoord);\n float de = dot(color.rgb, weights);\n float inv_de = 1.0 / de;\n vec3 verynew_color = de * pow(color.rgb * inv_de, exponents);\n float max_color = max(max(max(verynew_color.r, verynew_color.g), verynew_color.b), 1.0);\n gl_FragColor = gl_FragColor+vec4(verynew_color / max_color, color.a);\n}\n"
return-object v0
.end method
.method public c(F)V
.registers 4
const/high16 v0, -0x40800000 # -1.0f
cmpg-float v1, p1, v0
if-gez v1, :cond_8
const/high16 p1, -0x40800000 # -1.0f
:cond_8
const/high16 v0, 0x3f800000 # 1.0f
cmpl-float v1, p1, v0
if-lez v1, :cond_10
const/high16 p1, 0x3f800000 # 1.0f
:cond_10
iput p1, p0, Lh7/p;->i:F
return-void
.end method
.method public d()F
.registers 3
invoke-virtual {p0}, Lh7/p;->g()F
move-result v0
const/high16 v1, 0x3f800000 # 1.0f
add-float/2addr v0, v1
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v0, v1
return v0
.end method
.method public g()F
.registers 2
iget v0, p0, Lh7/p;->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/p;->j:I
iput v0, p0, Lh7/p;->k:I
return-void
.end method