B.smali
.class public final Lcom/google/android/exoplayer2/audio/B;
.super Ljava/lang/Object;
.source "DtsUtil.java"
# static fields
.field private static final a:[I
.field private static final b:[I
.field private static final c:[I
# direct methods
.method static constructor <clinit>()V
.registers 2
const/16 v0, 0x10
.line 1
new-array v1, v0, [I
fill-array-data v1, :array_1a
sput-object v1, Lcom/google/android/exoplayer2/audio/B;->a:[I
.line 2
new-array v0, v0, [I
fill-array-data v0, :array_3e
sput-object v0, Lcom/google/android/exoplayer2/audio/B;->b:[I
const/16 v0, 0x1d
.line 3
new-array v0, v0, [I
fill-array-data v0, :array_62
sput-object v0, Lcom/google/android/exoplayer2/audio/B;->c:[I
return-void
:array_1a
.array-data 4
0x1
0x2
0x2
0x2
0x2
0x3
0x3
0x4
0x4
0x5
0x6
0x6
0x6
0x7
0x8
0x8
.end array-data
:array_3e
.array-data 4
-0x1
0x1f40
0x3e80
0x7d00
-0x1
-0x1
0x2b11
0x5622
0xac44
-0x1
-0x1
0x2ee0
0x5dc0
0xbb80
-0x1
-0x1
.end array-data
:array_62
.array-data 4
0x40
0x70
0x80
0xc0
0xe0
0x100
0x180
0x1c0
0x200
0x280
0x300
0x380
0x400
0x480
0x500
0x600
0x780
0x800
0x900
0xa00
0xa80
0xb00
0xb07
0xb80
0xc00
0xf00
0x1000
0x1800
0x1e00
.end array-data
.end method
.method public static a(Ljava/nio/ByteBuffer;)I
.registers 4
.line 21
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->position()I
move-result v0
.line 22
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get(I)B
move-result v1
const/4 v2, -0x2
if-eq v1, v2, :cond_4c
const/4 v2, -0x1
if-eq v1, v2, :cond_39
const/16 v2, 0x1f
if-eq v1, v2, :cond_28
add-int/lit8 v1, v0, 0x4
.line 23
invoke-virtual {p0, v1}, Ljava/nio/ByteBuffer;->get(I)B
move-result v1
and-int/lit8 v1, v1, 0x1
shl-int/lit8 v1, v1, 0x6
add-int/lit8 v0, v0, 0x5
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get(I)B
move-result p0
:goto_22
and-int/lit16 p0, p0, 0xfc
:goto_24
shr-int/lit8 p0, p0, 0x2
or-int/2addr p0, v1
goto :goto_5d
:cond_28
add-int/lit8 v1, v0, 0x5
.line 24
invoke-virtual {p0, v1}, Ljava/nio/ByteBuffer;->get(I)B
move-result v1
and-int/lit8 v1, v1, 0x7
shl-int/lit8 v1, v1, 0x4
add-int/lit8 v0, v0, 0x6
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get(I)B
move-result p0
goto :goto_49
:cond_39
add-int/lit8 v1, v0, 0x4
.line 25
invoke-virtual {p0, v1}, Ljava/nio/ByteBuffer;->get(I)B
move-result v1
and-int/lit8 v1, v1, 0x7
shl-int/lit8 v1, v1, 0x4
add-int/lit8 v0, v0, 0x7
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get(I)B
move-result p0
:goto_49
and-int/lit8 p0, p0, 0x3c
goto :goto_24
:cond_4c
add-int/lit8 v1, v0, 0x5
.line 26
invoke-virtual {p0, v1}, Ljava/nio/ByteBuffer;->get(I)B
move-result v1
and-int/lit8 v1, v1, 0x1
shl-int/lit8 v1, v1, 0x6
add-int/lit8 v0, v0, 0x4
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get(I)B
move-result p0
goto :goto_22
:goto_5d
add-int/lit8 p0, p0, 0x1
mul-int/lit8 p0, p0, 0x20
return p0
.end method
.method public static a([B)I
.registers 8
const/4 v0, 0x0
.line 27
aget-byte v1, p0, v0
const/4 v2, -0x2
const/4 v3, 0x7
const/4 v4, 0x6
const/4 v5, 0x1
const/4 v6, 0x4
if-eq v1, v2, :cond_4f
const/4 v2, -0x1
if-eq v1, v2, :cond_37
const/16 v2, 0x1f
if-eq v1, v2, :cond_26
const/4 v1, 0x5
.line 28
aget-byte v1, p0, v1
and-int/lit8 v1, v1, 0x3
shl-int/lit8 v1, v1, 0xc
aget-byte v2, p0, v4
and-int/lit16 v2, v2, 0xff
shl-int/2addr v2, v6
or-int/2addr v1, v2
aget-byte p0, p0, v3
:goto_20
and-int/lit16 p0, p0, 0xf0
shr-int/2addr p0, v6
or-int/2addr p0, v1
add-int/2addr p0, v5
goto :goto_5e
.line 29
:cond_26
aget-byte v0, p0, v4
and-int/lit8 v0, v0, 0x3
shl-int/lit8 v0, v0, 0xc
aget-byte v1, p0, v3
and-int/lit16 v1, v1, 0xff
shl-int/2addr v1, v6
or-int/2addr v0, v1
const/16 v1, 0x8
aget-byte p0, p0, v1
goto :goto_47
.line 30
:cond_37
aget-byte v0, p0, v3
and-int/lit8 v0, v0, 0x3
shl-int/lit8 v0, v0, 0xc
aget-byte v1, p0, v4
and-int/lit16 v1, v1, 0xff
shl-int/2addr v1, v6
or-int/2addr v0, v1
const/16 v1, 0x9
aget-byte p0, p0, v1
:goto_47
and-int/lit8 p0, p0, 0x3c
shr-int/lit8 p0, p0, 0x2
or-int/2addr p0, v0
add-int/2addr p0, v5
const/4 v0, 0x1
goto :goto_5e
.line 31
:cond_4f
aget-byte v1, p0, v6
and-int/lit8 v1, v1, 0x3
shl-int/lit8 v1, v1, 0xc
aget-byte v2, p0, v3
and-int/lit16 v2, v2, 0xff
shl-int/2addr v2, v6
or-int/2addr v1, v2
aget-byte p0, p0, v4
goto :goto_20
:goto_5e
if-eqz v0, :cond_64
mul-int/lit8 p0, p0, 0x10
.line 32
div-int/lit8 p0, p0, 0xe
:cond_64
return p0
.end method
.method public static a([BLjava/lang/String;Ljava/lang/String;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format;
.registers 10
.line 1
invoke-static {p0}, Lcom/google/android/exoplayer2/audio/B;->c([B)Lcom/google/android/exoplayer2/util/w;
move-result-object p0
const/16 v0, 0x3c
.line 2
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/w;->d(I)V
const/4 v0, 0x6
.line 3
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v0
.line 4
sget-object v1, Lcom/google/android/exoplayer2/audio/B;->a:[I
aget v0, v1, v0
const/4 v1, 0x4
.line 5
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v1
.line 6
sget-object v2, Lcom/google/android/exoplayer2/audio/B;->b:[I
aget v1, v2, v1
const/4 v2, 0x5
.line 7
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v2
.line 8
sget-object v3, Lcom/google/android/exoplayer2/audio/B;->c:[I
array-length v4, v3
const/4 v5, 0x2
if-lt v2, v4, :cond_28
const/4 v2, -0x1
goto :goto_2d
.line 9
:cond_28
aget v2, v3, v2
mul-int/lit16 v2, v2, 0x3e8
div-int/2addr v2, v5
:goto_2d
const/16 v3, 0xa
.line 10
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/util/w;->d(I)V
.line 11
invoke-virtual {p0, v5}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result p0
if-lez p0, :cond_3a
const/4 p0, 0x1
goto :goto_3b
:cond_3a
const/4 p0, 0x0
:goto_3b
add-int/2addr v0, p0
.line 12
new-instance p0, Lcom/google/android/exoplayer2/Format$a;
invoke-direct {p0}, Lcom/google/android/exoplayer2/Format$a;-><init>()V
.line 13
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/Format$a;->c(Ljava/lang/String;)Lcom/google/android/exoplayer2/Format$a;
const-string p1, "audio/vnd.dts"
.line 14
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/Format$a;->f(Ljava/lang/String;)Lcom/google/android/exoplayer2/Format$a;
.line 15
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/Format$a;->b(I)Lcom/google/android/exoplayer2/Format$a;
.line 16
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/Format$a;->c(I)Lcom/google/android/exoplayer2/Format$a;
.line 17
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/Format$a;->m(I)Lcom/google/android/exoplayer2/Format$a;
.line 18
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Format$a;->a(Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/Format$a;
.line 19
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/Format$a;->e(Ljava/lang/String;)Lcom/google/android/exoplayer2/Format$a;
.line 20
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Format$a;->a()Lcom/google/android/exoplayer2/Format;
move-result-object p0
return-object p0
.end method
.method public static a(I)Z
.registers 2
const v0, 0x7ffe8001
if-eq p0, v0, :cond_17
const v0, -0x180fe80
if-eq p0, v0, :cond_17
const v0, 0x1fffe800
if-eq p0, v0, :cond_17
const v0, -0xe0ff18
if-ne p0, v0, :cond_15
goto :goto_17
:cond_15
const/4 p0, 0x0
goto :goto_18
:cond_17
:goto_17
const/4 p0, 0x1
:goto_18
return p0
.end method
.method public static b([B)I
.registers 7
const/4 v0, 0x0
.line 1
aget-byte v0, p0, v0
const/4 v1, -0x2
const/4 v2, 0x5
const/4 v3, 0x6
const/4 v4, 0x4
if-eq v0, v1, :cond_2e
const/4 v1, -0x1
const/4 v5, 0x7
if-eq v0, v1, :cond_25
const/16 v1, 0x1f
if-eq v0, v1, :cond_1e
.line 2
aget-byte v0, p0, v4
and-int/lit8 v0, v0, 0x1
shl-int/2addr v0, v3
aget-byte p0, p0, v2
:goto_18
and-int/lit16 p0, p0, 0xfc
:goto_1a
shr-int/lit8 p0, p0, 0x2
or-int/2addr p0, v0
goto :goto_36
.line 3
:cond_1e
aget-byte v0, p0, v2
and-int/2addr v0, v5
shl-int/2addr v0, v4
aget-byte p0, p0, v3
goto :goto_2b
.line 4
:cond_25
aget-byte v0, p0, v4
and-int/2addr v0, v5
shl-int/2addr v0, v4
aget-byte p0, p0, v5
:goto_2b
and-int/lit8 p0, p0, 0x3c
goto :goto_1a
.line 5
:cond_2e
aget-byte v0, p0, v2
and-int/lit8 v0, v0, 0x1
shl-int/2addr v0, v3
aget-byte p0, p0, v4
goto :goto_18
:goto_36
add-int/lit8 p0, p0, 0x1
mul-int/lit8 p0, p0, 0x20
return p0
.end method
.method private static c([B)Lcom/google/android/exoplayer2/util/w;
.registers 6
const/4 v0, 0x0
.line 1
aget-byte v1, p0, v0
const/16 v2, 0x7f
if-ne v1, v2, :cond_d
.line 2
new-instance v0, Lcom/google/android/exoplayer2/util/w;
invoke-direct {v0, p0}, Lcom/google/android/exoplayer2/util/w;-><init>([B)V
return-object v0
.line 3
:cond_d
array-length v1, p0
invoke-static {p0, v1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p0
.line 4
invoke-static {p0}, Lcom/google/android/exoplayer2/audio/B;->d([B)Z
move-result v1
if-eqz v1, :cond_2b
const/4 v1, 0x0
.line 5
:goto_19
array-length v2, p0
add-int/lit8 v2, v2, -0x1
if-ge v1, v2, :cond_2b
.line 6
aget-byte v2, p0, v1
add-int/lit8 v3, v1, 0x1
.line 7
aget-byte v4, p0, v3
aput-byte v4, p0, v1
.line 8
aput-byte v2, p0, v3
add-int/lit8 v1, v1, 0x2
goto :goto_19
.line 9
:cond_2b
new-instance v1, Lcom/google/android/exoplayer2/util/w;
invoke-direct {v1, p0}, Lcom/google/android/exoplayer2/util/w;-><init>([B)V
.line 10
aget-byte v0, p0, v0
const/16 v2, 0x1f
if-ne v0, v2, :cond_51
.line 11
new-instance v0, Lcom/google/android/exoplayer2/util/w;
invoke-direct {v0, p0}, Lcom/google/android/exoplayer2/util/w;-><init>([B)V
.line 12
:goto_3b
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/w;->a()I
move-result v2
const/16 v3, 0x10
if-lt v2, v3, :cond_51
const/4 v2, 0x2
.line 13
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/w;->d(I)V
const/16 v2, 0xe
.line 14
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/w;->a(I)I
move-result v3
invoke-virtual {v1, v3, v2}, Lcom/google/android/exoplayer2/util/w;->a(II)V
goto :goto_3b
.line 15
:cond_51
invoke-virtual {v1, p0}, Lcom/google/android/exoplayer2/util/w;->a([B)V
return-object v1
.end method
.method private static d([B)Z
.registers 4
const/4 v0, 0x0
.line 1
aget-byte v1, p0, v0
const/4 v2, -0x2
if-eq v1, v2, :cond_b
aget-byte p0, p0, v0
const/4 v1, -0x1
if-ne p0, v1, :cond_c
:cond_b
const/4 v0, 0x1
:cond_c
return v0
.end method