h.smali
.class public final Lcom/tencent/liteav/beauty/b/h;
.super Lcom/tencent/liteav/videobase/a/b;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/beauty/b/h$a;
}
.end annotation
# instance fields
.field public a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
.field public b:Z
.field private final c:Landroid/content/Context;
.field private final d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.field private e:Lcom/tencent/liteav/videobase/frame/j;
.field private f:Lcom/tencent/liteav/beauty/b/d;
.field private g:Z
.field private h:Lcom/tencent/liteav/beauty/a/a;
.field private i:Lcom/tencent/liteav/beauty/b/h$a;
.field private j:Lcom/tencent/liteav/beauty/a/a$a;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.line 86
invoke-direct {p0}, Lcom/tencent/liteav/videobase/a/b;-><init>()V
.line 46
new-instance v0, Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-direct {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
const/4 v0, 0x0
.line 54
iput-boolean v0, p0, Lcom/tencent/liteav/beauty/b/h;->g:Z
const/4 v0, 0x0
.line 56
iput-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->i:Lcom/tencent/liteav/beauty/b/h$a;
.line 58
new-instance v0, Lcom/tencent/liteav/beauty/b/h$1;
invoke-direct {v0, p0}, Lcom/tencent/liteav/beauty/b/h$1;-><init>(Lcom/tencent/liteav/beauty/b/h;)V
iput-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->j:Lcom/tencent/liteav/beauty/a/a$a;
.line 87
iput-object p1, p0, Lcom/tencent/liteav/beauty/b/h;->c:Landroid/content/Context;
return-void
.end method
# virtual methods
.method public final onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
.registers 10
.line 117
invoke-virtual {p0}, Lcom/tencent/liteav/beauty/b/h;->isInitialized()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 120
:cond_7
invoke-virtual {p0}, Lcom/tencent/liteav/beauty/b/h;->runPendingOnDrawTasks()V
.line 122
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 123
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getTextureId()I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_17
.line 124
invoke-super {p0, p1, p2, p3, p4}, Lcom/tencent/liteav/videobase/a/b;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
return-void
.line 128
:cond_17
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->mTexturePool:Lcom/tencent/liteav/videobase/frame/e;
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->mOutputSize:Lcom/tencent/liteav/base/util/Size;
iget v1, v1, Lcom/tencent/liteav/base/util/Size;->width:I
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->mOutputSize:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I
invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/videobase/frame/e;->a(II)Lcom/tencent/liteav/videobase/frame/d;
move-result-object v0
.line 129
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
if-nez v1, :cond_38
.line 130
new-instance v1, Lcom/tencent/liteav/videobase/frame/j;
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->mOutputSize:Lcom/tencent/liteav/base/util/Size;
iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I
iget-object v3, p0, Lcom/tencent/liteav/beauty/b/h;->mOutputSize:Lcom/tencent/liteav/base/util/Size;
iget v3, v3, Lcom/tencent/liteav/base/util/Size;->height:I
invoke-direct {v1, v2, v3}, Lcom/tencent/liteav/videobase/frame/j;-><init>(II)V
iput-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
.line 135
:cond_38
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->hasTransformParams()Z
move-result v1
if-nez v1, :cond_5b
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 136
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->b:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne v1, v2, :cond_5b
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 137
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->f:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
if-ne v1, v2, :cond_5b
.line 138
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getTextureId()I
move-result v1
goto :goto_68
.line 140
:cond_5b
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->d:Lcom/tencent/liteav/videobase/frame/PixelFrame;
iget-object v3, p0, Lcom/tencent/liteav/beauty/b/h;->a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
invoke-virtual {v1, v2, v3, v0}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Lcom/tencent/liteav/videobase/frame/d;)V
.line 141
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/d;->a()I
move-result v1
.line 144
:goto_68
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
iget-boolean v3, p0, Lcom/tencent/liteav/beauty/b/h;->b:Z
.line 1078
iget v4, v2, Lcom/tencent/liteav/beauty/b/d;->a:I
if-eqz v3, :cond_73
const/high16 v3, 0x3f800000 # 1.0f
goto :goto_74
:cond_73
const/4 v3, 0x0
:goto_74
invoke-virtual {v2, v4, v3}, Lcom/tencent/liteav/beauty/b/d;->setFloatOnDraw(IF)V
.line 145
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
const-string v3, "inputImageTexture2"
.line 2048
invoke-virtual {v2, v3, p1}, Lcom/tencent/liteav/videobase/b/d;->a(Ljava/lang/String;I)V
.line 146
iget-object v2, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
const-string v3, "inputImageTexture3"
.line 2050
invoke-virtual {v2, v3, v1}, Lcom/tencent/liteav/videobase/b/c;->a(Ljava/lang/String;I)V
.line 147
iget-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
invoke-virtual {v1, p1, p2, p3, p4}, Lcom/tencent/liteav/beauty/b/d;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
.line 149
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/d;->release()V
return-void
.end method
.method public final onInit(Lcom/tencent/liteav/videobase/frame/e;)V
.registers 3
.line 109
invoke-super {p0, p1}, Lcom/tencent/liteav/videobase/a/b;->onInit(Lcom/tencent/liteav/videobase/frame/e;)V
.line 110
new-instance v0, Lcom/tencent/liteav/beauty/b/d;
invoke-direct {v0}, Lcom/tencent/liteav/beauty/b/d;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
.line 111
invoke-virtual {v0, p1}, Lcom/tencent/liteav/beauty/b/d;->initialize(Lcom/tencent/liteav/videobase/frame/e;)V
return-void
.end method
.method public final onOutputSizeChanged(II)V
.registers 4
.line 154
invoke-super {p0, p1, p2}, Lcom/tencent/liteav/videobase/a/b;->onOutputSizeChanged(II)V
.line 155
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
invoke-virtual {v0, p1, p2}, Lcom/tencent/liteav/beauty/b/d;->onOutputSizeChanged(II)V
.line 156
iget-object p1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
if-eqz p1, :cond_12
.line 157
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/j;->a()V
const/4 p1, 0x0
.line 158
iput-object p1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
:cond_12
return-void
.end method
.method public final onUninit()V
.registers 4
.line 2213
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->h:Lcom/tencent/liteav/beauty/a/a;
const/4 v1, 0x0
if-eqz v0, :cond_19
.line 3090
iput-object v1, v0, Lcom/tencent/liteav/beauty/a/a;->c:Lcom/tencent/liteav/beauty/a/a$a;
.line 2215
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->h:Lcom/tencent/liteav/beauty/a/a;
const/4 v2, 0x1
.line 3094
iput-boolean v2, v0, Lcom/tencent/liteav/beauty/a/a;->b:Z
.line 3095
iget-object v2, v0, Lcom/tencent/liteav/beauty/a/a;->a:Ljava/lang/Thread;
if-eqz v2, :cond_17
.line 3096
iget-object v2, v0, Lcom/tencent/liteav/beauty/a/a;->a:Ljava/lang/Thread;
invoke-virtual {v2}, Ljava/lang/Thread;->interrupt()V
.line 3097
iput-object v1, v0, Lcom/tencent/liteav/beauty/a/a;->a:Ljava/lang/Thread;
.line 2216
:cond_17
iput-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->h:Lcom/tencent/liteav/beauty/a/a;
.line 165
:cond_19
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
if-eqz v0, :cond_22
.line 166
invoke-virtual {v0}, Lcom/tencent/liteav/beauty/b/d;->uninitialize()V
.line 167
iput-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->f:Lcom/tencent/liteav/beauty/b/d;
.line 169
:cond_22
iget-object v0, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
if-eqz v0, :cond_2b
.line 170
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/j;->a()V
.line 171
iput-object v1, p0, Lcom/tencent/liteav/beauty/b/h;->e:Lcom/tencent/liteav/videobase/frame/j;
.line 173
:cond_2b
invoke-super {p0}, Lcom/tencent/liteav/videobase/a/b;->onUninit()V
return-void
.end method