VideoParameterSet.smali

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


# instance fields
.field vps:Ljava/nio/ByteBuffer;

.field vps_parameter_set_id:I


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

    return-void
.end method

.method public constructor <init>(Ljava/nio/ByteBuffer;)V
    .registers 23
    .param p1, "vps"    # Ljava/nio/ByteBuffer;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 15
    move-object/from16 v0, p0

    move-object/from16 v1, p1

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

    .line 16
    iput-object v1, v0, Lcom/googlecode/mp4parser/authoring/tracks/h265/VideoParameterSet;->vps:Ljava/nio/ByteBuffer;

    .line 17
    new-instance v2, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;

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

    const/4 v4, 0x0

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

    move-result-object v5

    check-cast v5, Ljava/nio/ByteBuffer;

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

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

    move-result-object v3

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

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

    const-string/jumbo v5, "vps_parameter_set_id"

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

    move-result v3

    iput v3, v0, Lcom/googlecode/mp4parser/authoring/tracks/h265/VideoParameterSet;->vps_parameter_set_id:I

    .line 19
    const/4 v3, 0x2

    const-string/jumbo v5, "vps_reserved_three_2bits"

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

    .line 20
    const/4 v5, 0x6

    const-string/jumbo v6, "vps_max_layers_minus1"

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

    .line 21
    const/4 v6, 0x3

    const-string/jumbo v7, "vps_max_sub_layers_minus1"

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

    move-result v6

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

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

    .line 23
    const/16 v7, 0x10

    const-string/jumbo v8, "vps_reserved_0xffff_16bits"

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

    .line 24
    invoke-virtual {v0, v6, v2}, Lcom/googlecode/mp4parser/authoring/tracks/h265/VideoParameterSet;->profile_tier_level(ILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

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

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

    move-result v7

    .line 28
    .local v7, "vps_sub_layer_ordering_info_present_flag":Z
    const/4 v8, 0x1

    if-eqz v7, :cond_5b

    const/4 v9, 0x1

    goto :goto_5d

    :cond_5b
    add-int/lit8 v9, v6, 0x1

    :goto_5d
    new-array v9, v9, [I

    .line 29
    .local v9, "vps_max_dec_pic_buffering_minus1":[I
    if-eqz v7, :cond_63

    const/4 v10, 0x1

    goto :goto_65

    :cond_63
    add-int/lit8 v10, v6, 0x1

    :goto_65
    new-array v10, v10, [I

    .line 30
    .local v10, "vps_max_num_reorder_pics":[I
    if-eqz v7, :cond_6b

    const/4 v11, 0x1

    goto :goto_6d

    :cond_6b
    add-int/lit8 v11, v6, 0x1

    :goto_6d
    new-array v11, v11, [I

    .line 31
    .local v11, "vps_max_latency_increase_plus1":[I
    if-eqz v7, :cond_73

    const/4 v12, 0x0

    goto :goto_74

    :cond_73
    move v12, v6

    .local v12, "i":I
    :goto_74
    const-string v13, "]"

    if-le v12, v6, :cond_16f

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

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

    move-result v14

    .line 37
    .local v14, "vps_max_layer_id":I
    const-string/jumbo v5, "vps_num_layer_sets_minus1"

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

    move-result v15

    .line 38
    .local v15, "vps_num_layer_sets_minus1":I
    new-array v3, v3, [I

    aput v14, v3, v8

    aput v15, v3, v4

    const-class v5, Z

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

    move-result-object v3

    move-object/from16 v16, v3

    check-cast v16, [[Z

    .line 39
    .local v16, "layer_id_included_flag":[[Z
    const/4 v3, 0x1

    .local v3, "i":I
    :goto_97
    if-le v3, v15, :cond_13c

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

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

    move-result v3

    .line 45
    .local v3, "vps_timing_info_present_flag":Z
    if-eqz v3, :cond_11e

    .line 46
    const/16 v5, 0x20

    const-string/jumbo v12, "vps_num_units_in_tick"

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

    .line 47
    const-string/jumbo v12, "vps_time_scale"

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

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

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

    move-result v5

    .line 49
    .local v5, "vps_poc_proportional_to_timing_flag":Z
    if-eqz v5, :cond_bf

    .line 50
    const-string/jumbo v12, "vps_num_ticks_poc_diff_one_minus1"

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

    .line 52
    :cond_bf
    const-string/jumbo v12, "vps_num_hrd_parameters"

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

    move-result v12

    .line 53
    .local v12, "vps_num_hrd_parameters":I
    new-array v4, v12, [I

    .line 54
    .local v4, "hrd_layer_set_idx":[I
    new-array v8, v12, [Z

    .line 55
    .local v8, "cprms_present_flag":[Z
    const/16 v19, 0x0

    move/from16 v1, v19

    .local v1, "i":I
    :goto_ce
    if-lt v1, v12, :cond_d3

    move/from16 v19, v3

    goto :goto_120

    .line 56
    :cond_d3
    move/from16 v19, v3

    .end local v3    # "vps_timing_info_present_flag":Z
    .local v19, "vps_timing_info_present_flag":Z
    new-instance v3, Ljava/lang/StringBuilder;

    move/from16 v20, v5

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

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

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

    invoke-virtual {v3, v13}, 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 {v2, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readUE(Ljava/lang/String;)I

    move-result v3

    aput v3, v4, v1

    .line 57
    if-lez v1, :cond_10c

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

    const-string v5, "cprms_present_flag["

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

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

    invoke-virtual {v3, v13}, 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 {v2, v3}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool(Ljava/lang/String;)Z

    move-result v3

    aput-boolean v3, v8, v1

    .line 59
    const/16 v17, 0x0

    const/16 v18, 0x1

    goto :goto_112

    .line 60
    :cond_10c
    const/16 v17, 0x0

    const/16 v18, 0x1

    aput-boolean v18, v8, v17

    .line 63
    :goto_112
    aget-boolean v3, v8, v1

    invoke-direct {v0, v3, v6, v2}, Lcom/googlecode/mp4parser/authoring/tracks/h265/VideoParameterSet;->hrd_parameters(ZILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 55
    add-int/lit8 v1, v1, 0x1

    move/from16 v3, v19

    move/from16 v5, v20

    goto :goto_ce

    .line 45
    .end local v1    # "i":I
    .end local v4    # "hrd_layer_set_idx":[I
    .end local v8    # "cprms_present_flag":[Z
    .end local v12    # "vps_num_hrd_parameters":I
    .end local v19    # "vps_timing_info_present_flag":Z
    .end local v20    # "vps_poc_proportional_to_timing_flag":Z
    .restart local v3    # "vps_timing_info_present_flag":Z
    :cond_11e
    move/from16 v19, v3

    .line 67
    .end local v3    # "vps_timing_info_present_flag":Z
    .restart local v19    # "vps_timing_info_present_flag":Z
    :goto_120
    const-string/jumbo v1, "vps_extension_flag"

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

    move-result v1

    .line 68
    .local v1, "vps_extension_flag":Z
    if-eqz v1, :cond_138

    .line 69
    nop

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

    move-result v3

    if-nez v3, :cond_131

    goto :goto_138

    .line 70
    :cond_131
    const-string/jumbo v3, "vps_extension_data_flag"

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

    goto :goto_12a

    .line 73
    :cond_138
    :goto_138
    invoke-virtual {v2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readTrailingBits()V

    .line 75
    return-void

    .line 40
    .end local v1    # "vps_extension_flag":Z
    .end local v19    # "vps_timing_info_present_flag":Z
    .local v3, "i":I
    :cond_13c
    const/16 v17, 0x0

    const/16 v18, 0x1

    const/4 v1, 0x0

    .local v1, "j":I
    :goto_141
    if-le v1, v14, :cond_14b

    .line 39
    .end local v1    # "j":I
    add-int/lit8 v3, v3, 0x1

    move-object/from16 v1, p1

    const/4 v4, 0x0

    const/4 v8, 0x1

    goto/16 :goto_97

    .line 41
    .restart local v1    # "j":I
    :cond_14b
    aget-object v4, v16, v3

    new-instance v5, Ljava/lang/StringBuilder;

    const-string v8, "layer_id_included_flag["

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

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

    const-string v8, "]["

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

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

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

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

    move-result-object v5

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

    move-result v5

    aput-boolean v5, v4, v1

    .line 40
    add-int/lit8 v1, v1, 0x1

    goto :goto_141

    .line 32
    .end local v1    # "j":I
    .end local v3    # "i":I
    .end local v14    # "vps_max_layer_id":I
    .end local v15    # "vps_num_layer_sets_minus1":I
    .end local v16    # "layer_id_included_flag":[[Z
    .local v12, "i":I
    :cond_16f
    const/16 v17, 0x0

    const/16 v18, 0x1

    new-instance v1, Ljava/lang/StringBuilder;

    const-string/jumbo v4, "vps_max_dec_pic_buffering_minus1["

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

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

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

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

    move-result-object v1

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

    move-result v1

    aput v1, v9, v12

    .line 33
    new-instance v1, Ljava/lang/StringBuilder;

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

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

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

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

    move-result-object v1

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

    move-result v1

    aput v1, v10, v12

    .line 34
    new-instance v1, Ljava/lang/StringBuilder;

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

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

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

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

    move-result-object v1

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

    move-result v1

    aput v1, v11, v12

    .line 31
    add-int/lit8 v12, v12, 0x1

    move-object/from16 v1, p1

    const/4 v4, 0x0

    const/4 v8, 0x1

    goto/16 :goto_74
.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 137
    const/4 v0, 0x0

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

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

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

    .line 141
    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 142
    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 143
    if-nez v0, :cond_16

    if-eqz v1, :cond_59

    .line 144
    :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 145
    const/4 v3, 0x5

    if-eqz v2, :cond_38

    .line 146
    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 147
    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 148
    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 149
    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 152
    :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 153
    const-string v5, "cpb_size_scale"

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

    .line 154
    if-eqz v2, :cond_4a

    .line 155
    const-string v5, "cpb_size_du_scale"

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

    .line 157
    :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 158
    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 159
    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 162
    :cond_59
    new-array v3, p2, [Z

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

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

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

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

    .line 167
    .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 188
    .end local v8    # "i":I
    return-void

    .line 168
    .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 169
    aget-boolean v9, v3, v8

    if-nez v9, :cond_9b

    .line 170
    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 172
    :cond_9b
    aget-boolean v9, v4, v8

    if-eqz v9, :cond_b7

    .line 173
    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 174
    goto :goto_ce

    .line 175
    :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 177
    :goto_ce
    aget-boolean v9, v5, v8

    if-nez v9, :cond_e9

    .line 178
    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 180
    :cond_e9
    if-eqz v0, :cond_f0

    .line 181
    aget v9, v6, v8

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

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

    .line 184
    aget v9, v6, v8

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

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

    goto/16 :goto_64
.end method


# virtual methods
.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 78
    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 79
    const-string v3, "general_tier_flag"

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

    .line 80
    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 81
    const/16 v4, 0x20

    new-array v5, v4, [Z

    .line 82
    .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 85
    .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 86
    const-string v6, "general_interlaced_source_flag"

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

    .line 87
    const-string v6, "general_non_packed_constraint_flag"

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

    .line 88
    const-string v6, "general_frame_only_constraint_flag"

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

    .line 90
    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 91
    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 93
    new-array v10, v0, [Z

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

    .line 95
    .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 99
    .end local v6    # "i":I
    if-lez v0, :cond_57

    .line 100
    move/from16 v6, p1

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

    goto :goto_57

    .line 101
    :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 100
    add-int/lit8 v6, v6, 0x1

    goto :goto_4b

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

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

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

    .line 109
    .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 110
    .local v15, "sub_layer_profile_compatibility_flag":[[Z
    new-array v6, v0, [Z

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

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

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

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

    .line 117
    .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 134
    .end local v2    # "i":I
    return-void

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

    if-eqz v17, :cond_16c

    .line 119
    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 120
    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 121
    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 122
    const/4 v0, 0x0

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

    if-lt v0, v5, :cond_13f

    .line 125
    .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 126
    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 127
    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 128
    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 129
    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 123
    .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 122
    add-int/lit8 v0, v0, 0x1

    move-object/from16 v4, v18

    const/4 v5, 0x5

    goto/16 :goto_d0

    .line 118
    .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 131
    .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 132
    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 131
    :cond_180
    const/16 v4, 0x8

    .line 117
    :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 96
    .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 97
    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 95
    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 83
    .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 82
    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 191
    new-array v0, p2, [I

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

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

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

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

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

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

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

    .line 197
    .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 198
    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 199
    if-eqz p3, :cond_6e

    .line 200
    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 201
    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 203
    :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 196
    add-int/lit8 v5, v5, 0x1

    goto :goto_b
.end method

.method public toByteBuffer()Ljava/nio/ByteBuffer;
    .registers 2

    .line 208
    iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/tracks/h265/VideoParameterSet;->vps:Ljava/nio/ByteBuffer;

    return-object v0
.end method