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