SequenceParameterSetRbsp.smali

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


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

    return-void
.end method

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

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

    .line 14
    new-instance v0, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;

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

    .line 16
    .local v0, "bsr":Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    const/4 v1, 0x4

    const-string/jumbo v2, "sps_video_parameter_set_id"

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

    .line 17
    const/4 v2, 0x3

    const-string/jumbo v3, "sps_max_sub_layers_minus1"

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

    move-result-wide v3

    long-to-int v4, v3

    .line 18
    .local v4, "sps_max_sub_layers_minus1":I
    const-string/jumbo v3, "sps_temporal_id_nesting_flag"

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

    .line 19
    invoke-direct {p0, v4, v0}, Lcom/googlecode/mp4parser/authoring/tracks/h265/SequenceParameterSetRbsp;->profile_tier_level(ILcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 20
    const-string/jumbo v3, "sps_seq_parameter_set_id"

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

    .line 21
    const-string v3, "chroma_format_idc"

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

    move-result v3

    .line 22
    .local v3, "chroma_format_idc":I
    if-ne v3, v2, :cond_56

    .line 23
    invoke-virtual {v0}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->read1Bit()I

    .line 24
    const-string v2, "pic_width_in_luma_samples"

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

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

    .line 26
    const-string v2, "conformance_window_flag"

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

    move-result v2

    .line 27
    .local v2, "conformance_window_flag":Z
    if-eqz v2, :cond_56

    .line 28
    const-string v5, "conf_win_left_offset"

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

    .line 29
    const-string v5, "conf_win_right_offset"

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

    .line 30
    const-string v5, "conf_win_top_offset"

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

    .line 31
    const-string v5, "conf_win_bottom_offset"

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

    .line 34
    .end local v2    # "conformance_window_flag":Z
    :cond_56
    const-string v2, "bit_depth_luma_minus8"

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

    .line 35
    const-string v2, "bit_depth_chroma_minus8"

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

    .line 36
    const-string v2, "log2_max_pic_order_cnt_lsb_minus4"

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

    .line 37
    const-string/jumbo v2, "sps_sub_layer_ordering_info_present_flag"

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

    move-result v2

    .line 39
    .local v2, "sps_sub_layer_ordering_info_present_flag":Z
    const/4 v5, 0x0

    if-eqz v2, :cond_71

    const/4 v6, 0x0

    goto :goto_72

    :cond_71
    move v6, v4

    :goto_72
    sub-int v6, v4, v6

    add-int/lit8 v6, v6, 0x1

    .line 40
    .local v6, "j":I
    new-array v7, v6, [I

    .line 41
    .local v7, "sps_max_dec_pic_buffering_minus1":[I
    new-array v8, v6, [I

    .line 42
    .local v8, "sps_max_num_reorder_pics":[I
    new-array v9, v6, [I

    .line 44
    .local v9, "sps_max_latency_increase_plus1":[I
    if-eqz v2, :cond_7f

    goto :goto_80

    :cond_7f
    move v5, v4

    .local v5, "i":I
    :goto_80
    if-le v5, v4, :cond_d8

    .line 50
    .end local v5    # "i":I
    const-string v5, "log2_min_luma_coding_block_size_minus3"

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

    .line 51
    const-string v5, "log2_diff_max_min_luma_coding_block_size"

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

    .line 52
    const-string v5, "log2_min_transform_block_size_minus2"

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

    .line 53
    const-string v5, "log2_diff_max_min_transform_block_size"

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

    .line 54
    const-string v5, "max_transform_hierarchy_depth_inter"

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

    .line 55
    const-string v5, "max_transform_hierarchy_depth_intra"

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

    .line 57
    const-string/jumbo v5, "scaling_list_enabled_flag"

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

    move-result v5

    .line 58
    .local v5, "scaling_list_enabled_flag":Z
    if-eqz v5, :cond_b5

    .line 59
    const-string/jumbo v10, "sps_scaling_list_data_present_flag"

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

    move-result v10

    .line 60
    .local v10, "sps_scaling_list_data_present_flag":Z
    if-eqz v10, :cond_b5

    .line 61
    invoke-direct {p0, v0}, Lcom/googlecode/mp4parser/authoring/tracks/h265/SequenceParameterSetRbsp;->scaling_list_data(Lcom/googlecode/mp4parser/h264/read/CAVLCReader;)V

    .line 64
    .end local v10    # "sps_scaling_list_data_present_flag":Z
    :cond_b5
    const-string v10, "amp_enabled_flag"

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

    .line 65
    const-string/jumbo v10, "sample_adaptive_offset_enabled_flag"

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

    .line 66
    const-string v10, "pcm_enabled_flag"

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

    move-result v10

    .line 68
    .local v10, "pcm_enabled_flag":Z
    if-eqz v10, :cond_d7

    .line 69
    const-string v11, "pcm_sample_bit_depth_luma_minus1"

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

    .line 70
    const-string v11, "pcm_sample_bit_depth_chroma_minus1"

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

    .line 71
    const-string v1, "log2_min_pcm_luma_coding_block_size_minus3"

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

    .line 73
    :cond_d7
    return-void

    .line 45
    .end local v10    # "pcm_enabled_flag":Z
    .local v5, "i":I
    :cond_d8
    new-instance v10, Ljava/lang/StringBuilder;

    const-string/jumbo v11, "sps_max_dec_pic_buffering_minus1["

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

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

    const-string v11, "]"

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

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

    move-result-object v10

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

    move-result v10

    aput v10, v7, v5

    .line 46
    new-instance v10, Ljava/lang/StringBuilder;

    const-string/jumbo v12, "sps_max_num_reorder_pics["

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

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

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

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

    move-result-object v10

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

    move-result v10

    aput v10, v8, v5

    .line 47
    new-instance v10, Ljava/lang/StringBuilder;

    const-string/jumbo v12, "sps_max_latency_increase_plus1["

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

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

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

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

    move-result-object v10

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

    move-result v10

    aput v10, v9, v5

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

    goto/16 :goto_80
.end method

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

    .line 109
    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 110
    const-string v3, "general_tier_flag"

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

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

    new-array v5, v4, [Z

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

    .local v6, "j":I
    :goto_1a
    if-lt v6, v4, :cond_1f1

    .line 116
    .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 117
    const-string v6, "general_interlaced_source_flag"

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

    .line 118
    const-string v6, "general_non_packed_constraint_flag"

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

    .line 119
    const-string v6, "general_frame_only_constraint_flag"

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

    .line 120
    const/16 v7, 0x2c

    const-string v6, "general_reserved_zero_44bits"

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

    .line 121
    invoke-virtual/range {p2 .. p2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readByte()I

    .line 122
    new-array v8, v0, [Z

    .line 123
    .local v8, "sub_layer_profile_present_flag":[Z
    new-array v9, v0, [Z

    .line 124
    .local v9, "sub_layer_level_present_flag":[Z
    const/4 v6, 0x0

    .local v6, "i":I
    :goto_3f
    const-string v10, "]"

    if-lt v6, v0, :cond_1b1

    .line 129
    .end local v6    # "i":I
    const/16 v11, 0x8

    if-lez v0, :cond_69

    .line 130
    new-array v6, v11, [I

    .line 132
    .local v6, "reserved_zero_2bits":[I
    move/from16 v12, p1

    .local v12, "i":I
    :goto_4b
    if-lt v12, v11, :cond_4e

    goto :goto_69

    .line 133
    :cond_4e
    new-instance v13, Ljava/lang/StringBuilder;

    const-string/jumbo v14, "reserved_zero_2bits["

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

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

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

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

    move-result-object v13

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

    move-result v13

    aput v13, v6, v12

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

    goto :goto_4b

    .line 136
    .end local v6    # "reserved_zero_2bits":[I
    .end local v12    # "i":I
    :cond_69
    :goto_69
    new-array v12, v0, [I

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

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

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

    .line 141
    .local v6, "sub_layer_progressive_source_flag":[Z
    new-array v11, v0, [Z

    .line 142
    .local v11, "sub_layer_interlaced_source_flag":[Z
    new-array v7, v0, [Z

    .line 143
    .local v7, "sub_layer_non_packed_constraint_flag":[Z
    new-array v4, v0, [Z

    .line 144
    .local v4, "sub_layer_frame_only_constraint_flag":[Z
    new-array v3, v0, [J

    .line 145
    .local v3, "sub_layer_reserved_zero_44bits":[J
    new-array v2, v0, [I

    .line 148
    .local v2, "sub_layer_level_idc":[I
    const/16 v17, 0x0

    move-object/from16 v18, v5

    move/from16 v5, v17

    .local v5, "i":I
    .local v18, "general_profile_compatibility_flag":[Z
    :goto_92
    if-lt v5, v0, :cond_95

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

    .line 149
    .restart local v5    # "i":I
    :cond_95
    aget-boolean v17, v8, v5

    if-eqz v17, :cond_182

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

    move-object/from16 v17, v8

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

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

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

    invoke-virtual {v0, v10}, 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 v8, 0x2

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

    move-result v0

    aput v0, v12, v5

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

    const-string/jumbo v8, "sub_layer_tier_flag["

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

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

    invoke-virtual {v0, v10}, 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, v5

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

    const-string/jumbo v8, "sub_layer_profile_idc["

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

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

    invoke-virtual {v0, v10}, 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 v8, 0x5

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

    move-result v0

    aput v0, v14, v5

    .line 153
    const/4 v0, 0x0

    .local v0, "j":I
    :goto_e6
    const/16 v8, 0x20

    if-lt v0, v8, :cond_155

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

    const-string/jumbo v8, "sub_layer_progressive_source_flag["

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

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

    invoke-virtual {v0, v10}, 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, v5

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

    const-string/jumbo v8, "sub_layer_interlaced_source_flag["

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

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

    invoke-virtual {v0, v10}, 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, v5

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

    const-string/jumbo v8, "sub_layer_non_packed_constraint_flag["

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

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

    invoke-virtual {v0, v10}, 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, v7, v5

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

    const-string/jumbo v8, "sub_layer_frame_only_constraint_flag["

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

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

    invoke-virtual {v0, v10}, 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, v5

    .line 160
    const/16 v8, 0x2c

    invoke-virtual {v1, v8}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readNBit(I)J

    move-result-wide v19

    aput-wide v19, v3, v5

    move-object/from16 v20, v3

    goto :goto_186

    .line 154
    .restart local v0    # "j":I
    :cond_155
    const/16 v8, 0x2c

    aget-object v16, v15, v5

    new-instance v8, Ljava/lang/StringBuilder;

    move-object/from16 v20, v3

    .end local v3    # "sub_layer_reserved_zero_44bits":[J
    .local v20, "sub_layer_reserved_zero_44bits":[J
    const-string/jumbo v3, "sub_layer_profile_compatibility_flag["

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

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

    const-string v3, "]["

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

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

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

    invoke-virtual {v8}, 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, v16, v0

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

    move-object/from16 v3, v20

    const/4 v8, 0x5

    goto/16 :goto_e6

    .line 149
    .end local v0    # "j":I
    .end local v17    # "sub_layer_profile_present_flag":[Z
    .end local v20    # "sub_layer_reserved_zero_44bits":[J
    .restart local v3    # "sub_layer_reserved_zero_44bits":[J
    .restart local v8    # "sub_layer_profile_present_flag":[Z
    :cond_182
    move-object/from16 v20, v3

    move-object/from16 v17, v8

    .line 162
    .end local v3    # "sub_layer_reserved_zero_44bits":[J
    .end local v8    # "sub_layer_profile_present_flag":[Z
    .restart local v17    # "sub_layer_profile_present_flag":[Z
    .restart local v20    # "sub_layer_reserved_zero_44bits":[J
    :goto_186
    aget-boolean v0, v9, v5

    if-eqz v0, :cond_1a5

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

    const-string/jumbo v3, "sub_layer_level_idc["

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

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

    invoke-virtual {v0, v10}, 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/16 v3, 0x8

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

    move-result v0

    aput v0, v2, v5

    goto :goto_1a7

    .line 162
    :cond_1a5
    const/16 v3, 0x8

    .line 148
    :goto_1a7
    add-int/lit8 v5, v5, 0x1

    move/from16 v0, p1

    move-object/from16 v8, v17

    move-object/from16 v3, v20

    goto/16 :goto_92

    .line 125
    .end local v2    # "sub_layer_level_idc":[I
    .end local v4    # "sub_layer_frame_only_constraint_flag":[Z
    .end local v7    # "sub_layer_non_packed_constraint_flag":[Z
    .end local v11    # "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    # "sub_layer_profile_present_flag":[Z
    .end local v18    # "general_profile_compatibility_flag":[Z
    .end local v20    # "sub_layer_reserved_zero_44bits":[J
    .local v5, "general_profile_compatibility_flag":[Z
    .local v6, "i":I
    .restart local v8    # "sub_layer_profile_present_flag":[Z
    :cond_1b1
    move-object/from16 v18, v5

    move-object/from16 v17, v8

    .end local v5    # "general_profile_compatibility_flag":[Z
    .end local v8    # "sub_layer_profile_present_flag":[Z
    .restart local v17    # "sub_layer_profile_present_flag":[Z
    .restart local v18    # "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, v10}, 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 126
    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, v10}, 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, v6

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

    move/from16 v0, p1

    const/4 v2, 0x2

    const/4 v3, 0x5

    const/16 v4, 0x20

    const/16 v7, 0x2c

    goto/16 :goto_3f

    .line 114
    .end local v9    # "sub_layer_level_present_flag":[Z
    .end local v17    # "sub_layer_profile_present_flag":[Z
    .end local v18    # "general_profile_compatibility_flag":[Z
    .restart local v5    # "general_profile_compatibility_flag":[Z
    .local v6, "j":I
    :cond_1f1
    move-object/from16 v18, v5

    .end local v5    # "general_profile_compatibility_flag":[Z
    .restart local v18    # "general_profile_compatibility_flag":[Z
    invoke-virtual/range {p2 .. p2}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool()Z

    move-result v0

    aput-boolean v0, v18, v6

    .line 113
    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 private scaling_list_data(Lcom/googlecode/mp4parser/h264/read/CAVLCReader;)V
    .registers 16
    .param p1, "bsr"    # Lcom/googlecode/mp4parser/h264/read/CAVLCReader;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 76
    const/4 v0, 0x4

    new-array v1, v0, [[Z

    .line 77
    .local v1, "scaling_list_pred_mode_flag":[[Z
    new-array v2, v0, [[I

    .line 78
    .local v2, "scaling_list_pred_matrix_id_delta":[[I
    const/4 v3, 0x2

    new-array v4, v3, [[I

    .line 79
    .local v4, "scaling_list_dc_coef_minus8":[[I
    new-array v5, v0, [[[I

    .line 81
    .local v5, "ScalingList":[[[I
    const/4 v6, 0x0

    .local v6, "sizeId":I
    :goto_b
    if-lt v6, v0, :cond_e

    .line 105
    .end local v6    # "sizeId":I
    return-void

    .line 82
    .restart local v6    # "sizeId":I
    :cond_e
    const/4 v7, 0x0

    .local v7, "matrixId":I
    :goto_f
    const/4 v8, 0x6

    const/4 v9, 0x3

    if-ne v6, v9, :cond_15

    const/4 v10, 0x2

    goto :goto_16

    :cond_15
    const/4 v10, 0x6

    :goto_16
    if-lt v7, v10, :cond_1b

    .line 81
    .end local v7    # "matrixId":I
    add-int/lit8 v6, v6, 0x1

    goto :goto_b

    .line 83
    .restart local v7    # "matrixId":I
    :cond_1b
    if-ne v6, v9, :cond_1f

    const/4 v10, 0x2

    goto :goto_20

    :cond_1f
    const/4 v10, 0x6

    :goto_20
    new-array v10, v10, [Z

    aput-object v10, v1, v6

    .line 84
    if-ne v6, v9, :cond_28

    const/4 v10, 0x2

    goto :goto_29

    :cond_28
    const/4 v10, 0x6

    :goto_29
    new-array v10, v10, [I

    aput-object v10, v2, v6

    .line 85
    if-ne v6, v9, :cond_30

    const/4 v8, 0x2

    :cond_30
    new-array v8, v8, [[I

    aput-object v8, v5, v6

    .line 86
    aget-object v8, v1, v6

    invoke-virtual {p1}, Lcom/googlecode/mp4parser/h264/read/CAVLCReader;->readBool()Z

    move-result v9

    aput-boolean v9, v8, v7

    .line 87
    aget-object v8, v1, v6

    aget-boolean v8, v8, v7

    const-string v9, "]"

    if-nez v8, :cond_67

    .line 88
    aget-object v8, v2, v6

    new-instance v10, Ljava/lang/StringBuilder;

    const-string/jumbo v11, "scaling_list_pred_matrix_id_delta["

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

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

    const-string v11, "]["

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

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

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

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

    move-result-object v9

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

    move-result v9

    aput v9, v8, v7

    .line 89
    goto :goto_ac

    .line 90
    :cond_67
    const/16 v8, 0x8

    .line 91
    .local v8, "nextCoef":I
    const/16 v10, 0x40

    shl-int/lit8 v11, v6, 0x1

    add-int/2addr v11, v0

    const/4 v12, 0x1

    shl-int v11, v12, v11

    invoke-static {v10, v11}, Ljava/lang/Math;->min(II)I

    move-result v10

    .line 92
    .local v10, "coefNum":I
    if-le v6, v12, :cond_a3

    .line 93
    add-int/lit8 v11, v6, -0x2

    aget-object v11, v4, v11

    new-instance v12, Ljava/lang/StringBuilder;

    const-string/jumbo v13, "scaling_list_dc_coef_minus8["

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

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

    const-string v13, "- 2]["

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

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

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

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

    move-result-object v9

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

    move-result v9

    aput v9, v11, v7

    .line 94
    add-int/lit8 v9, v6, -0x2

    aget-object v9, v4, v9

    aget v9, v9, v7

    add-int/lit8 v8, v9, 0x8

    .line 96
    :cond_a3
    aget-object v9, v5, v6

    new-array v11, v10, [I

    aput-object v11, v9, v7

    .line 97
    const/4 v9, 0x0

    .local v9, "i":I
    :goto_aa
    if-lt v9, v10, :cond_b0

    .line 82
    .end local v8    # "nextCoef":I
    .end local v9    # "i":I
    .end local v10    # "coefNum":I
    :goto_ac
    add-int/lit8 v7, v7, 0x1

    goto/16 :goto_f

    .line 98
    .restart local v8    # "nextCoef":I
    .restart local v9    # "i":I
    .restart local v10    # "coefNum":I
    :cond_b0
    const-string/jumbo v11, "scaling_list_delta_coef "

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

    move-result v11

    .line 99
    .local v11, "scaling_list_delta_coef":I
    add-int v12, v8, v11

    add-int/lit16 v12, v12, 0x100

    rem-int/lit16 v8, v12, 0x100

    .line 100
    aget-object v12, v5, v6

    aget-object v12, v12, v7

    aput v8, v12, v9

    .line 97
    .end local v11    # "scaling_list_delta_coef":I
    add-int/lit8 v9, v9, 0x1

    goto :goto_aa
.end method