MMCTextureUtil.smali
.class public Lcom/mmc/player/common/MMCTextureUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private indexOutput:I
.field public mContext:Landroid/content/Context;
.field private final mExportFrame:[I
.field private final mExportTexture:[I
.field private final outPutBuffer:[Ljava/nio/ByteBuffer;
.field private textureHeight:I
.field private textureWidth:I
# direct methods
.method public constructor <init>()V
.registers 3
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
new-array v1, v0, [I
.line 2
iput-object v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportFrame:[I
new-array v0, v0, [I
.line 3
iput-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportTexture:[I
const/4 v0, 0x3
new-array v0, v0, [Ljava/nio/ByteBuffer;
.line 4
iput-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
const/4 v0, 0x0
.line 5
iput v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
return-void
.end method
.method public static INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/io/IOException;)V
.registers 1
return-void
.end method
.method public static INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/lang/Exception;)V
.registers 1
return-void
.end method
.method private bindFrameTexture(II)V
.registers 6
const v0, 0x8d40
.line 1
invoke-static {v0, p1}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
const p1, 0x8ce0
const/16 v1, 0xde1
const/4 v2, 0x0
.line 2
invoke-static {v0, p1, v1, p2, v2}, Landroid/opengl/GLES20;->glFramebufferTexture2D(IIIII)V
return-void
.end method
.method private getSD()Ljava/lang/String;
.registers 2
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private unBindFrameBuffer()V
.registers 3
const v0, 0x8d40
const/4 v1, 0x0
invoke-static {v0, v1}, Landroid/opengl/GLES20;->glBindFramebuffer(II)V
return-void
.end method
.method public static useTexParameter()V
.registers 3
const/16 v0, 0xde1
const/16 v1, 0x2801
const/high16 v2, 0x46180000 # 9728.0f
.line 1
invoke-static {v0, v1, v2}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v1, 0x2800
const v2, 0x46180400 # 9729.0f
.line 2
invoke-static {v0, v1, v2}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v1, 0x2802
const v2, 0x47012f00 # 33071.0f
.line 3
invoke-static {v0, v1, v2}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
const/16 v1, 0x2803
.line 4
invoke-static {v0, v1, v2}, Landroid/opengl/GLES20;->glTexParameterf(IIF)V
return-void
.end method
# virtual methods
.method public genTexturesWithParameter(I[IIIII)V
.registers 21
.line 1
invoke-static/range {p1 .. p3}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
const/4 v0, 0x0
const/4 v1, 0x0
:goto_5
const/16 v2, 0xde1
move v3, p1
if-ge v1, v3, :cond_27
.line 2
aget v4, p2, v1
invoke-static {v2, v4}, Landroid/opengl/GLES20;->glBindTexture(II)V
const/16 v5, 0xde1
const/4 v6, 0x0
const/4 v10, 0x0
const/16 v12, 0x1401
const/4 v13, 0x0
move/from16 v7, p4
move/from16 v8, p5
move/from16 v9, p6
move/from16 v11, p4
.line 3
invoke-static/range {v5 .. v13}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
.line 4
invoke-static {}, Lcom/mmc/player/common/MMCTextureUtil;->useTexParameter()V
add-int/lit8 v1, v1, 0x1
goto :goto_5
.line 5
:cond_27
invoke-static {v2, v0}, Landroid/opengl/GLES20;->glBindTexture(II)V
return-void
.end method
.method public init(II)V
.registers 13
.line 6
iput p1, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
.line 7
iput p2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
.line 8
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportFrame:[I
const/4 v1, 0x1
const/4 v2, 0x0
invoke-static {v1, v0, v2}, Landroid/opengl/GLES20;->glGenFramebuffers(I[II)V
.line 9
iget-object v5, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportTexture:[I
const/4 v4, 0x1
const/4 v6, 0x0
const/16 v7, 0x1908
move-object v3, p0
move v8, p1
move v9, p2
invoke-virtual/range {v3 .. v9}, Lcom/mmc/player/common/MMCTextureUtil;->genTexturesWithParameter(I[IIIII)V
return-void
.end method
.method public init(IILandroid/content/Context;)V
.registers 13
.line 1
iput p1, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
.line 2
iput p2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
.line 3
iput-object p3, p0, Lcom/mmc/player/common/MMCTextureUtil;->mContext:Landroid/content/Context;
.line 4
iget-object p3, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportFrame:[I
const/4 v0, 0x1
const/4 v1, 0x0
invoke-static {v0, p3, v1}, Landroid/opengl/GLES20;->glGenFramebuffers(I[II)V
.line 5
iget-object v4, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportTexture:[I
const/4 v3, 0x1
const/4 v5, 0x0
const/16 v6, 0x1908
move-object v2, p0
move v7, p1
move v8, p2
invoke-virtual/range {v2 .. v8}, Lcom/mmc/player/common/MMCTextureUtil;->genTexturesWithParameter(I[IIIII)V
return-void
.end method
.method public release()V
.registers 4
.line 1
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportFrame:[I
const/4 v1, 0x1
const/4 v2, 0x0
invoke-static {v1, v0, v2}, Landroid/opengl/GLES20;->glDeleteFramebuffers(I[II)V
.line 2
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportTexture:[I
invoke-static {v1, v0, v2}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
return-void
.end method
.method public saveBegin()V
.registers 6
.line 1
iget v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
const/4 v1, 0x0
const/4 v2, 0x2
if-le v0, v2, :cond_c
.line 2
iput v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
.line 3
:cond_c
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
aget-object v3, v0, v2
if-nez v3, :cond_22
.line 4
iget v3, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v4, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
mul-int v3, v3, v4
mul-int/lit8 v3, v3, 0x4
invoke-static {v3}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v3
aput-object v3, v0, v2
.line 5
:cond_22
iget v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
invoke-static {v1, v1, v0, v2}, Landroid/opengl/GLES20;->glViewport(IIII)V
.line 6
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportFrame:[I
aget v0, v0, v1
iget-object v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->mExportTexture:[I
aget v1, v2, v1
invoke-direct {p0, v0, v1}, Lcom/mmc/player/common/MMCTextureUtil;->bindFrameTexture(II)V
return-void
.end method
.method public saveBitmap(Landroid/graphics/Bitmap;)V
.registers 7
const-string v0, "thumb"
.line 6
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-direct {p0}, Lcom/mmc/player/common/MMCTextureUtil;->getSD()Ljava/lang/String;
move-result-object v2
const-string v3, "/decodePhoto/"
.line 7
invoke-static {v1, v2, v3}, Landroid/support/v4/media/session/b;->d(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 8
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 9
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_23
invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
move-result v1
if-nez v1, :cond_23
return-void
.line 10
:cond_23
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
const/4 v1, 0x0
.line 11
:try_start_27
iget-object v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
.line 12
new-instance v3, Landroid/content/ContentValues;
invoke-direct {v3}, Landroid/content/ContentValues;-><init>()V
const-string v4, "_display_name"
.line 13
invoke-virtual {v3, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v4, "description"
.line 14
invoke-virtual {v3, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "mime_type"
const-string v4, "image/jpeg"
.line 15
invoke-virtual {v3, v0, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 16
sget-object v0, Landroid/provider/MediaStore$Images$Media;->EXTERNAL_CONTENT_URI:Landroid/net/Uri;
.line 17
invoke-virtual {v2, v0, v3}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
move-result-object v0
const-string v3, "w"
.line 18
invoke-virtual {v2, v0, v3}, Landroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
move-result-object v1
.line 19
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-object v0, v1
check-cast v0, Landroid/os/ParcelFileDescriptor;
invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object v0
.line 20
new-instance v2, Ljava/io/FileOutputStream;
invoke-direct {v2, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
.line 21
new-instance v0, Ljava/io/BufferedOutputStream;
invoke-direct {v0, v2}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 22
sget-object v2, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v3, 0x64
invoke-virtual {p1, v2, v3, v0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 23
invoke-virtual {v0}, Ljava/io/BufferedOutputStream;->flush()V
.line 24
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_70
.catch Ljava/io/IOException; {:try_start_27 .. :try_end_70} :catch_73
.catchall {:try_start_27 .. :try_end_70} :catchall_71
goto :goto_77
:catchall_71
move-exception p1
goto :goto_80
:catch_73
move-exception p1
.line 25
:try_start_74
invoke-static {p1}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/io/IOException;)V
:try_end_77
.catchall {:try_start_74 .. :try_end_77} :catchall_71
.line 26
:goto_77
:try_start_77
invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_7a
.catch Ljava/lang/Exception; {:try_start_77 .. :try_end_7a} :catch_7b
goto :goto_7f
:catch_7b
move-exception p1
.line 27
invoke-static {p1}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/lang/Exception;)V
:goto_7f
return-void
.line 28
:goto_80
:try_start_80
invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_83
.catch Ljava/lang/Exception; {:try_start_80 .. :try_end_83} :catch_84
goto :goto_88
:catch_84
move-exception v0
.line 29
invoke-static {v0}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/lang/Exception;)V
.line 30
:goto_88
throw p1
.end method
.method public saveBitmap([BII)V
.registers 5
.line 1
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {p2, p3, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object p2
.line 2
invoke-static {p1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object p1
.line 3
invoke-virtual {p2, p1}, Landroid/graphics/Bitmap;->copyPixelsFromBuffer(Ljava/nio/Buffer;)V
.line 4
invoke-virtual {p0, p2}, Lcom/mmc/player/common/MMCTextureUtil;->saveBitmapByPath(Landroid/graphics/Bitmap;)V
.line 5
invoke-virtual {p2}, Landroid/graphics/Bitmap;->recycle()V
return-void
.end method
.method public saveBitmap1(Landroid/graphics/Bitmap;)V
.registers 6
.line 6
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-direct {p0}, Lcom/mmc/player/common/MMCTextureUtil;->getSD()Ljava/lang/String;
move-result-object v1
const-string v2, "/photo/"
.line 7
invoke-static {v0, v1, v2}, Landroid/support/v4/media/session/b;->d(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 8
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 9
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_21
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
move-result v1
if-nez v1, :cond_21
return-void
.line 10
:cond_21
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
.line 11
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ".png"
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 12
:try_start_39
new-instance v1, Ljava/io/FileOutputStream;
invoke-direct {v1, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
.line 13
new-instance v0, Ljava/io/BufferedOutputStream;
invoke-direct {v0, v1}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 14
sget-object v1, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v2, 0x64
invoke-virtual {p1, v1, v2, v0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 15
invoke-virtual {v0}, Ljava/io/BufferedOutputStream;->flush()V
.line 16
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_50
.catch Ljava/io/IOException; {:try_start_39 .. :try_end_50} :catch_51
goto :goto_55
:catch_51
move-exception p1
.line 17
invoke-static {p1}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/io/IOException;)V
:goto_55
return-void
.end method
.method public saveBitmap1([BII)V
.registers 5
.line 1
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {p2, p3, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object p2
.line 2
invoke-static {p1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object p1
.line 3
invoke-virtual {p2, p1}, Landroid/graphics/Bitmap;->copyPixelsFromBuffer(Ljava/nio/Buffer;)V
.line 4
invoke-virtual {p0, p2}, Lcom/mmc/player/common/MMCTextureUtil;->saveBitmap1(Landroid/graphics/Bitmap;)V
.line 5
invoke-virtual {p2}, Landroid/graphics/Bitmap;->recycle()V
return-void
.end method
.method public saveBitmapByPath(Landroid/graphics/Bitmap;)V
.registers 6
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-direct {p0}, Lcom/mmc/player/common/MMCTextureUtil;->getSD()Ljava/lang/String;
move-result-object v1
const-string v2, "/photo/"
.line 2
invoke-static {v0, v1, v2}, Landroid/support/v4/media/session/b;->d(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 3
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_21
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
move-result v1
if-nez v1, :cond_21
return-void
.line 5
:cond_21
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
.line 6
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ".png"
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 7
:try_start_39
new-instance v1, Ljava/io/FileOutputStream;
invoke-direct {v1, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
.line 8
new-instance v0, Ljava/io/BufferedOutputStream;
invoke-direct {v0, v1}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 9
sget-object v1, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v2, 0x64
invoke-virtual {p1, v1, v2, v0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 10
invoke-virtual {v0}, Ljava/io/BufferedOutputStream;->flush()V
.line 11
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_50
.catch Ljava/io/IOException; {:try_start_39 .. :try_end_50} :catch_51
goto :goto_55
:catch_51
move-exception p1
.line 12
invoke-static {p1}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/io/IOException;)V
:goto_55
return-void
.end method
.method public saveBuffer()V
.registers 8
.line 1
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v3, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
aget-object v6, v0, v1
const/4 v0, 0x0
const/4 v1, 0x0
const/16 v4, 0x1908
const/16 v5, 0x1401
invoke-static/range {v0 .. v6}, Landroid/opengl/GLES20;->glReadPixels(IIIIIILjava/nio/Buffer;)V
.line 2
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
aget-object v0, v0, v1
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
invoke-virtual {p0, v0, v1, v2}, Lcom/mmc/player/common/MMCTextureUtil;->saveBitmap([BII)V
return-void
.end method
.method public saveBuffer1()V
.registers 8
.line 1
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v3, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
aget-object v6, v0, v1
const/4 v0, 0x0
const/4 v1, 0x0
const/16 v4, 0x1908
const/16 v5, 0x1401
invoke-static/range {v0 .. v6}, Landroid/opengl/GLES20;->glReadPixels(IIIIIILjava/nio/Buffer;)V
.line 2
iget-object v0, p0, Lcom/mmc/player/common/MMCTextureUtil;->outPutBuffer:[Ljava/nio/ByteBuffer;
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->indexOutput:I
aget-object v0, v0, v1
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
iget v1, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureWidth:I
iget v2, p0, Lcom/mmc/player/common/MMCTextureUtil;->textureHeight:I
invoke-virtual {p0, v0, v1, v2}, Lcom/mmc/player/common/MMCTextureUtil;->saveBitmap1([BII)V
return-void
.end method
.method public saveEnd()V
.registers 1
invoke-direct {p0}, Lcom/mmc/player/common/MMCTextureUtil;->unBindFrameBuffer()V
return-void
.end method
.method public saveYUV2Bitmap([BII)Landroid/graphics/Bitmap;
.registers 11
.line 1
new-instance v6, Landroid/graphics/YuvImage;
const/16 v2, 0x11
const/4 v5, 0x0
move-object v0, v6
move-object v1, p1
move v3, p2
move v4, p3
invoke-direct/range {v0 .. v5}, Landroid/graphics/YuvImage;-><init>([BIII[I)V
.line 2
new-instance p1, Ljava/io/ByteArrayOutputStream;
invoke-direct {p1}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 3
new-instance v0, Landroid/graphics/Rect;
const/4 v1, 0x0
invoke-direct {v0, v1, v1, p2, p3}, Landroid/graphics/Rect;-><init>(IIII)V
const/16 p2, 0x64
invoke-virtual {v6, v0, p2, p1}, Landroid/graphics/YuvImage;->compressToJpeg(Landroid/graphics/Rect;ILjava/io/OutputStream;)Z
.line 4
invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p2
invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->size()I
move-result p3
invoke-static {p2, v1, p3}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
move-result-object p2
.line 5
:try_start_28
invoke-virtual {p1}, Ljava/io/OutputStream;->flush()V
.line 6
invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->close()V
:try_end_2e
.catch Ljava/io/IOException; {:try_start_28 .. :try_end_2e} :catch_2f
goto :goto_33
:catch_2f
move-exception p1
.line 7
invoke-static {p1}, Lcom/mmc/player/common/MMCTextureUtil;->INVOKEVIRTUAL_com_mmc_player_common_MMCTextureUtil_com_shopee_app_asm_fix_printstack_PrintStackTraceShieldFix_printStackTrace(Ljava/io/IOException;)V
:goto_33
return-object p2
.end method