e.smali
.class public final Lcom/google/android/exoplayer2/video/spherical/e;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static a(Lcom/google/android/exoplayer2/util/y;)Ljava/util/ArrayList;
.registers 28
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/util/y;",
")",
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/video/spherical/d$a;",
">;"
}
.end annotation
move-object/from16 v0, p0
.line 1
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/y;->u()I
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_a
return-object v2
:cond_a
const/4 v1, 0x7
.line 2
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/util/y;->F(I)V
.line 3
invoke-virtual/range {p0 .. p0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v3
const v4, 0x64666c38
const/4 v5, 0x1
if-ne v3, v4, :cond_37
.line 4
new-instance v3, Lcom/google/android/exoplayer2/util/y;
invoke-direct {v3}, Lcom/google/android/exoplayer2/util/y;-><init>()V
.line 5
new-instance v4, Ljava/util/zip/Inflater;
invoke-direct {v4, v5}, Ljava/util/zip/Inflater;-><init>(Z)V
.line 6
:try_start_22
invoke-static {v0, v3, v4}, Lcom/google/android/exoplayer2/util/k0;->P(Lcom/google/android/exoplayer2/util/y;Lcom/google/android/exoplayer2/util/y;Ljava/util/zip/Inflater;)Z
move-result v0
:try_end_26
.catchall {:try_start_22 .. :try_end_26} :catchall_31
if-nez v0, :cond_2c
.line 7
invoke-virtual {v4}, Ljava/util/zip/Inflater;->end()V
return-object v2
:cond_2c
invoke-virtual {v4}, Ljava/util/zip/Inflater;->end()V
move-object v0, v3
goto :goto_3d
:catchall_31
move-exception v0
move-object v1, v0
invoke-virtual {v4}, Ljava/util/zip/Inflater;->end()V
.line 8
throw v1
:cond_37
const v4, 0x72617720
if-eq v3, v4, :cond_3d
return-object v2
.line 9
:cond_3d
:goto_3d
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 10
iget v4, v0, Lcom/google/android/exoplayer2/util/y;->b:I
.line 11
iget v6, v0, Lcom/google/android/exoplayer2/util/y;->c:I
:goto_46
if-ge v4, v6, :cond_1bf
.line 12
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v7
add-int/2addr v7, v4
if-le v7, v4, :cond_1bd
if-le v7, v6, :cond_53
goto/16 :goto_1bd
.line 13
:cond_53
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v4
const v8, 0x6d657368
if-ne v4, v8, :cond_1ac
.line 14
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v4
const/16 v8, 0x2710
if-le v4, v8, :cond_65
goto :goto_7f
.line 15
:cond_65
new-array v8, v4, [F
const/4 v10, 0x0
:goto_68
if-ge v10, v4, :cond_77
.line 16
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v11
invoke-static {v11}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result v11
.line 17
aput v11, v8, v10
add-int/lit8 v10, v10, 0x1
goto :goto_68
.line 18
:cond_77
invoke-virtual {v0}, Lcom/google/android/exoplayer2/util/y;->e()I
move-result v10
const/16 v11, 0x7d00
if-le v10, v11, :cond_83
:goto_7f
move-object/from16 p0, v3
goto/16 :goto_108
:cond_83
const-wide/high16 v11, 0x4000000000000000L # 2.0
.line 19
invoke-static {v11, v12}, Ljava/lang/Math;->log(D)D
move-result-wide v13
move-object/from16 p0, v3
int-to-double v2, v4
mul-double v2, v2, v11
.line 20
invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D
move-result-wide v2
div-double/2addr v2, v13
invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D
move-result-wide v2
double-to-int v2, v2
.line 21
new-instance v3, Lcom/google/android/exoplayer2/util/x;
.line 22
iget-object v9, v0, Lcom/google/android/exoplayer2/util/y;->a:[B
.line 23
array-length v15, v9
invoke-direct {v3, v9, v15}, Lcom/google/android/exoplayer2/util/x;-><init>([BI)V
.line 24
iget v9, v0, Lcom/google/android/exoplayer2/util/y;->b:I
const/16 v15, 0x8
mul-int/lit8 v9, v9, 0x8
.line 25
invoke-virtual {v3, v9}, Lcom/google/android/exoplayer2/util/x;->k(I)V
mul-int/lit8 v9, v10, 0x5
.line 26
new-array v9, v9, [F
const/4 v11, 0x5
new-array v12, v11, [I
const/4 v15, 0x0
const/16 v18, 0x0
:goto_b3
if-ge v15, v10, :cond_df
const/4 v1, 0x0
:goto_b6
if-ge v1, v11, :cond_da
.line 27
aget v19, v12, v1
.line 28
invoke-virtual {v3, v2}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v20
shr-int/lit8 v21, v20, 0x1
and-int/lit8 v11, v20, 0x1
neg-int v11, v11
xor-int v11, v11, v21
add-int v11, v19, v11
if-ge v11, v4, :cond_108
if-gez v11, :cond_cc
goto :goto_108
:cond_cc
add-int/lit8 v19, v18, 0x1
.line 29
aget v20, v8, v11
aput v20, v9, v18
.line 30
aput v11, v12, v1
add-int/lit8 v1, v1, 0x1
move/from16 v18, v19
const/4 v11, 0x5
goto :goto_b6
:cond_da
add-int/lit8 v15, v15, 0x1
const/4 v1, 0x7
const/4 v11, 0x5
goto :goto_b3
.line 31
:cond_df
invoke-virtual {v3}, Lcom/google/android/exoplayer2/util/x;->e()I
move-result v1
const/4 v2, 0x7
add-int/2addr v1, v2
and-int/lit8 v1, v1, -0x8
invoke-virtual {v3, v1}, Lcom/google/android/exoplayer2/util/x;->k(I)V
const/16 v1, 0x20
.line 32
invoke-virtual {v3, v1}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v4
.line 33
new-array v8, v4, [Lcom/google/android/exoplayer2/video/spherical/d$b;
const/4 v11, 0x0
:goto_f3
if-ge v11, v4, :cond_19a
const/16 v12, 0x8
.line 34
invoke-virtual {v3, v12}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v15
.line 35
invoke-virtual {v3, v12}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v2
.line 36
invoke-virtual {v3, v1}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v12
const v1, 0x1f400
if-le v12, v1, :cond_10e
:cond_108
:goto_108
move/from16 v19, v6
:cond_10a
:goto_10a
const/16 v20, 0x1
goto/16 :goto_17d
:cond_10e
move/from16 v19, v6
int-to-double v5, v10
const-wide/high16 v16, 0x4000000000000000L # 2.0
mul-double v5, v5, v16
.line 37
invoke-static {v5, v6}, Ljava/lang/Math;->log(D)D
move-result-wide v5
div-double/2addr v5, v13
invoke-static {v5, v6}, Ljava/lang/Math;->ceil(D)D
move-result-wide v5
double-to-int v5, v5
mul-int/lit8 v6, v12, 0x3
.line 38
new-array v6, v6, [F
mul-int/lit8 v1, v12, 0x2
.line 39
new-array v1, v1, [F
move-object/from16 v21, v1
const/4 v1, 0x0
const/16 v22, 0x0
:goto_12c
if-ge v1, v12, :cond_17f
.line 40
invoke-virtual {v3, v5}, Lcom/google/android/exoplayer2/util/x;->g(I)I
move-result v23
shr-int/lit8 v24, v23, 0x1
move-object/from16 v25, v3
const/16 v20, 0x1
and-int/lit8 v3, v23, 0x1
move/from16 v23, v4
move-object/from16 v4, v21
neg-int v3, v3
xor-int v3, v3, v24
add-int v3, v22, v3
if-ltz v3, :cond_10a
if-lt v3, v10, :cond_148
goto :goto_10a
:cond_148
mul-int/lit8 v21, v1, 0x3
mul-int/lit8 v22, v3, 0x5
.line 41
aget v24, v9, v22
aput v24, v6, v21
add-int/lit8 v24, v21, 0x1
add-int/lit8 v26, v22, 0x1
.line 42
aget v26, v9, v26
aput v26, v6, v24
add-int/lit8 v21, v21, 0x2
add-int/lit8 v24, v22, 0x2
.line 43
aget v24, v9, v24
aput v24, v6, v21
mul-int/lit8 v21, v1, 0x2
add-int/lit8 v24, v22, 0x3
.line 44
aget v24, v9, v24
aput v24, v4, v21
const/16 v20, 0x1
add-int/lit8 v21, v21, 0x1
add-int/lit8 v22, v22, 0x4
.line 45
aget v22, v9, v22
aput v22, v4, v21
add-int/lit8 v1, v1, 0x1
move/from16 v22, v3
move-object/from16 v21, v4
move/from16 v4, v23
move-object/from16 v3, v25
goto :goto_12c
:goto_17d
const/4 v1, 0x0
goto :goto_1a3
:cond_17f
move-object/from16 v25, v3
move/from16 v23, v4
move-object/from16 v4, v21
const/16 v20, 0x1
.line 46
new-instance v1, Lcom/google/android/exoplayer2/video/spherical/d$b;
invoke-direct {v1, v15, v6, v4, v2}, Lcom/google/android/exoplayer2/video/spherical/d$b;-><init>(I[F[FI)V
aput-object v1, v8, v11
add-int/lit8 v11, v11, 0x1
move/from16 v6, v19
move/from16 v4, v23
const/16 v1, 0x20
const/4 v2, 0x7
const/4 v5, 0x1
goto/16 :goto_f3
:cond_19a
move/from16 v19, v6
const/16 v20, 0x1
.line 47
new-instance v1, Lcom/google/android/exoplayer2/video/spherical/d$a;
invoke-direct {v1, v8}, Lcom/google/android/exoplayer2/video/spherical/d$a;-><init>([Lcom/google/android/exoplayer2/video/spherical/d$b;)V
:goto_1a3
if-nez v1, :cond_1a6
goto :goto_1bd
:cond_1a6
move-object/from16 v2, p0
.line 48
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_1b1
:cond_1ac
move-object v2, v3
move/from16 v19, v6
const/16 v20, 0x1
.line 49
:goto_1b1
invoke-virtual {v0, v7}, Lcom/google/android/exoplayer2/util/y;->E(I)V
move-object v3, v2
move v4, v7
move/from16 v6, v19
const/4 v1, 0x7
const/4 v2, 0x0
const/4 v5, 0x1
goto/16 :goto_46
:cond_1bd
:goto_1bd
const/4 v2, 0x0
goto :goto_1c0
:cond_1bf
move-object v2, v3
:goto_1c0
return-object v2
.end method