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