j.smali
.class public final Lcom/tencent/liteav/videobase/frame/j;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final c:[F
.field private static final d:[F
.field private static final e:[F
.field private static final f:[F
# instance fields
.field public final a:I
.field public final b:I
.field private final g:Ljava/nio/FloatBuffer;
.field private final h:Ljava/nio/FloatBuffer;
.field private final i:[Lcom/tencent/liteav/videobase/a/b;
.field private j:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
.field private k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.field private l:Lcom/tencent/liteav/videobase/b/a;
.field private m:Lcom/tencent/liteav/videobase/a/b;
.field private n:Lcom/tencent/liteav/videobase/frame/c;
# direct methods
.method static constructor <clinit>()V
.registers 2
const/16 v0, 0x8
new-array v1, v0, [F
.line 46
fill-array-data v1, :array_20
sput-object v1, Lcom/tencent/liteav/videobase/frame/j;->c:[F
new-array v1, v0, [F
.line 56
fill-array-data v1, :array_34
sput-object v1, Lcom/tencent/liteav/videobase/frame/j;->d:[F
new-array v1, v0, [F
.line 66
fill-array-data v1, :array_48
sput-object v1, Lcom/tencent/liteav/videobase/frame/j;->e:[F
new-array v0, v0, [F
.line 76
fill-array-data v0, :array_5c
sput-object v0, Lcom/tencent/liteav/videobase/frame/j;->f:[F
return-void
nop
:array_20
.array-data 4
0x0
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x0
0x0
0x3f800000 # 1.0f
0x0
.end array-data
:array_34
.array-data 4
0x0
0x0
0x0
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x0
0x3f800000 # 1.0f
0x3f800000 # 1.0f
.end array-data
:array_48
.array-data 4
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x0
0x0
0x3f800000 # 1.0f
0x0
0x0
.end array-data
:array_5c
.array-data 4
0x3f800000 # 1.0f
0x0
0x0
0x0
0x3f800000 # 1.0f
0x3f800000 # 1.0f
0x0
0x3f800000 # 1.0f
.end array-data
.end method
.method public constructor <init>(II)V
.registers 4
.line 101
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 93
invoke-static {}, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->values()[Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object v0
array-length v0, v0
new-array v0, v0, [Lcom/tencent/liteav/videobase/a/b;
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
const/4 v0, 0x0
.line 96
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 97
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
.line 98
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
.line 102
iput p1, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
.line 103
iput p2, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
.line 105
sget-object p1, Lcom/tencent/liteav/videobase/base/GLConstants;->c:[F
array-length p1, p1
mul-int/lit8 p1, p1, 0x4
invoke-static {p1}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object p1
.line 106
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
move-result-object p1
.line 107
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
move-result-object p1
sget-object p2, Lcom/tencent/liteav/videobase/base/GLConstants;->c:[F
.line 108
invoke-virtual {p1, p2}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
move-result-object p1
iput-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
.line 109
sget-object p1, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;
const/4 p2, 0x0
.line 110
invoke-static {p1, p2, p2}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->createTextureCoordsBuffer(Lcom/tencent/liteav/videobase/utils/Rotation;ZZ)Ljava/nio/FloatBuffer;
move-result-object p1
iput-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
return-void
.end method
.method private static a(F)F
.registers 2
const/4 v0, 0x0
cmpl-float p0, p0, v0
if-nez p0, :cond_8
const/high16 p0, 0x3f800000 # 1.0f
return p0
:cond_8
return v0
.end method
.method private static a(FF)F
.registers 3
const/4 v0, 0x0
cmpl-float p0, p0, v0
if-nez p0, :cond_6
return p1
:cond_6
const/high16 p0, 0x3f800000 # 1.0f
sub-float/2addr p0, p1
return p0
.end method
.method private a(Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/ByteBuffer;Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;)V
.registers 8
.line 270
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->ordinal()I
move-result v0
.line 271
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object v1, v1, v0
if-nez v1, :cond_42
.line 272
sget-object v1, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
if-ne p1, v1, :cond_18
.line 273
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
new-instance v1, Lcom/tencent/liteav/videobase/c/a;
invoke-direct {v1, p4, p5}, Lcom/tencent/liteav/videobase/c/a;-><init>(Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;)V
aput-object v1, p1, v0
goto :goto_2f
.line 274
:cond_18
sget-object p4, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->c:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
if-ne p1, p4, :cond_26
.line 275
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
new-instance p4, Lcom/tencent/liteav/videobase/c/d;
invoke-direct {p4}, Lcom/tencent/liteav/videobase/c/d;-><init>()V
aput-object p4, p1, v0
goto :goto_2f
.line 277
:cond_26
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
new-instance p4, Lcom/tencent/liteav/videobase/c/c;
invoke-direct {p4}, Lcom/tencent/liteav/videobase/c/c;-><init>()V
aput-object p4, p1, v0
.line 279
:goto_2f
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object p1, p1, v0
const/4 p4, 0x0
invoke-virtual {p1, p4}, Lcom/tencent/liteav/videobase/a/b;->initialize(Lcom/tencent/liteav/videobase/frame/e;)V
.line 280
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object p1, p1, v0
iget p4, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget p5, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
invoke-virtual {p1, p4, p5}, Lcom/tencent/liteav/videobase/a/b;->onOutputSizeChanged(II)V
.line 283
:cond_42
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object p1, p1, v0
check-cast p1, Lcom/tencent/liteav/videobase/c/i;
.line 285
iget p4, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget p5, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
const/4 v0, 0x0
invoke-static {v0, v0, p4, p5}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V
.line 286
iget-object p4, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p4}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object p4
sget-object p5, Lcom/tencent/liteav/videobase/utils/Rotation;->b:Lcom/tencent/liteav/videobase/utils/Rotation;
if-eq p4, p5, :cond_75
iget-object p4, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 287
invoke-virtual {p4}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object p4
sget-object p5, Lcom/tencent/liteav/videobase/utils/Rotation;->d:Lcom/tencent/liteav/videobase/utils/Rotation;
if-ne p4, p5, :cond_65
goto :goto_75
.line 291
:cond_65
iget-object p4, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 292
invoke-virtual {p4}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result p4
iget-object p5, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p5}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result p5
.line 291
invoke-virtual {p1, p3, p4, p5}, Lcom/tencent/liteav/videobase/c/i;->a(Ljava/nio/ByteBuffer;II)V
goto :goto_84
.line 288
:cond_75
:goto_75
iget-object p4, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 289
invoke-virtual {p4}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result p4
iget-object p5, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p5}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result p5
.line 288
invoke-virtual {p1, p3, p4, p5}, Lcom/tencent/liteav/videobase/c/i;->a(Ljava/nio/ByteBuffer;II)V
:goto_84
const/4 p3, -0x1
.line 294
iget-object p4, p0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
iget-object p5, p0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {p1, p3, p2, p4, p5}, Lcom/tencent/liteav/videobase/c/i;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/frame/d;)V
.registers 6
.line 317
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
if-nez v0, :cond_e
.line 318
new-instance v0, Lcom/tencent/liteav/videobase/frame/c;
invoke-direct {v0}, Lcom/tencent/liteav/videobase/frame/c;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
.line 319
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/c;->a()V
:cond_e
const/high16 v0, 0x3f800000 # 1.0f
const/4 v1, 0x0
.line 321
invoke-static {v1, v1, v1, v0}, Landroid/opengl/GLES20;->glClearColor(FFFF)V
const/4 v0, 0x0
const v1, 0x8d40
const/16 v2, 0x4100
if-nez p1, :cond_23
.line 323
invoke-static {v1, v0}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
.line 324
invoke-static {v2}, Landroid/opengl/GLES20;->glClear(I)V
return-void
.line 326
:cond_23
iget-object v3, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/d;->a()I
move-result p1
invoke-virtual {v3, p1}, Lcom/tencent/liteav/videobase/frame/c;->a(I)V
.line 327
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/c;->b()V
.line 328
invoke-static {v2}, Landroid/opengl/GLES20;->glClear(I)V
.line 1037
invoke-static {v1, v0}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->bindFramebuffer(II)V
.line 330
iget-object p1, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/c;->c()V
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/frame/d;I)V
.registers 6
.line 311
invoke-direct {p0}, Lcom/tencent/liteav/videobase/frame/j;->c()V
.line 312
iget v0, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v1, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
const/4 v2, 0x0
invoke-static {v2, v2, v0, v1}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V
.line 313
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2, p1, v1, v2}, Lcom/tencent/liteav/videobase/a/b;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/frame/d;I[F)V
.registers 7
.line 299
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
if-nez v0, :cond_18
.line 300
new-instance v0, Lcom/tencent/liteav/videobase/b/a;
invoke-direct {v0}, Lcom/tencent/liteav/videobase/b/a;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
const/4 v1, 0x0
.line 301
invoke-virtual {v0, v1}, Lcom/tencent/liteav/videobase/b/a;->initialize(Lcom/tencent/liteav/videobase/frame/e;)V
.line 302
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
iget v1, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v2, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/videobase/b/a;->onOutputSizeChanged(II)V
.line 304
:cond_18
iget v0, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v1, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
const/4 v2, 0x0
invoke-static {v2, v2, v0, v1}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V
.line 305
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
invoke-virtual {v0, p3}, Lcom/tencent/liteav/videobase/b/a;->setTexutreTransform([F)V
.line 306
iget-object p3, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {p3, p2, p1, v0, v1}, Lcom/tencent/liteav/videobase/b/a;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/Buffer;)V
.registers 7
.line 248
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->f:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->ordinal()I
move-result v0
.line 249
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object v2, v1, v0
if-nez v2, :cond_26
.line 250
new-instance v2, Lcom/tencent/liteav/videobase/b/b;
invoke-direct {v2}, Lcom/tencent/liteav/videobase/b/b;-><init>()V
aput-object v2, v1, v0
.line 251
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object v1, v1, v0
const/4 v2, 0x0
invoke-virtual {v1, v2}, Lcom/tencent/liteav/videobase/a/b;->initialize(Lcom/tencent/liteav/videobase/frame/e;)V
.line 252
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object v1, v1, v0
iget v2, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v3, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
invoke-virtual {v1, v2, v3}, Lcom/tencent/liteav/videobase/a/b;->onOutputSizeChanged(II)V
.line 255
:cond_26
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aget-object v0, v1, v0
check-cast v0, Lcom/tencent/liteav/videobase/b/b;
.line 257
iget v1, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v2, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
const/4 v3, 0x0
invoke-static {v3, v3, v1, v2}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V
.line 258
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->b:Lcom/tencent/liteav/videobase/utils/Rotation;
if-eq v1, v2, :cond_59
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 259
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->d:Lcom/tencent/liteav/videobase/utils/Rotation;
if-ne v1, v2, :cond_49
goto :goto_59
.line 262
:cond_49
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result v1
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result v2
invoke-virtual {v0, p2, v1, v2}, Lcom/tencent/liteav/videobase/b/b;->a(Ljava/nio/Buffer;II)V
goto :goto_68
.line 260
:cond_59
:goto_59
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result v1
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result v2
invoke-virtual {v0, p2, v1, v2}, Lcom/tencent/liteav/videobase/b/b;->a(Ljava/nio/Buffer;II)V
:goto_68
const/4 p2, -0x1
.line 264
iget-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {v0, p2, p1, v1, v2}, Lcom/tencent/liteav/videobase/b/b;->onDraw(ILcom/tencent/liteav/videobase/frame/d;Ljava/nio/FloatBuffer;Ljava/nio/FloatBuffer;)V
return-void
.end method
.method private static a([FLcom/tencent/liteav/videobase/utils/Rotation;ZZ)V
.registers 9
.line 358
sget-object v0, Lcom/tencent/liteav/videobase/frame/j;->c:[F
const/4 v1, 0x3
const/4 v2, 0x2
const/4 v3, 0x1
if-eqz p1, :cond_1e
.line 360
sget-object v4, Lcom/tencent/liteav/videobase/frame/j$1;->a:[I
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/utils/Rotation;->ordinal()I
move-result p1
aget p1, v4, p1
if-eq p1, v3, :cond_1c
if-eq p1, v2, :cond_19
if-eq p1, v1, :cond_16
goto :goto_1e
.line 368
:cond_16
sget-object v0, Lcom/tencent/liteav/videobase/frame/j;->e:[F
goto :goto_1e
.line 365
:cond_19
sget-object v0, Lcom/tencent/liteav/videobase/frame/j;->f:[F
goto :goto_1e
.line 362
:cond_1c
sget-object v0, Lcom/tencent/liteav/videobase/frame/j;->d:[F
.line 377
:cond_1e
:goto_1e
array-length p1, v0
const/4 v4, 0x0
invoke-static {v0, v4, p0, v4, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
if-eqz p2, :cond_47
.line 379
aget p1, p0, v4
invoke-static {p1}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p1
aput p1, p0, v4
.line 380
aget p1, p0, v2
invoke-static {p1}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p1
aput p1, p0, v2
const/4 p1, 0x4
.line 381
aget p2, p0, p1
invoke-static {p2}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p2
aput p2, p0, p1
const/4 p1, 0x6
.line 382
aget p2, p0, p1
invoke-static {p2}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p2
aput p2, p0, p1
:cond_47
if-eqz p3, :cond_6b
.line 386
aget p1, p0, v3
invoke-static {p1}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p1
aput p1, p0, v3
.line 387
aget p1, p0, v1
invoke-static {p1}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p1
aput p1, p0, v1
const/4 p1, 0x5
.line 388
aget p2, p0, p1
invoke-static {p2}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p2
aput p2, p0, p1
const/4 p1, 0x7
.line 389
aget p2, p0, p1
invoke-static {p2}, Lcom/tencent/liteav/videobase/frame/j;->a(F)F
move-result p2
aput p2, p0, p1
:cond_6b
return-void
.end method
.method private a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;)Z
.registers 4
.line 172
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->j:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
if-ne p2, v0, :cond_5b
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result v0
if-ne p2, v0, :cond_5b
.line 173
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result v0
if-ne p2, v0, :cond_5b
.line 174
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object v0
if-ne p2, v0, :cond_5b
.line 175
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object v0
if-ne p2, v0, :cond_5b
.line 176
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorHorizontal()Z
move-result p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorHorizontal()Z
move-result v0
if-ne p2, v0, :cond_5b
.line 177
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z
move-result p2
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z
move-result v0
if-ne p2, v0, :cond_5b
.line 178
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object p1
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object p2
if-eq p1, p2, :cond_59
goto :goto_5b
:cond_59
const/4 p1, 0x0
return p1
:cond_5b
:goto_5b
const/4 p1, 0x1
return p1
.end method
.method private b()V
.registers 19
move-object/from16 v0, p0
.line 182
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->b:Lcom/tencent/liteav/videobase/utils/Rotation;
const/4 v3, 0x1
const/4 v4, 0x0
if-eq v1, v2, :cond_1b
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 183
invoke-virtual {v1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v1
sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->d:Lcom/tencent/liteav/videobase/utils/Rotation;
if-ne v1, v2, :cond_19
goto :goto_1b
:cond_19
move v1, v4
goto :goto_1c
:cond_1b
:goto_1b
move v1, v3
.line 185
:goto_1c
iget-object v2, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I
move-result v2
.line 186
iget-object v5, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v5}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I
move-result v5
.line 187
iget v6, v0, Lcom/tencent/liteav/videobase/frame/j;->a:I
int-to-float v6, v6
const/high16 v7, 0x3f800000 # 1.0f
mul-float/2addr v6, v7
int-to-float v2, v2
div-float/2addr v6, v2
iget v8, v0, Lcom/tencent/liteav/videobase/frame/j;->b:I
int-to-float v8, v8
mul-float/2addr v8, v7
int-to-float v5, v5
div-float/2addr v8, v5
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
mul-float/2addr v2, v6
.line 189
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v2
int-to-float v2, v2
mul-float/2addr v2, v7
iget v8, v0, Lcom/tencent/liteav/videobase/frame/j;->a:I
int-to-float v8, v8
div-float/2addr v2, v8
mul-float/2addr v5, v6
.line 190
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v5
int-to-float v5, v5
mul-float/2addr v5, v7
iget v6, v0, Lcom/tencent/liteav/videobase/frame/j;->b:I
int-to-float v6, v6
div-float/2addr v5, v6
.line 192
sget-object v6, Lcom/tencent/liteav/videobase/base/GLConstants;->c:[F
const/16 v8, 0x8
new-array v9, v8, [F
.line 194
iget-object v10, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v10}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object v10
sget-object v11, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->c:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne v10, v11, :cond_76
.line 195
iget-object v10, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v10}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v10
iget-object v11, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 196
invoke-virtual {v11}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorHorizontal()Z
move-result v11
iget-object v12, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v12}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z
move-result v12
.line 195
invoke-static {v9, v10, v11, v12}, Lcom/tencent/liteav/videobase/frame/j;->a([FLcom/tencent/liteav/videobase/utils/Rotation;ZZ)V
goto :goto_8b
.line 198
:cond_76
iget-object v10, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v10}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;
move-result-object v10
iget-object v11, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 199
invoke-virtual {v11}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorHorizontal()Z
move-result v11
iget-object v12, v0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {v12}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z
move-result v12
.line 198
invoke-static {v9, v10, v11, v12}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->initTextureCoordsBuffer([FLcom/tencent/liteav/videobase/utils/Rotation;ZZ)V
.line 202
:goto_8b
iget-object v10, v0, Lcom/tencent/liteav/videobase/frame/j;->j:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
sget-object v11, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
const/4 v12, 0x7
const/4 v13, 0x6
const/4 v14, 0x5
const/4 v15, 0x4
const/16 v16, 0x3
const/16 v17, 0x2
if-ne v10, v11, :cond_ef
const/high16 v8, 0x40000000 # 2.0f
if-eqz v1, :cond_a0
div-float v10, v7, v5
goto :goto_a2
:cond_a0
div-float v10, v7, v2
:goto_a2
sub-float v10, v7, v10
div-float/2addr v10, v8
if-eqz v1, :cond_aa
div-float v1, v7, v2
goto :goto_ac
:cond_aa
div-float v1, v7, v5
:goto_ac
sub-float/2addr v7, v1
div-float/2addr v7, v8
.line 207
aget v1, v9, v4
invoke-static {v1, v10}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v4
.line 208
aget v1, v9, v3
invoke-static {v1, v7}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v3
.line 209
aget v1, v9, v17
invoke-static {v1, v10}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v17
.line 210
aget v1, v9, v16
invoke-static {v1, v7}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v16
.line 211
aget v1, v9, v15
invoke-static {v1, v10}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v15
.line 212
aget v1, v9, v14
invoke-static {v1, v7}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v14
.line 213
aget v1, v9, v13
invoke-static {v1, v10}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v13
.line 214
aget v1, v9, v12
invoke-static {v1, v7}, Lcom/tencent/liteav/videobase/frame/j;->a(FF)F
move-result v1
aput v1, v9, v12
goto :goto_120
.line 215
:cond_ef
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->j:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
sget-object v7, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->b:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
if-ne v1, v7, :cond_120
new-array v1, v8, [F
.line 216
aget v7, v6, v4
div-float/2addr v7, v5
aput v7, v1, v4
aget v7, v6, v3
div-float/2addr v7, v2
aput v7, v1, v3
aget v3, v6, v17
div-float/2addr v3, v5
aput v3, v1, v17
aget v3, v6, v16
div-float/2addr v3, v2
aput v3, v1, v16
aget v3, v6, v15
div-float/2addr v3, v5
aput v3, v1, v15
aget v3, v6, v14
div-float/2addr v3, v2
aput v3, v1, v14
aget v3, v6, v13
div-float/2addr v3, v5
aput v3, v1, v13
aget v3, v6, v12
div-float/2addr v3, v2
aput v3, v1, v12
move-object v6, v1
.line 228
:cond_120
:goto_120
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
invoke-virtual {v1}, Ljava/nio/FloatBuffer;->clear()Ljava/nio/Buffer;
.line 229
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->g:Ljava/nio/FloatBuffer;
invoke-virtual {v1, v6}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
move-result-object v1
invoke-virtual {v1, v4}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
.line 230
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {v1}, Ljava/nio/FloatBuffer;->clear()Ljava/nio/Buffer;
.line 231
iget-object v1, v0, Lcom/tencent/liteav/videobase/frame/j;->h:Ljava/nio/FloatBuffer;
invoke-virtual {v1, v9}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
move-result-object v1
invoke-virtual {v1, v4}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
return-void
.end method
.method private c()V
.registers 4
.line 239
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
if-eqz v0, :cond_5
return-void
.line 242
:cond_5
new-instance v0, Lcom/tencent/liteav/videobase/a/b;
invoke-direct {v0}, Lcom/tencent/liteav/videobase/a/b;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
const/4 v1, 0x0
.line 243
invoke-virtual {v0, v1}, Lcom/tencent/liteav/videobase/a/b;->initialize(Lcom/tencent/liteav/videobase/frame/e;)V
.line 244
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
iget v1, p0, Lcom/tencent/liteav/videobase/frame/j;->a:I
iget v2, p0, Lcom/tencent/liteav/videobase/frame/j;->b:I
invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/videobase/a/b;->onOutputSizeChanged(II)V
return-void
.end method
.method private d()V
.registers 5
.line 335
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 336
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/b/a;->uninitialize()V
.line 337
iput-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->l:Lcom/tencent/liteav/videobase/b/a;
.line 339
:cond_a
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
if-eqz v0, :cond_13
.line 340
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/a/b;->uninitialize()V
.line 341
iput-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->m:Lcom/tencent/liteav/videobase/a/b;
.line 343
:cond_13
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
if-eqz v0, :cond_1c
.line 344
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/c;->d()V
.line 345
iput-object v1, p0, Lcom/tencent/liteav/videobase/frame/j;->n:Lcom/tencent/liteav/videobase/frame/c;
:cond_1c
const/4 v0, 0x0
.line 347
:goto_1d
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
array-length v3, v2
if-ge v0, v3, :cond_32
.line 348
aget-object v3, v2, v0
if-eqz v3, :cond_2f
.line 349
aget-object v2, v2, v0
invoke-virtual {v2}, Lcom/tencent/liteav/videobase/a/b;->uninitialize()V
.line 350
iget-object v2, p0, Lcom/tencent/liteav/videobase/frame/j;->i:[Lcom/tencent/liteav/videobase/a/b;
aput-object v1, v2, v0
:cond_2f
add-int/lit8 v0, v0, 0x1
goto :goto_1d
:cond_32
const-string v0, "PixelFrameRenderer"
const-string v1, "uninitialize GL components"
.line 353
invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public final a()V
.registers 2
const/4 v0, 0x0
.line 167
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 168
invoke-direct {p0}, Lcom/tencent/liteav/videobase/frame/j;->d()V
return-void
.end method
.method public final a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Lcom/tencent/liteav/videobase/frame/d;)V
.registers 10
if-eqz p1, :cond_c2
.line 127
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isFrameDataValid()Z
move-result v0
if-nez v0, :cond_a
goto/16 :goto_c2
.line 131
:cond_a
iget-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
if-eqz v0, :cond_14
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;)Z
move-result v0
if-eqz v0, :cond_23
.line 132
:cond_14
iput-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->j:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
.line 133
new-instance v0, Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-direct {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;-><init>(Lcom/tencent/liteav/videobase/frame/PixelFrame;)V
iput-object v0, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
.line 134
invoke-direct {p0}, Lcom/tencent/liteav/videobase/frame/j;->d()V
.line 135
invoke-direct {p0}, Lcom/tencent/liteav/videobase/frame/j;->b()V
.line 137
:cond_23
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->b:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;
if-ne p2, v0, :cond_2a
.line 138
invoke-direct {p0, p3}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/d;)V
.line 140
:cond_2a
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne p2, v0, :cond_5e
.line 141
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->f:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
if-eq p2, v0, :cond_56
.line 142
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object v1
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getBuffer()Ljava/nio/ByteBuffer;
move-result-object v3
.line 143
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getColorRange()Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;
move-result-object v4
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getColorSpace()Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;
move-result-object v5
move-object v0, p0
move-object v2, p3
.line 142
invoke-direct/range {v0 .. v5}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/ByteBuffer;Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;)V
return-void
.line 145
:cond_56
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getBuffer()Ljava/nio/ByteBuffer;
move-result-object p1
invoke-direct {p0, p3, p1}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/Buffer;)V
return-void
.line 147
:cond_5e
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->d:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne p2, v0, :cond_9a
.line 148
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;->f:Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
if-eq p2, v0, :cond_8e
.line 149
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelFormatType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;
move-result-object v1
.line 150
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getData()[B
move-result-object p2
invoke-static {p2}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v3
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getColorRange()Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;
move-result-object v4
.line 151
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getColorSpace()Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;
move-result-object v5
move-object v0, p0
move-object v2, p3
.line 149
invoke-direct/range {v0 .. v5}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/base/GLConstants$PixelFormatType;Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/ByteBuffer;Lcom/tencent/liteav/videobase/base/GLConstants$ColorRange;Lcom/tencent/liteav/videobase/base/GLConstants$ColorSpace;)V
return-void
.line 153
:cond_8e
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getData()[B
move-result-object p1
invoke-static {p1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object p1
invoke-direct {p0, p3, p1}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/d;Ljava/nio/Buffer;)V
return-void
.line 155
:cond_9a
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->c:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne p2, v0, :cond_b0
.line 156
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getTextureId()I
move-result p2
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getMatrix()[F
move-result-object p1
invoke-direct {p0, p3, p2, p1}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/d;I[F)V
return-void
.line 157
:cond_b0
iget-object p2, p0, Lcom/tencent/liteav/videobase/frame/j;->k:Lcom/tencent/liteav/videobase/frame/PixelFrame;
invoke-virtual {p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getPixelBufferType()Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
move-result-object p2
sget-object v0, Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;->b:Lcom/tencent/liteav/videobase/base/GLConstants$PixelBufferType;
if-ne p2, v0, :cond_c1
.line 158
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getTextureId()I
move-result p1
invoke-direct {p0, p3, p1}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/d;I)V
:cond_c1
return-void
:cond_c2
:goto_c2
const-string p1, "PixelFrameRenderer"
const-string p2, "renderFrame: pixelFrame is not valid"
.line 128
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method