m.smali
.class public final Lcom/tencent/liteav/beauty/b/m;
.super Lcom/tencent/liteav/videobase/a/b;
.source "SourceFile"
# instance fields
.field private a:I
.field private b:F
.field private c:I
.field private d:I
# direct methods
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
.line 101
invoke-direct {p0, v0}, Lcom/tencent/liteav/beauty/b/m;-><init>(B)V
return-void
.end method
.method private constructor <init>(B)V
.registers 3
const-string p1, "attribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n\nuniform float imageWidthFactor; \nuniform float imageHeightFactor; \nuniform float sharpness;\n\nvarying vec2 textureCoordinate;\nvarying vec2 leftTextureCoordinate;\nvarying vec2 rightTextureCoordinate; \nvarying vec2 topTextureCoordinate;\nvarying vec2 bottomTextureCoordinate;\n\nvarying float centerMultiplier;\nvarying float edgeMultiplier;\n\nvoid main()\n{\n gl_Position = position;\n\n mediump vec2 widthStep = vec2(imageWidthFactor, 0.0);\n mediump vec2 heightStep = vec2(0.0, imageHeightFactor);\n\n textureCoordinate = inputTextureCoordinate.xy;\n leftTextureCoordinate = inputTextureCoordinate.xy - widthStep;\n rightTextureCoordinate = inputTextureCoordinate.xy + widthStep;\n topTextureCoordinate = inputTextureCoordinate.xy + heightStep;\n bottomTextureCoordinate = inputTextureCoordinate.xy - heightStep;\n\n centerMultiplier = 1.0 + 4.0 * sharpness;\n edgeMultiplier = sharpness;\n}"
const-string v0, "precision highp float;\n\nvarying highp vec2 textureCoordinate;\nvarying highp vec2 leftTextureCoordinate;\nvarying highp vec2 rightTextureCoordinate; \nvarying highp vec2 topTextureCoordinate;\nvarying highp vec2 bottomTextureCoordinate;\n\nvarying highp float centerMultiplier;\nvarying highp float edgeMultiplier;\n\nuniform sampler2D inputImageTexture;\n\nvoid main()\n{\n mediump vec3 textureColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n mediump vec3 leftTextureColor = texture2D(inputImageTexture, leftTextureCoordinate).rgb;\n mediump vec3 rightTextureColor = texture2D(inputImageTexture, rightTextureCoordinate).rgb;\n mediump vec3 topTextureColor = texture2D(inputImageTexture, topTextureCoordinate).rgb;\n mediump vec3 bottomTextureColor = texture2D(inputImageTexture, bottomTextureCoordinate).rgb;\n\n gl_FragColor = vec4((textureColor * centerMultiplier - (leftTextureColor * edgeMultiplier + rightTextureColor * edgeMultiplier + topTextureColor * edgeMultiplier + bottomTextureColor * edgeMultiplier)), 1.0);\n}"
.line 105
invoke-direct {p0, p1, v0}, Lcom/tencent/liteav/videobase/a/b;-><init>(Ljava/lang/String;Ljava/lang/String;)V
const/4 p1, 0x0
.line 106
iput p1, p0, Lcom/tencent/liteav/beauty/b/m;->b:F
return-void
.end method
# virtual methods
.method public final a(F)V
.registers 3
.line 127
iput p1, p0, Lcom/tencent/liteav/beauty/b/m;->b:F
.line 128
iget v0, p0, Lcom/tencent/liteav/beauty/b/m;->a:I
invoke-virtual {p0, v0, p1}, Lcom/tencent/liteav/beauty/b/m;->setFloatOnDraw(IF)V
.line 129
invoke-static {p1}, Ljava/lang/String;->valueOf(F)Ljava/lang/String;
move-result-object p1
const-string v0, "set Sharpness "
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "GPUSharpen"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final canBeSkipped()Z
.registers 2
.line 134
iget v0, p0, Lcom/tencent/liteav/beauty/b/m;->b:F
invoke-virtual {p0, v0}, Lcom/tencent/liteav/beauty/b/m;->isLessOrEqualZero(F)Z
move-result v0
return v0
.end method
.method public final onInit(Lcom/tencent/liteav/videobase/frame/e;)V
.registers 3
.line 111
invoke-super {p0, p1}, Lcom/tencent/liteav/videobase/a/b;->onInit(Lcom/tencent/liteav/videobase/frame/e;)V
.line 112
invoke-virtual {p0}, Lcom/tencent/liteav/beauty/b/m;->getProgramId()I
move-result p1
const-string v0, "sharpness"
invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result p1
iput p1, p0, Lcom/tencent/liteav/beauty/b/m;->a:I
.line 113
invoke-virtual {p0}, Lcom/tencent/liteav/beauty/b/m;->getProgramId()I
move-result p1
const-string v0, "imageWidthFactor"
invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result p1
iput p1, p0, Lcom/tencent/liteav/beauty/b/m;->c:I
.line 115
invoke-virtual {p0}, Lcom/tencent/liteav/beauty/b/m;->getProgramId()I
move-result p1
const-string v0, "imageHeightFactor"
invoke-static {p1, v0}, Landroid/opengl/GLES20;->glGetUniformLocation(ILjava/lang/String;)I
move-result p1
iput p1, p0, Lcom/tencent/liteav/beauty/b/m;->d:I
.line 116
iget p1, p0, Lcom/tencent/liteav/beauty/b/m;->b:F
invoke-virtual {p0, p1}, Lcom/tencent/liteav/beauty/b/m;->a(F)V
return-void
.end method
.method public final onOutputSizeChanged(II)V
.registers 5
.line 121
invoke-super {p0, p1, p2}, Lcom/tencent/liteav/videobase/a/b;->onOutputSizeChanged(II)V
.line 122
iget v0, p0, Lcom/tencent/liteav/beauty/b/m;->c:I
int-to-float p1, p1
const/high16 v1, 0x3f800000 # 1.0f
div-float p1, v1, p1
invoke-virtual {p0, v0, p1}, Lcom/tencent/liteav/beauty/b/m;->setFloatOnDraw(IF)V
.line 123
iget p1, p0, Lcom/tencent/liteav/beauty/b/m;->d:I
int-to-float p2, p2
div-float/2addr v1, p2
invoke-virtual {p0, p1, v1}, Lcom/tencent/liteav/beauty/b/m;->setFloatOnDraw(IF)V
return-void
.end method