H265TrackImplOld.smali

.class public Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;
.super Ljava/lang/Object;
.source "H265TrackImplOld.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;,
        Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;,
        Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$PARSE_STATE;
    }
.end annotation


# static fields
.field public static final AUD_NUT:I

.field private static final BLA_N_LP:I

.field private static final BLA_W_LP:I

.field private static final BLA_W_RADL:I

.field private static final BUFFER:J = 0x100000L

.field private static final CRA_NUT:I

.field private static final IDR_N_LP:I

.field private static final IDR_W_RADL:I

.field public static final PPS_NUT:I

.field public static final PREFIX_SEI_NUT:I

.field private static final RADL_N:I

.field private static final RADL_R:I

.field private static final RASL_N:I

.field private static final RASL_R:I

.field public static final RSV_NVCL41:I

.field public static final RSV_NVCL42:I

.field public static final RSV_NVCL43:I

.field public static final RSV_NVCL44:I

.field public static final SPS_NUT:I

.field private static final STSA_N:I

.field private static final STSA_R:I

.field private static final TRAIL_N:I

.field private static final TRAIL_R:I

.field private static final TSA_N:I

.field private static final TSA_R:I

.field public static final UNSPEC48:I

.field public static final UNSPEC49:I

.field public static final UNSPEC50:I

.field public static final UNSPEC51:I

.field public static final UNSPEC52:I

.field public static final UNSPEC53:I

.field public static final UNSPEC54:I

.field public static final UNSPEC55:I

.field public static final VPS_NUT:I


# instance fields
.field pictureParamterSets:Ljava/util/LinkedHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedHashMap<",
            "Ljava/lang/Long;",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation
.end field

.field samples:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/googlecode/mp4parser/authoring/Sample;",
            ">;"
        }
    .end annotation
.end field

.field sequenceParamterSets:Ljava/util/LinkedHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedHashMap<",
            "Ljava/lang/Long;",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation
.end field

.field syncSamples:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/Long;",
            ">;"
        }
    .end annotation
.end field

.field videoParamterSets:Ljava/util/LinkedHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedHashMap<",
            "Ljava/lang/Long;",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, 0x154c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->AUD_NUT:I

    const v0, 0x157d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->BLA_N_LP:I

    const v0, 0x157f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->BLA_W_LP:I

    const v0, 0x157e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->BLA_W_RADL:I

    const v0, 0x157a

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->CRA_NUT:I

    const v0, 0x157b

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->IDR_N_LP:I

    const v0, 0x157c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->IDR_W_RADL:I

    const v0, 0x154d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->PPS_NUT:I

    const v0, 0x1548

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->PREFIX_SEI_NUT:I

    const v0, 0x1569

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RADL_N:I

    const v0, 0x1568

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RADL_R:I

    const v0, 0x1567

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RASL_N:I

    const v0, 0x1566

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RASL_R:I

    const v0, 0x1546

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RSV_NVCL41:I

    const v0, 0x1545

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RSV_NVCL42:I

    const v0, 0x1544

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RSV_NVCL43:I

    const v0, 0x1543

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->RSV_NVCL44:I

    const v0, 0x154e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->SPS_NUT:I

    const v0, 0x156b

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->STSA_N:I

    const v0, 0x156a

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->STSA_R:I

    const v0, 0x156f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->TRAIL_N:I

    const v0, 0x156e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->TRAIL_R:I

    const v0, 0x156d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->TSA_N:I

    const v0, 0x156c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->TSA_R:I

    const v0, 0x155f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC48:I

    const v0, 0x155e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC49:I

    const v0, 0x155d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC50:I

    const v0, 0x155c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC51:I

    const v0, 0x155b

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC52:I

    const v0, 0x155a

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC53:I

    const v0, 0x1559

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC54:I

    const v0, 0x1558

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->UNSPEC55:I

    const v0, 0x154f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->VPS_NUT:I

    return-void
.end method

.method public constructor <init>(Lcom/googlecode/mp4parser/DataSource;)V
    .registers 18
    .param p1, "ds"    # Lcom/googlecode/mp4parser/DataSource;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 67
    move-object/from16 v0, p0

    invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

    .line 61
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->videoParamterSets:Ljava/util/LinkedHashMap;

    .line 62
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->sequenceParamterSets:Ljava/util/LinkedHashMap;

    .line 63
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->pictureParamterSets:Ljava/util/LinkedHashMap;

    .line 64
    new-instance v1, Ljava/util/ArrayList;

    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V

    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->syncSamples:Ljava/util/List;

    .line 65
    new-instance v1, Ljava/util/ArrayList;

    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V

    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->samples:Ljava/util/List;

    .line 68
    new-instance v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;

    move-object/from16 v2, p1

    invoke-direct {v1, v0, v2}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;-><init>(Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;Lcom/googlecode/mp4parser/DataSource;)V

    .line 70
    .local v1, "la":Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;
    const-wide/16 v3, 0x1

    .line 71
    .local v3, "sampleNo":J
    new-instance v5, Ljava/util/ArrayList;

    invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V

    .line 72
    .local v5, "accessUnit":Ljava/util/List;, "Ljava/util/List<Ljava/nio/ByteBuffer;>;"
    const/4 v6, 0x0

    .line 75
    .local v6, "accessUnitNalType":I
    nop

    :goto_38
    invoke-direct {v0, v1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->findNextNal(Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;)Ljava/nio/ByteBuffer;

    move-result-object v7

    move-object v8, v7

    .local v8, "nal":Ljava/nio/ByteBuffer;
    const/4 v9, 0x0

    if-nez v7, :cond_57

    .line 119
    sget-object v7, Ljava/lang/System;->err:Ljava/io/PrintStream;

    const-string v10, ""

    invoke-virtual {v7, v10}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    .line 120
    new-instance v7, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;

    invoke-direct {v7}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;-><init>()V

    .line 122
    .local v7, "hvcC":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;
    invoke-direct/range {p0 .. p0}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->getArrays()Ljava/util/List;

    move-result-object v10

    invoke-virtual {v7, v10}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;->setArrays(Ljava/util/List;)V

    .line 123
    invoke-virtual {v7, v9}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;->setAvgFrameRate(I)V

    .line 124
    return-void

    .line 77
    .end local v7    # "hvcC":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord;
    :cond_57
    invoke-virtual {v0, v8}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->getNalUnitHeader(Ljava/nio/ByteBuffer;)Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;

    move-result-object v7

    .line 81
    .local v7, "nalUnitHeader":Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;
    iget v10, v7, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    packed-switch v10, :pswitch_data_116

    goto :goto_7f

    .line 89
    :pswitch_61
    iget-object v10, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->pictureParamterSets:Ljava/util/LinkedHashMap;

    invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v11

    invoke-virtual {v10, v11, v8}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_7f

    .line 86
    :pswitch_6b
    iget-object v10, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->sequenceParamterSets:Ljava/util/LinkedHashMap;

    invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v11

    invoke-virtual {v10, v11, v8}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 87
    goto :goto_7f

    .line 83
    :pswitch_75
    iget-object v10, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->videoParamterSets:Ljava/util/LinkedHashMap;

    invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v11

    invoke-virtual {v10, v11, v8}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 84
    nop

    .line 91
    :goto_7f
    nop

    .line 92
    iget v10, v7, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    const/16 v11, 0x20

    if-ge v10, v11, :cond_88

    .line 93
    iget v6, v7, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    .line 97
    :cond_88
    iget v10, v7, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    invoke-virtual {v0, v10, v8, v5}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->isFirstOfAU(ILjava/nio/ByteBuffer;Ljava/util/List;)Z

    move-result v10

    if-eqz v10, :cond_fe

    invoke-interface {v5}, Ljava/util/List;->isEmpty()Z

    move-result v10

    if-nez v10, :cond_fe

    .line 99
    sget-object v10, Ljava/lang/System;->err:Ljava/io/PrintStream;

    const-string v11, "##########################"

    invoke-virtual {v10, v11}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    .line 100
    invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v10

    :goto_a1
    invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z

    move-result v11

    if-nez v11, :cond_be

    .line 106
    sget-object v9, Ljava/lang/System;->err:Ljava/io/PrintStream;

    const-string v10, "                          ##########################"

    invoke-virtual {v9, v10}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    .line 107
    iget-object v9, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->samples:Ljava/util/List;

    invoke-virtual {v0, v5}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->createSample(Ljava/util/List;)Lcom/googlecode/mp4parser/authoring/Sample;

    move-result-object v10

    invoke-interface {v9, v10}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 108
    invoke-interface {v5}, Ljava/util/List;->clear()V

    .line 109
    const-wide/16 v9, 0x1

    add-long/2addr v3, v9

    goto :goto_fe

    .line 100
    :cond_be
    invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v11

    check-cast v11, Ljava/nio/ByteBuffer;

    .line 101
    .local v11, "byteBuffer":Ljava/nio/ByteBuffer;
    invoke-virtual {v0, v11}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->getNalUnitHeader(Ljava/nio/ByteBuffer;)Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;

    move-result-object v12

    .line 102
    .local v12, "_nalUnitHeader":Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;
    sget-object v13, Ljava/lang/System;->err:Ljava/io/PrintStream;

    const/4 v14, 0x4

    new-array v14, v14, [Ljava/lang/Object;

    .line 103
    iget v15, v12, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v15

    aput-object v15, v14, v9

    const/4 v15, 0x1

    iget v9, v12, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nuhLayerId:I

    invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    aput-object v9, v14, v15

    const/4 v9, 0x2

    iget v15, v12, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nuhTemporalIdPlusOne:I

    invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v15

    aput-object v15, v14, v9

    const/4 v9, 0x3

    invoke-virtual {v11}, Ljava/nio/ByteBuffer;->limit()I

    move-result v15

    invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v15

    aput-object v15, v14, v9

    .line 102
    const-string/jumbo v9, "type: %3d - layer: %3d - tempId: %3d - size: %3d"

    invoke-static {v9, v14}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v13, v9}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    const/4 v9, 0x0

    goto :goto_a1

    .line 111
    .end local v11    # "byteBuffer":Ljava/nio/ByteBuffer;
    .end local v12    # "_nalUnitHeader":Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;
    :cond_fe
    :goto_fe
    invoke-interface {v5, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 112
    const/16 v9, 0x10

    if-lt v6, v9, :cond_114

    const/16 v9, 0x15

    if-gt v6, v9, :cond_114

    .line 113
    iget-object v9, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->syncSamples:Ljava/util/List;

    invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v10

    invoke-interface {v9, v10}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto/16 :goto_38

    .line 112
    :cond_114
    goto/16 :goto_38

    :pswitch_data_116
    .packed-switch 0x20
        :pswitch_75
        :pswitch_6b
        :pswitch_61
    .end packed-switch
.end method

.method private findNextNal(Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;)Ljava/nio/ByteBuffer;
    .registers 3
    .param p1, "la"    # Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 132
    nop

    :goto_1
    :try_start_1
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->nextThreeEquals001()Z

    move-result v0

    if-eqz v0, :cond_1a

    .line 135
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->discardNext3AndMarkStart()V

    .line 137
    nop

    :goto_b
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->nextThreeEquals000or001orEof()Z

    move-result v0

    if-eqz v0, :cond_16

    .line 140
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->getNal()Ljava/nio/ByteBuffer;

    move-result-object v0

    return-object v0

    .line 138
    :cond_16
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->discardByte()V

    goto :goto_b

    .line 133
    :cond_1a
    invoke-virtual {p1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$LookAhead;->discardByte()V
    :try_end_1d
    .catch Ljava/io/EOFException; {:try_start_1 .. :try_end_1d} :catch_1e

    goto :goto_1

    .line 141
    :catch_1e
    move-exception v0

    .line 142
    const/4 v0, 0x0

    return-object v0
.end method

.method private getArrays()Ljava/util/List;
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;",
            ">;"
        }
    .end annotation

    .line 340
    new-instance v0, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;

    invoke-direct {v0}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;-><init>()V

    .line 341
    .local v0, "vpsArray":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;
    const/4 v1, 0x1

    iput-boolean v1, v0, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->array_completeness:Z

    .line 342
    const/16 v2, 0x20

    iput v2, v0, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nal_unit_type:I

    .line 343
    new-instance v2, Ljava/util/ArrayList;

    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V

    iput-object v2, v0, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    .line 344
    iget-object v2, p0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->videoParamterSets:Ljava/util/LinkedHashMap;

    invoke-virtual {v2}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;

    move-result-object v2

    invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_1d
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    const/4 v4, 0x0

    if-nez v3, :cond_a6

    .line 351
    new-instance v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;

    invoke-direct {v2}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;-><init>()V

    move-object v3, v2

    .line 352
    .local v3, "spsArray":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;
    iput-boolean v1, v3, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->array_completeness:Z

    .line 353
    const/16 v5, 0x21

    iput v5, v3, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nal_unit_type:I

    .line 354
    new-instance v2, Ljava/util/ArrayList;

    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V

    iput-object v2, v3, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    .line 355
    iget-object v2, p0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->sequenceParamterSets:Ljava/util/LinkedHashMap;

    invoke-virtual {v2}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;

    move-result-object v2

    invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v6

    :goto_41
    invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-nez v2, :cond_8e

    .line 362
    new-instance v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;

    invoke-direct {v2}, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;-><init>()V

    .line 363
    .local v2, "ppsArray":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;
    iput-boolean v1, v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->array_completeness:Z

    .line 364
    iput v5, v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nal_unit_type:I

    .line 365
    new-instance v5, Ljava/util/ArrayList;

    invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V

    iput-object v5, v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    .line 366
    iget-object v5, p0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->pictureParamterSets:Ljava/util/LinkedHashMap;

    invoke-virtual {v5}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;

    move-result-object v5

    invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v7

    :goto_61
    invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z

    move-result v5

    if-nez v5, :cond_76

    .line 372
    const/4 v5, 0x3

    new-array v5, v5, [Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;

    aput-object v0, v5, v4

    aput-object v3, v5, v1

    const/4 v1, 0x2

    aput-object v2, v5, v1

    invoke-static {v5}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v1

    return-object v1

    .line 366
    :cond_76
    invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/nio/ByteBuffer;

    .line 367
    .local v5, "byteBuffer":Ljava/nio/ByteBuffer;
    invoke-virtual {v5}, Ljava/nio/ByteBuffer;->limit()I

    move-result v6

    new-array v6, v6, [B

    .line 368
    .local v6, "ps":[B
    invoke-virtual {v5, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 369
    invoke-virtual {v5, v6}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;

    .line 370
    iget-object v8, v2, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    invoke-interface {v8, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_61

    .line 355
    .end local v2    # "ppsArray":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;
    .end local v5    # "byteBuffer":Ljava/nio/ByteBuffer;
    .end local v6    # "ps":[B
    :cond_8e
    invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/nio/ByteBuffer;

    .line 356
    .local v2, "byteBuffer":Ljava/nio/ByteBuffer;
    invoke-virtual {v2}, Ljava/nio/ByteBuffer;->limit()I

    move-result v7

    new-array v7, v7, [B

    .line 357
    .local v7, "ps":[B
    invoke-virtual {v2, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 358
    invoke-virtual {v2, v7}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;

    .line 359
    iget-object v8, v3, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    invoke-interface {v8, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_41

    .line 344
    .end local v2    # "byteBuffer":Ljava/nio/ByteBuffer;
    .end local v3    # "spsArray":Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;
    .end local v7    # "ps":[B
    :cond_a6
    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/nio/ByteBuffer;

    .line 345
    .local v3, "byteBuffer":Ljava/nio/ByteBuffer;
    invoke-virtual {v3}, Ljava/nio/ByteBuffer;->limit()I

    move-result v5

    new-array v5, v5, [B

    .line 346
    .local v5, "ps":[B
    invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 347
    invoke-virtual {v3, v5}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;

    .line 348
    iget-object v4, v0, Lcom/mp4parser/iso14496/part15/HevcDecoderConfigurationRecord$Array;->nalUnits:Ljava/util/List;

    invoke-interface {v4, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto/16 :goto_1d
.end method

.method private hrd_parameters(ZILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V
    .registers 16
    .param p1, "commonInfPresentFlag"    # Z
    .param p2, "maxNumSubLayersMinus1"    # I
    .param p3, "r"    # Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 269
    const/4 v0, 0x0

    .line 270
    .local v0, "nal_hrd_parameters_present_flag":Z
    const/4 v1, 0x0

    .line 271
    .local v1, "vcl_hrd_parameters_present_flag":Z
    const/4 v2, 0x0

    .line 272
    .local v2, "sub_pic_hrd_params_present_flag":Z
    if-eqz p1, :cond_59

    .line 273
    const-string v3, "nal_hrd_parameters_present_flag"

    invoke-virtual {p3, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    .line 274
    const-string/jumbo v3, "vcl_hrd_parameters_present_flag"

    invoke-virtual {p3, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v1

    .line 275
    if-nez v0, :cond_16

    if-eqz v1, :cond_59

    .line 276
    :cond_16
    const-string/jumbo v3, "sub_pic_hrd_params_present_flag"

    invoke-virtual {p3, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v2

    .line 277
    const/4 v3, 0x5

    if-eqz v2, :cond_38

    .line 278
    const/16 v4, 0x8

    const-string/jumbo v5, "tick_divisor_minus2"

    invoke-virtual {p3, v4, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 279
    const-string v4, "du_cpb_removal_delay_increment_length_minus1"

    invoke-virtual {p3, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 280
    const-string/jumbo v4, "sub_pic_cpb_params_in_pic_timing_sei_flag"

    invoke-virtual {p3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 281
    const-string v4, "dpb_output_delay_du_length_minus1"

    invoke-virtual {p3, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 284
    :cond_38
    const/4 v4, 0x4

    const-string v5, "bit_rate_scale"

    invoke-virtual {p3, v4, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 285
    const-string v5, "cpb_size_scale"

    invoke-virtual {p3, v4, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 286
    if-eqz v2, :cond_4a

    .line 287
    const-string v5, "cpb_size_du_scale"

    invoke-virtual {p3, v4, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 289
    :cond_4a
    const-string v4, "initial_cpb_removal_delay_length_minus1"

    invoke-virtual {p3, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 290
    const-string v4, "au_cpb_removal_delay_length_minus1"

    invoke-virtual {p3, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 291
    const-string v4, "dpb_output_delay_length_minus1"

    invoke-virtual {p3, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 294
    :cond_59
    new-array v3, p2, [Z

    .line 295
    .local v3, "fixed_pic_rate_general_flag":[Z
    new-array v4, p2, [Z

    .line 296
    .local v4, "fixed_pic_rate_within_cvs_flag":[Z
    new-array v5, p2, [Z

    .line 297
    .local v5, "low_delay_hrd_flag":[Z
    new-array v6, p2, [I

    .line 298
    .local v6, "cpb_cnt_minus1":[I
    new-array v7, p2, [I

    .line 299
    .local v7, "elemental_duration_in_tc_minus1":[I
    const/4 v8, 0x0

    .local v8, "i":I
    :goto_64
    if-le v8, p2, :cond_67

    .line 320
    .end local v8    # "i":I
    return-void

    .line 300
    .restart local v8    # "i":I
    :cond_67
    new-instance v9, Ljava/lang/StringBuilder;

    const-string v10, "fixed_pic_rate_general_flag["

    invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v10, "]"

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {p3, v9}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v9

    aput-boolean v9, v3, v8

    .line 301
    aget-boolean v9, v3, v8

    if-nez v9, :cond_9b

    .line 302
    new-instance v9, Ljava/lang/StringBuilder;

    const-string v11, "fixed_pic_rate_within_cvs_flag["

    invoke-direct {v9, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {p3, v9}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v9

    aput-boolean v9, v4, v8

    .line 304
    :cond_9b
    aget-boolean v9, v4, v8

    if-eqz v9, :cond_b7

    .line 305
    new-instance v9, Ljava/lang/StringBuilder;

    const-string v11, "elemental_duration_in_tc_minus1["

    invoke-direct {v9, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {p3, v9}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v9

    aput v9, v7, v8

    .line 306
    goto :goto_ce

    .line 307
    :cond_b7
    new-instance v9, Ljava/lang/StringBuilder;

    const-string v11, "low_delay_hrd_flag["

    invoke-direct {v9, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {p3, v9}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v9

    aput-boolean v9, v5, v8

    .line 309
    :goto_ce
    aget-boolean v9, v5, v8

    if-nez v9, :cond_e9

    .line 310
    new-instance v9, Ljava/lang/StringBuilder;

    const-string v11, "cpb_cnt_minus1["

    invoke-direct {v9, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {p3, v9}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v9

    aput v9, v6, v8

    .line 312
    :cond_e9
    if-eqz v0, :cond_f0

    .line 313
    aget v9, v6, v8

    invoke-virtual {p0, v8, v9, v2, p3}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->sub_layer_hrd_parameters(IIZLcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 315
    :cond_f0
    if-eqz v1, :cond_f7

    .line 316
    aget v9, v6, v8

    invoke-virtual {p0, v8, v9, v2, p3}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->sub_layer_hrd_parameters(IIZLcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 299
    :cond_f7
    add-int/lit8 v8, v8, 0x1

    goto/16 :goto_64
.end method

.method public static main([Ljava/lang/String;)V
    .registers 4
    .param p0, "args"    # [Ljava/lang/String;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 127
    new-instance v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;

    new-instance v1, Lcom/googlecode/mp4parser/FileDataSourceImpl;

    const-string v2, "c:\\content\\test-UHD-HEVC_01_FMV_Med_track1.hvc"

    invoke-direct {v1, v2}, Lcom/googlecode/mp4parser/FileDataSourceImpl;-><init>(Ljava/lang/String;)V

    invoke-direct {v0, v1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;-><init>(Lcom/googlecode/mp4parser/DataSource;)V

    .line 128
    return-void
.end method


# virtual methods
.method protected createSample(Ljava/util/List;)Lcom/googlecode/mp4parser/authoring/Sample;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Ljava/nio/ByteBuffer;",
            ">;)",
            "Lcom/googlecode/mp4parser/authoring/Sample;"
        }
    .end annotation

    .line 444
    .local p1, "nals":Ljava/util/List;, "Ljava/util/List<Ljava/nio/ByteBuffer;>;"
    invoke-interface {p1}, Ljava/util/List;->size()I

    move-result v0

    const/4 v1, 0x4

    mul-int/lit8 v0, v0, 0x4

    new-array v0, v0, [B

    .line 445
    .local v0, "sizeInfo":[B
    invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;

    move-result-object v2

    .line 446
    .local v2, "sizeBuf":Ljava/nio/ByteBuffer;
    invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :goto_11
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v4

    if-nez v4, :cond_45

    .line 450
    invoke-interface {p1}, Ljava/util/List;->size()I

    move-result v3

    mul-int/lit8 v3, v3, 0x2

    new-array v4, v3, [Ljava/nio/ByteBuffer;

    .line 452
    .local v4, "data":[Ljava/nio/ByteBuffer;
    const/4 v3, 0x0

    .local v3, "i":I
    :goto_20
    invoke-interface {p1}, Ljava/util/List;->size()I

    move-result v5

    if-lt v3, v5, :cond_2c

    .line 457
    .end local v3    # "i":I
    new-instance v1, Lcom/googlecode/mp4parser/authoring/SampleImpl;

    invoke-direct {v1, v4}, Lcom/googlecode/mp4parser/authoring/SampleImpl;-><init>([Ljava/nio/ByteBuffer;)V

    return-object v1

    .line 453
    .restart local v3    # "i":I
    :cond_2c
    mul-int/lit8 v5, v3, 0x2

    mul-int/lit8 v6, v3, 0x4

    invoke-static {v0, v6, v1}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;

    move-result-object v6

    aput-object v6, v4, v5

    .line 454
    mul-int/lit8 v5, v3, 0x2

    add-int/lit8 v5, v5, 0x1

    invoke-interface {p1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Ljava/nio/ByteBuffer;

    aput-object v6, v4, v5

    .line 452
    add-int/lit8 v3, v3, 0x1

    goto :goto_20

    .line 446
    .end local v3    # "i":I
    .end local v4    # "data":[Ljava/nio/ByteBuffer;
    :cond_45
    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/nio/ByteBuffer;

    .line 447
    .local v4, "b":Ljava/nio/ByteBuffer;
    invoke-virtual {v4}, Ljava/nio/ByteBuffer;->remaining()I

    move-result v5

    invoke-virtual {v2, v5}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;

    goto :goto_11
.end method

.method public getFrameRate(Ljava/nio/ByteBuffer;)I
    .registers 21
    .param p1, "vps"    # Ljava/nio/ByteBuffer;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 208
    move-object/from16 v0, p0

    new-instance v1, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;

    new-instance v2, Lcom/googlecode/mp4parser/util/ByteBufferByteChannel;

    const/4 v3, 0x0

    move-object/from16 v4, p1

    invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    move-result-object v5

    check-cast v5, Ljava/nio/ByteBuffer;

    invoke-direct {v2, v5}, Lcom/googlecode/mp4parser/util/ByteBufferByteChannel;-><init>(Ljava/nio/ByteBuffer;)V

    invoke-static {v2}, Ljava/nio/channels/Channels;->newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;

    move-result-object v2

    invoke-direct {v1, v2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;-><init>(Ljava/io/InputStream;)V

    .line 209
    .local v1, "r":Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    const/4 v2, 0x4

    const-string/jumbo v5, "vps_parameter_set_id"

    invoke-virtual {v1, v2, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 210
    const/4 v2, 0x2

    const-string/jumbo v5, "vps_reserved_three_2bits"

    invoke-virtual {v1, v2, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 211
    const/4 v5, 0x6

    const-string/jumbo v6, "vps_max_layers_minus1"

    invoke-virtual {v1, v5, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 212
    const/4 v6, 0x3

    const-string/jumbo v7, "vps_max_sub_layers_minus1"

    invoke-virtual {v1, v6, v7}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    move-result v6

    .line 213
    .local v6, "vps_max_sub_layers_minus1":I
    const-string/jumbo v7, "vps_temporal_id_nesting_flag"

    invoke-virtual {v1, v7}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 214
    const/16 v7, 0x10

    const-string/jumbo v8, "vps_reserved_0xffff_16bits"

    invoke-virtual {v1, v7, v8}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 215
    invoke-virtual {v0, v6, v1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->profile_tier_level(ILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 218
    const-string/jumbo v7, "vps_sub_layer_ordering_info_present_flag"

    invoke-virtual {v1, v7}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v7

    .line 219
    .local v7, "vps_sub_layer_ordering_info_present_flag":Z
    if-eqz v7, :cond_52

    const/4 v8, 0x0

    goto :goto_53

    :cond_52
    move v8, v6

    :goto_53
    new-array v8, v8, [I

    .line 220
    .local v8, "vps_max_dec_pic_buffering_minus1":[I
    if-eqz v7, :cond_59

    const/4 v9, 0x0

    goto :goto_5a

    :cond_59
    move v9, v6

    :goto_5a
    new-array v9, v9, [I

    .line 221
    .local v9, "vps_max_num_reorder_pics":[I
    if-eqz v7, :cond_60

    const/4 v10, 0x0

    goto :goto_61

    :cond_60
    move v10, v6

    :goto_61
    new-array v10, v10, [I

    .line 222
    .local v10, "vps_max_latency_increase_plus1":[I
    if-eqz v7, :cond_67

    const/4 v11, 0x0

    goto :goto_68

    :cond_67
    move v11, v6

    .local v11, "i":I
    :goto_68
    const-string v12, "]"

    if-le v11, v6, :cond_15b

    .line 227
    .end local v11    # "i":I
    const-string/jumbo v11, "vps_max_layer_id"

    invoke-virtual {v1, v5, v11}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    move-result v13

    .line 228
    .local v13, "vps_max_layer_id":I
    const-string/jumbo v5, "vps_num_layer_sets_minus1"

    invoke-virtual {v1, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v14

    .line 229
    .local v14, "vps_num_layer_sets_minus1":I
    new-array v2, v2, [I

    const/4 v15, 0x1

    aput v13, v2, v15

    aput v14, v2, v3

    const-class v5, Z

    invoke-static {v5, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;

    move-result-object v2

    move-object/from16 v16, v2

    check-cast v16, [[Z

    .line 230
    .local v16, "layer_id_included_flag":[[Z
    const/4 v2, 0x1

    .local v2, "i":I
    :goto_8c
    if-le v2, v14, :cond_12b

    .line 235
    .end local v2    # "i":I
    const-string/jumbo v2, "vps_timing_info_present_flag"

    invoke-virtual {v1, v2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v2

    .line 236
    .local v2, "vps_timing_info_present_flag":Z
    if-eqz v2, :cond_10c

    .line 237
    const/16 v5, 0x20

    const-string/jumbo v11, "vps_num_units_in_tick"

    invoke-virtual {v1, v5, v11}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 238
    const-string/jumbo v11, "vps_time_scale"

    invoke-virtual {v1, v5, v11}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 239
    const-string/jumbo v5, "vps_poc_proportional_to_timing_flag"

    invoke-virtual {v1, v5}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v5

    .line 240
    .local v5, "vps_poc_proportional_to_timing_flag":Z
    if-eqz v5, :cond_b4

    .line 241
    const-string/jumbo v11, "vps_num_ticks_poc_diff_one_minus1"

    invoke-virtual {v1, v11}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    .line 243
    :cond_b4
    const-string/jumbo v11, "vps_num_hrd_parameters"

    invoke-virtual {v1, v11}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v11

    .line 244
    .local v11, "vps_num_hrd_parameters":I
    new-array v3, v11, [I

    .line 245
    .local v3, "hrd_layer_set_idx":[I
    new-array v15, v11, [Z

    .line 246
    .local v15, "cprms_present_flag":[Z
    const/16 v17, 0x0

    move/from16 v18, v2

    move/from16 v2, v17

    .local v2, "i":I
    .local v18, "vps_timing_info_present_flag":Z
    :goto_c5
    if-lt v2, v11, :cond_c8

    goto :goto_10e

    .line 247
    :cond_c8
    new-instance v4, Ljava/lang/StringBuilder;

    move/from16 v17, v5

    .end local v5    # "vps_poc_proportional_to_timing_flag":Z
    .local v17, "vps_poc_proportional_to_timing_flag":Z
    const-string v5, "hrd_layer_set_idx["

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v4

    aput v4, v3, v2

    .line 248
    if-lez v2, :cond_fc

    .line 249
    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "cprms_present_flag["

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v4

    aput-boolean v4, v15, v2

    .line 250
    const/4 v4, 0x1

    goto :goto_100

    .line 251
    :cond_fc
    const/4 v4, 0x1

    const/4 v5, 0x0

    aput-boolean v4, v15, v5

    .line 254
    :goto_100
    aget-boolean v5, v15, v2

    invoke-direct {v0, v5, v6, v1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->hrd_parameters(ZILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 246
    add-int/lit8 v2, v2, 0x1

    move-object/from16 v4, p1

    move/from16 v5, v17

    goto :goto_c5

    .line 236
    .end local v3    # "hrd_layer_set_idx":[I
    .end local v11    # "vps_num_hrd_parameters":I
    .end local v15    # "cprms_present_flag":[Z
    .end local v17    # "vps_poc_proportional_to_timing_flag":Z
    .end local v18    # "vps_timing_info_present_flag":Z
    .local v2, "vps_timing_info_present_flag":Z
    :cond_10c
    move/from16 v18, v2

    .line 258
    .end local v2    # "vps_timing_info_present_flag":Z
    .restart local v18    # "vps_timing_info_present_flag":Z
    :goto_10e
    const-string/jumbo v2, "vps_extension_flag"

    invoke-virtual {v1, v2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v2

    .line 259
    .local v2, "vps_extension_flag":Z
    if-eqz v2, :cond_126

    .line 260
    nop

    :goto_118
    invoke-virtual {v1}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->moreRBSPData()Z

    move-result v3

    if-nez v3, :cond_11f

    goto :goto_126

    .line 261
    :cond_11f
    const-string/jumbo v3, "vps_extension_data_flag"

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    goto :goto_118

    .line 264
    :cond_126
    :goto_126
    invoke-virtual {v1}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readTrailingBits()V

    .line 265
    const/4 v3, 0x0

    return v3

    .line 231
    .end local v18    # "vps_timing_info_present_flag":Z
    .local v2, "i":I
    :cond_12b
    const/4 v4, 0x1

    const/4 v5, 0x0

    .local v5, "j":I
    :goto_12d
    if-le v5, v13, :cond_136

    .line 230
    .end local v5    # "j":I
    add-int/lit8 v2, v2, 0x1

    move-object/from16 v4, p1

    const/4 v15, 0x1

    goto/16 :goto_8c

    .line 232
    .restart local v5    # "j":I
    :cond_136
    aget-object v11, v16, v2

    new-instance v15, Ljava/lang/StringBuilder;

    const-string v3, "layer_id_included_flag["

    invoke-direct {v15, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, "]["

    invoke-virtual {v15, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v15, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v3

    aput-boolean v3, v11, v5

    .line 231
    add-int/lit8 v5, v5, 0x1

    const/4 v3, 0x0

    goto :goto_12d

    .line 223
    .end local v2    # "i":I
    .end local v5    # "j":I
    .end local v13    # "vps_max_layer_id":I
    .end local v14    # "vps_num_layer_sets_minus1":I
    .end local v16    # "layer_id_included_flag":[[Z
    .local v11, "i":I
    :cond_15b
    new-instance v3, Ljava/lang/StringBuilder;

    const-string/jumbo v4, "vps_max_dec_pic_buffering_minus1["

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v3

    aput v3, v8, v11

    .line 224
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v3

    aput v3, v9, v11

    .line 225
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v3

    aput v3, v10, v11

    .line 222
    add-int/lit8 v11, v11, 0x1

    move-object/from16 v4, p1

    const/4 v3, 0x0

    goto/16 :goto_68
.end method

.method public getNalUnitHeader(Ljava/nio/ByteBuffer;)Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;
    .registers 5
    .param p1, "nal"    # Ljava/nio/ByteBuffer;

    .line 431
    const/4 v0, 0x0

    invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 432
    invoke-static {p1}, Lcom/coremedia/iso/IsoTypeReader;->readUInt16(Ljava/nio/ByteBuffer;)I

    move-result v0

    .line 435
    .local v0, "nal_unit_header":I
    new-instance v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;

    invoke-direct {v1}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;-><init>()V

    .line 436
    .local v1, "nalUnitHeader":Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;
    const v2, 0x8000

    and-int/2addr v2, v0

    shr-int/lit8 v2, v2, 0xf

    iput v2, v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->forbiddenZeroFlag:I

    .line 437
    and-int/lit16 v2, v0, 0x7e00

    shr-int/lit8 v2, v2, 0x9

    iput v2, v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    .line 438
    and-int/lit16 v2, v0, 0x1f8

    shr-int/lit8 v2, v2, 0x3

    iput v2, v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nuhLayerId:I

    .line 439
    and-int/lit8 v2, v0, 0x7

    iput v2, v1, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nuhTemporalIdPlusOne:I

    .line 440
    return-object v1
.end method

.method isFirstOfAU(ILjava/nio/ByteBuffer;Ljava/util/List;)Z
    .registers 10
    .param p1, "nalUnitType"    # I
    .param p2, "nalUnit"    # Ljava/nio/ByteBuffer;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I",
            "Ljava/nio/ByteBuffer;",
            "Ljava/util/List<",
            "Ljava/nio/ByteBuffer;",
            ">;)Z"
        }
    .end annotation

    .line 376
    .local p3, "accessUnit":Ljava/util/List;, "Ljava/util/List<Ljava/nio/ByteBuffer;>;"
    invoke-interface {p3}, Ljava/util/List;->isEmpty()Z

    move-result v0

    const/4 v1, 0x1

    if-eqz v0, :cond_8

    .line 377
    return v1

    .line 379
    :cond_8
    invoke-interface {p3}, Ljava/util/List;->size()I

    move-result v0

    sub-int/2addr v0, v1

    invoke-interface {p3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/nio/ByteBuffer;

    invoke-virtual {p0, v0}, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld;->getNalUnitHeader(Ljava/nio/ByteBuffer;)Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;

    move-result-object v0

    iget v0, v0, Lcom/googlecode/mp4parser/authoring/tracks/H265TrackImplOld$NalUnitHeader;->nalUnitType:I

    const/16 v2, 0x1f

    const/4 v3, 0x0

    if-gt v0, v2, :cond_20

    const/4 v0, 0x1

    goto :goto_21

    :cond_20
    const/4 v0, 0x0

    .line 380
    .local v0, "vclPresentInCurrentAU":Z
    :goto_21
    packed-switch p1, :pswitch_data_4a

    :pswitch_24
    goto :goto_28

    .line 398
    :pswitch_25
    if-eqz v0, :cond_28

    .line 399
    return v1

    .line 402
    :cond_28
    :goto_28
    packed-switch p1, :pswitch_data_7e

    packed-switch p1, :pswitch_data_96

    .line 427
    return v3

    .line 419
    :pswitch_2f
    const/16 v2, 0x32

    new-array v2, v2, [B

    .line 420
    .local v2, "b":[B
    invoke-virtual {p2, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 421
    invoke-virtual {p2, v2}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;

    .line 422
    const/4 v4, 0x2

    invoke-virtual {p2, v4}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 423
    invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt8(Ljava/nio/ByteBuffer;)I

    move-result v4

    .line 425
    .local v4, "firstRsbp8Bit":I
    if-eqz v0, :cond_48

    and-int/lit16 v5, v4, 0x80

    if-lez v5, :cond_48

    return v1

    :cond_48
    return v3

    nop

    :pswitch_data_4a
    .packed-switch 0x20
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_24
        :pswitch_24
        :pswitch_24
        :pswitch_25
        :pswitch_24
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_24
        :pswitch_24
        :pswitch_24
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
        :pswitch_25
    .end packed-switch

    :pswitch_data_7e
    .packed-switch 0x0
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
    .end packed-switch

    :pswitch_data_96
    .packed-switch 0x10
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
        :pswitch_2f
    .end packed-switch
.end method

.method public profile_tier_level(ILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V
    .registers 22
    .param p1, "maxNumSubLayersMinus1"    # I
    .param p2, "r"    # Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 148
    move/from16 v0, p1

    move-object/from16 v1, p2

    const/4 v2, 0x2

    const-string v3, "general_profile_space "

    invoke-virtual {v1, v2, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 149
    const-string v3, "general_tier_flag"

    invoke-virtual {v1, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 150
    const/4 v3, 0x5

    const-string v4, "general_profile_idc"

    invoke-virtual {v1, v3, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 151
    const/16 v4, 0x20

    new-array v5, v4, [Z

    .line 152
    .local v5, "general_profile_compatibility_flag":[Z
    const/4 v6, 0x0

    .local v6, "j":I
    :goto_1a
    const-string v7, "]"

    if-lt v6, v4, :cond_1ce

    .line 155
    .end local v6    # "j":I
    const-string v6, "general_progressive_source_flag"

    invoke-virtual {v1, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 156
    const-string v6, "general_interlaced_source_flag"

    invoke-virtual {v1, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 157
    const-string v6, "general_non_packed_constraint_flag"

    invoke-virtual {v1, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 158
    const-string v6, "general_frame_only_constraint_flag"

    invoke-virtual {v1, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    .line 160
    const/16 v8, 0x2c

    const-string v6, "general_reserved_zero_44bits"

    invoke-virtual {v1, v8, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 161
    const/16 v9, 0x8

    const-string v6, "general_level_idc"

    invoke-virtual {v1, v9, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 163
    new-array v10, v0, [Z

    .line 164
    .local v10, "sub_layer_profile_present_flag":[Z
    new-array v11, v0, [Z

    .line 165
    .local v11, "sub_layer_level_present_flag":[Z
    const/4 v6, 0x0

    .local v6, "i":I
    :goto_45
    if-lt v6, v0, :cond_18c

    .line 169
    .end local v6    # "i":I
    if-lez v0, :cond_57

    .line 170
    move/from16 v6, p1

    .restart local v6    # "i":I
    :goto_4b
    if-lt v6, v9, :cond_4e

    goto :goto_57

    .line 171
    :cond_4e
    const-string/jumbo v12, "reserved_zero_2bits"

    invoke-virtual {v1, v2, v12}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    .line 170
    add-int/lit8 v6, v6, 0x1

    goto :goto_4b

    .line 176
    .end local v6    # "i":I
    :cond_57
    :goto_57
    new-array v12, v0, [I

    .line 177
    .local v12, "sub_layer_profile_space":[I
    new-array v13, v0, [Z

    .line 178
    .local v13, "sub_layer_tier_flag":[Z
    new-array v14, v0, [I

    .line 179
    .local v14, "sub_layer_profile_idc":[I
    new-array v6, v2, [I

    const/4 v15, 0x1

    aput v4, v6, v15

    const/4 v15, 0x0

    aput v0, v6, v15

    const-class v15, Z

    invoke-static {v15, v6}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;

    move-result-object v6

    move-object v15, v6

    check-cast v15, [[Z

    .line 180
    .local v15, "sub_layer_profile_compatibility_flag":[[Z
    new-array v6, v0, [Z

    .line 182
    .local v6, "sub_layer_progressive_source_flag":[Z
    new-array v9, v0, [Z

    .line 183
    .local v9, "sub_layer_interlaced_source_flag":[Z
    new-array v8, v0, [Z

    .line 184
    .local v8, "sub_layer_non_packed_constraint_flag":[Z
    new-array v4, v0, [Z

    .line 185
    .local v4, "sub_layer_frame_only_constraint_flag":[Z
    new-array v3, v0, [I

    .line 187
    .local v3, "sub_layer_level_idc":[I
    const/16 v17, 0x0

    move/from16 v2, v17

    .local v2, "i":I
    :goto_7c
    if-lt v2, v0, :cond_7f

    .line 204
    .end local v2    # "i":I
    return-void

    .line 188
    .restart local v2    # "i":I
    :cond_7f
    aget-boolean v17, v10, v2

    if-eqz v17, :cond_16c

    .line 189
    new-instance v0, Ljava/lang/StringBuilder;

    move-object/from16 v17, v5

    .end local v5    # "general_profile_compatibility_flag":[Z
    .local v17, "general_profile_compatibility_flag":[Z
    const-string/jumbo v5, "sub_layer_profile_space["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const/4 v5, 0x2

    invoke-virtual {v1, v5, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    move-result v0

    aput v0, v12, v2

    .line 190
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_tier_flag["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v13, v2

    .line 191
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_profile_idc["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const/4 v5, 0x5

    invoke-virtual {v1, v5, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    move-result v0

    aput v0, v14, v2

    .line 192
    const/4 v0, 0x0

    .local v0, "j":I
    :goto_d0
    const/16 v5, 0x20

    if-lt v0, v5, :cond_13f

    .line 195
    .end local v0    # "j":I
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_progressive_source_flag["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v6, v2

    .line 196
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_interlaced_source_flag["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v9, v2

    .line 197
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_non_packed_constraint_flag["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v8, v2

    .line 198
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v5, "sub_layer_frame_only_constraint_flag["

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v4, v2

    .line 199
    const-string/jumbo v0, "reserved"

    const/16 v5, 0x2c

    invoke-virtual {v1, v5, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readNBit(ILjava/lang/String;)J

    move-object/from16 v18, v4

    goto :goto_170

    .line 193
    .restart local v0    # "j":I
    :cond_13f
    const/16 v5, 0x2c

    aget-object v16, v15, v2

    new-instance v5, Ljava/lang/StringBuilder;

    move-object/from16 v18, v4

    .end local v4    # "sub_layer_frame_only_constraint_flag":[Z
    .local v18, "sub_layer_frame_only_constraint_flag":[Z
    const-string/jumbo v4, "sub_layer_profile_compatibility_flag["

    invoke-direct {v5, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v4, "]["

    invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v4}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v4

    aput-boolean v4, v16, v0

    .line 192
    add-int/lit8 v0, v0, 0x1

    move-object/from16 v4, v18

    const/4 v5, 0x5

    goto/16 :goto_d0

    .line 188
    .end local v0    # "j":I
    .end local v17    # "general_profile_compatibility_flag":[Z
    .end local v18    # "sub_layer_frame_only_constraint_flag":[Z
    .restart local v4    # "sub_layer_frame_only_constraint_flag":[Z
    .restart local v5    # "general_profile_compatibility_flag":[Z
    :cond_16c
    move-object/from16 v18, v4

    move-object/from16 v17, v5

    .line 201
    .end local v4    # "sub_layer_frame_only_constraint_flag":[Z
    .end local v5    # "general_profile_compatibility_flag":[Z
    .restart local v17    # "general_profile_compatibility_flag":[Z
    .restart local v18    # "sub_layer_frame_only_constraint_flag":[Z
    :goto_170
    aget-boolean v0, v11, v2

    if-eqz v0, :cond_180

    .line 202
    const-string/jumbo v0, "sub_layer_level_idc"

    const/16 v4, 0x8

    invoke-virtual {v1, v4, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readU(ILjava/lang/String;)I

    move-result v0

    aput v0, v3, v2

    goto :goto_182

    .line 201
    :cond_180
    const/16 v4, 0x8

    .line 187
    :goto_182
    add-int/lit8 v2, v2, 0x1

    move/from16 v0, p1

    move-object/from16 v5, v17

    move-object/from16 v4, v18

    goto/16 :goto_7c

    .line 166
    .end local v2    # "i":I
    .end local v3    # "sub_layer_level_idc":[I
    .end local v8    # "sub_layer_non_packed_constraint_flag":[Z
    .end local v9    # "sub_layer_interlaced_source_flag":[Z
    .end local v12    # "sub_layer_profile_space":[I
    .end local v13    # "sub_layer_tier_flag":[Z
    .end local v14    # "sub_layer_profile_idc":[I
    .end local v15    # "sub_layer_profile_compatibility_flag":[[Z
    .end local v17    # "general_profile_compatibility_flag":[Z
    .end local v18    # "sub_layer_frame_only_constraint_flag":[Z
    .restart local v5    # "general_profile_compatibility_flag":[Z
    .local v6, "i":I
    :cond_18c
    move-object/from16 v17, v5

    const/16 v4, 0x8

    .end local v5    # "general_profile_compatibility_flag":[Z
    .restart local v17    # "general_profile_compatibility_flag":[Z
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v2, "sub_layer_profile_present_flag["

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v10, v6

    .line 167
    new-instance v0, Ljava/lang/StringBuilder;

    const-string/jumbo v2, "sub_layer_level_present_flag["

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v11, v6

    .line 165
    add-int/lit8 v6, v6, 0x1

    move/from16 v0, p1

    const/4 v2, 0x2

    const/4 v3, 0x5

    const/16 v4, 0x20

    const/16 v8, 0x2c

    const/16 v9, 0x8

    goto/16 :goto_45

    .line 153
    .end local v10    # "sub_layer_profile_present_flag":[Z
    .end local v11    # "sub_layer_level_present_flag":[Z
    .end local v17    # "general_profile_compatibility_flag":[Z
    .restart local v5    # "general_profile_compatibility_flag":[Z
    .local v6, "j":I
    :cond_1ce
    move-object/from16 v17, v5

    .end local v5    # "general_profile_compatibility_flag":[Z
    .restart local v17    # "general_profile_compatibility_flag":[Z
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v2, "general_profile_compatibility_flag["

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v0

    aput-boolean v0, v17, v6

    .line 152
    add-int/lit8 v6, v6, 0x1

    move/from16 v0, p1

    const/4 v2, 0x2

    const/4 v3, 0x5

    const/16 v4, 0x20

    goto/16 :goto_1a
.end method

.method sub_layer_hrd_parameters(IIZLcom/googlecode/mp4parser/h264/read/CAVLCReader;)V
    .registers 14
    .param p1, "subLayerId"    # I
    .param p2, "cpbCnt"    # I
    .param p3, "sub_pic_hrd_params_present_flag"    # Z
    .param p4, "r"    # Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 323
    new-array v0, p2, [I

    .line 324
    .local v0, "bit_rate_value_minus1":[I
    new-array v1, p2, [I

    .line 325
    .local v1, "cpb_size_value_minus1":[I
    new-array v2, p2, [I

    .line 326
    .local v2, "cpb_size_du_value_minus1":[I
    new-array v3, p2, [I

    .line 327
    .local v3, "bit_rate_du_value_minus1":[I
    new-array v4, p2, [Z

    .line 328
    .local v4, "cbr_flag":[Z
    const/4 v5, 0x0

    .local v5, "i":I
    :goto_b
    if-le v5, p2, :cond_e

    .line 337
    .end local v5    # "i":I
    return-void

    .line 329
    .restart local v5    # "i":I
    :cond_e
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v7, "bit_rate_value_minus1["

    invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v7, "]"

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p4, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v6

    aput v6, v0, v5

    .line 330
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v8, "cpb_size_value_minus1["

    invoke-direct {v6, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p4, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v6

    aput v6, v1, v5

    .line 331
    if-eqz p3, :cond_6e

    .line 332
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v8, "cpb_size_du_value_minus1["

    invoke-direct {v6, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p4, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v6

    aput v6, v2, v5

    .line 333
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v8, "bit_rate_du_value_minus1["

    invoke-direct {v6, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p4, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v6

    aput v6, v3, v5

    .line 335
    :cond_6e
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v8, "cbr_flag["

    invoke-direct {v6, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {p4, v6}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v6

    aput-boolean v6, v4, v5

    .line 328
    add-int/lit8 v5, v5, 0x1

    goto :goto_b
.end method