Parse 'max num reorder samples' values from h.264 and h.265 videos

This value is used in a follow-up change to re-order SEI messages
containing CEA-6/708 data from decode order to presentation order.

PiperOrigin-RevId: 643296338
This commit is contained in:
ibaker 2024-06-14 03:28:29 -07:00 committed by Copybara-Service
parent 174c49313c
commit 93af537af7
181 changed files with 1685 additions and 6 deletions

View File

@ -158,6 +158,7 @@ public final class Format {
@Nullable private String sampleMimeType;
private int maxInputSize;
private int maxNumReorderSamples;
@Nullable private List<byte[]> initializationData;
@Nullable private DrmInitData drmInitData;
private long subsampleOffsetUs;
@ -202,6 +203,7 @@ public final class Format {
peakBitrate = NO_VALUE;
// Sample specific.
maxInputSize = NO_VALUE;
maxNumReorderSamples = NO_VALUE;
subsampleOffsetUs = OFFSET_SAMPLE_RELATIVE;
// Video specific.
width = NO_VALUE;
@ -244,6 +246,7 @@ public final class Format {
// Sample specific.
this.sampleMimeType = format.sampleMimeType;
this.maxInputSize = format.maxInputSize;
this.maxNumReorderSamples = format.maxNumReorderSamples;
this.initializationData = format.initializationData;
this.drmInitData = format.drmInitData;
this.subsampleOffsetUs = format.subsampleOffsetUs;
@ -451,6 +454,18 @@ public final class Format {
return this;
}
/**
* Sets {@link Format#maxNumReorderSamples}. The default value is {@link #NO_VALUE}.
*
* @param maxNumReorderSamples {@link Format#maxNumReorderSamples}.
* @return The builder.
*/
@CanIgnoreReturnValue
public Builder setMaxNumReorderSamples(int maxNumReorderSamples) {
this.maxNumReorderSamples = maxNumReorderSamples;
return this;
}
/**
* Sets {@link Format#initializationData}. The default value is {@code null}.
*
@ -862,6 +877,12 @@ public final class Format {
*/
@UnstableApi public final int maxInputSize;
/**
* The maximum number of samples that must be stored to correctly re-order samples from decode
* order to presentation order.
*/
@UnstableApi public final int maxNumReorderSamples;
/**
* Initialization data that must be provided to the decoder. Will not be null, but may be empty if
* initialization data is not required.
@ -1005,6 +1026,7 @@ public final class Format {
// Sample specific.
sampleMimeType = builder.sampleMimeType;
maxInputSize = builder.maxInputSize;
maxNumReorderSamples = builder.maxNumReorderSamples;
initializationData =
builder.initializationData == null ? Collections.emptyList() : builder.initializationData;
drmInitData = builder.drmInitData;

View File

@ -15,6 +15,7 @@
*/
package androidx.media3.container;
import static java.lang.Math.max;
import static java.lang.Math.min;
import androidx.annotation.Nullable;
@ -80,6 +81,7 @@ public final class NalUnitUtil {
public final @C.ColorSpace int colorSpace;
public final @C.ColorRange int colorRange;
public final @C.ColorTransfer int colorTransfer;
public final int maxNumReorderFrames;
public SpsData(
int profileIdc,
@ -100,7 +102,8 @@ public final class NalUnitUtil {
boolean deltaPicOrderAlwaysZeroFlag,
@C.ColorSpace int colorSpace,
@C.ColorRange int colorRange,
@C.ColorTransfer int colorTransfer) {
@C.ColorTransfer int colorTransfer,
int maxNumReorderFrames) {
this.profileIdc = profileIdc;
this.constraintsFlagsAndReservedZero2Bits = constraintsFlagsAndReservedZero2Bits;
this.levelIdc = levelIdc;
@ -120,6 +123,7 @@ public final class NalUnitUtil {
this.colorSpace = colorSpace;
this.colorRange = colorRange;
this.colorTransfer = colorTransfer;
this.maxNumReorderFrames = maxNumReorderFrames;
}
}
@ -139,6 +143,7 @@ public final class NalUnitUtil {
public final int width;
public final int height;
public final float pixelWidthHeightRatio;
public final int maxNumReorderPics;
public final @C.ColorSpace int colorSpace;
public final @C.ColorRange int colorRange;
public final @C.ColorTransfer int colorTransfer;
@ -157,6 +162,7 @@ public final class NalUnitUtil {
int width,
int height,
float pixelWidthHeightRatio,
int maxNumReorderPics,
@C.ColorSpace int colorSpace,
@C.ColorRange int colorRange,
@C.ColorTransfer int colorTransfer) {
@ -173,6 +179,7 @@ public final class NalUnitUtil {
this.width = width;
this.height = height;
this.pixelWidthHeightRatio = pixelWidthHeightRatio;
this.maxNumReorderPics = maxNumReorderPics;
this.colorSpace = colorSpace;
this.colorRange = colorRange;
this.colorTransfer = colorTransfer;
@ -477,8 +484,21 @@ public final class NalUnitUtil {
@C.ColorRange int colorRange = Format.NO_VALUE;
@C.ColorTransfer int colorTransfer = Format.NO_VALUE;
float pixelWidthHeightRatio = 1;
boolean vuiParametersPresentFlag = data.readBit();
if (vuiParametersPresentFlag) {
// Initialize to the default value defined in section E.2.1 of the H.264 spec. Precisely
// calculating MaxDpbFrames is complicated, so we short-circuit to the max value of 16 here
// instead.
int maxNumReorderFrames =
(profileIdc == 44
|| profileIdc == 86
|| profileIdc == 100
|| profileIdc == 110
|| profileIdc == 122
|| profileIdc == 244)
&& ((constraintsFlagsAndReservedZero2Bits & 0x10) != 0)
? 0
: 16;
if (data.readBit()) { // vui_parameters_present_flag
// Section E.1.1: VUI parameters syntax
boolean aspectRatioInfoPresentFlag = data.readBit();
if (aspectRatioInfoPresentFlag) {
int aspectRatioIdc = data.readBits(8);
@ -511,6 +531,34 @@ public final class NalUnitUtil {
ColorInfo.isoTransferCharacteristicsToColorTransfer(transferCharacteristics);
}
}
if (data.readBit()) { // chroma_loc_info_present_flag
data.readUnsignedExpGolombCodedInt(); // chroma_sample_loc_type_top_field
data.readUnsignedExpGolombCodedInt(); // chroma_sample_loc_type_bottom_field
}
if (data.readBit()) { // timing_info_present_flag
data.skipBits(65); // num_units_in_tick (32), time_scale (32), fixed_frame_rate_flag (1)
}
boolean nalHrdParametersPresent = data.readBit(); // nal_hrd_parameters_present_flag
if (nalHrdParametersPresent) {
skipHrdParameters(data);
}
boolean vclHrdParametersPresent = data.readBit(); // vcl_hrd_parameters_present_flag
if (vclHrdParametersPresent) {
skipHrdParameters(data);
}
if (nalHrdParametersPresent || vclHrdParametersPresent) {
data.skipBit(); // low_delay_hrd_flag
}
data.skipBit(); // pic_struct_present_flag
if (data.readBit()) { // bitstream_restriction_flag
data.skipBit(); // motion_vectors_over_pic_boundaries_flag
data.readUnsignedExpGolombCodedInt(); // max_bytes_per_pic_denom
data.readUnsignedExpGolombCodedInt(); // max_bits_per_mb_denom
data.readUnsignedExpGolombCodedInt(); // log2_max_mv_length_horizontal
data.readUnsignedExpGolombCodedInt(); // log2_max_mv_length_vertical
maxNumReorderFrames = data.readUnsignedExpGolombCodedInt(); // max_num_reorder_frames
data.readUnsignedExpGolombCodedInt(); // max_dec_frame_buffering
}
}
return new SpsData(
@ -532,7 +580,8 @@ public final class NalUnitUtil {
deltaPicOrderAlwaysZeroFlag,
colorSpace,
colorRange,
colorTransfer);
colorTransfer,
maxNumReorderFrames);
}
/**
@ -611,10 +660,12 @@ public final class NalUnitUtil {
int bitDepthLumaMinus8 = data.readUnsignedExpGolombCodedInt();
int bitDepthChromaMinus8 = data.readUnsignedExpGolombCodedInt();
int log2MaxPicOrderCntLsbMinus4 = data.readUnsignedExpGolombCodedInt();
int maxNumReorderPics = -1;
// for (i = sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1; ...)
for (int i = data.readBit() ? 0 : maxSubLayersMinus1; i <= maxSubLayersMinus1; i++) {
data.readUnsignedExpGolombCodedInt(); // sps_max_dec_pic_buffering_minus1[i]
data.readUnsignedExpGolombCodedInt(); // sps_max_num_reorder_pics[i]
// sps_max_num_reorder_pics[i]
maxNumReorderPics = max(data.readUnsignedExpGolombCodedInt(), maxNumReorderPics);
data.readUnsignedExpGolombCodedInt(); // sps_max_latency_increase_plus1[i]
}
data.readUnsignedExpGolombCodedInt(); // log2_min_luma_coding_block_size_minus3
@ -708,6 +759,7 @@ public final class NalUnitUtil {
frameWidth,
frameHeight,
pixelWidthHeightRatio,
maxNumReorderPics,
colorSpace,
colorRange,
colorTransfer);
@ -855,6 +907,22 @@ public final class NalUnitUtil {
}
}
/** Skip HRD parameters in {@code data}, as defined in E.1.2 of the H.264 spec. */
private static void skipHrdParameters(ParsableNalUnitBitArray data) {
int codedPictureBufferCount = data.readUnsignedExpGolombCodedInt() + 1; // cpb_cnt_minus1
data.skipBits(8); // bit_rate_scale (4), cpb_size_scale (4)
for (int i = 0; i < codedPictureBufferCount; i++) {
data.readUnsignedExpGolombCodedInt(); // bit_rate_value_minus1[i]
data.readUnsignedExpGolombCodedInt(); // cpb_size_value_minus1[i]
data.skipBit(); // cbr_flag[i]
}
// initial_cpb_removal_delay_length_minus1 (5)
// cpb_removal_delay_length_minus1 (5)
// dpb_output_delay_length_minus1 (5)
// time_offset_length (5)
data.skipBits(20);
}
private static void skipH265ScalingList(ParsableNalUnitBitArray bitArray) {
for (int sizeId = 0; sizeId < 4; sizeId++) {
for (int matrixId = 0; matrixId < 6; matrixId += sizeId == 3 ? 3 : 1) {

View File

@ -34,7 +34,7 @@ public final class NalUnitUtilTest {
private static final byte[] SPS_TEST_DATA =
createByteArray(
0x00, 0x00, 0x01, 0x67, 0x4D, 0x40, 0x16, 0xEC, 0xA0, 0x50, 0x17, 0xFC, 0xB8, 0x0A, 0x90,
0x91, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x0F, 0x47, 0x8B, 0x16, 0xCB);
0x91, 0x00, 0x00, 0x7E, 0xA0);
private static final int SPS_TEST_DATA_OFFSET = 3;
@Test
@ -140,6 +140,7 @@ public final class NalUnitUtilTest {
assertThat(data.colorSpace).isEqualTo(6);
assertThat(data.colorRange).isEqualTo(2);
assertThat(data.colorTransfer).isEqualTo(6);
assertThat(data.maxNumReorderFrames).isEqualTo(1);
}
@Test
@ -200,6 +201,7 @@ public final class NalUnitUtilTest {
assertThat(spsData.colorSpace).isEqualTo(6);
assertThat(spsData.colorRange).isEqualTo(2);
assertThat(spsData.colorTransfer).isEqualTo(6);
assertThat(spsData.maxNumReorderPics).isEqualTo(2);
}
/** Regression test for [Internal: b/292170736]. */
@ -231,6 +233,7 @@ public final class NalUnitUtilTest {
assertThat(spsData.colorSpace).isEqualTo(6);
assertThat(spsData.colorRange).isEqualTo(2);
assertThat(spsData.colorTransfer).isEqualTo(6);
assertThat(spsData.maxNumReorderPics).isEqualTo(0);
}
private static byte[] buildTestData() {

View File

@ -65,6 +65,8 @@ public final class AvcConfig {
@C.ColorTransfer int colorTransfer = Format.NO_VALUE;
float pixelWidthHeightRatio = 1;
@Nullable String codecs = null;
// Max possible value defined in section E.2.1 of the H.264 spec.
int maxNumReorderFrames = 16;
if (numSequenceParameterSets > 0) {
byte[] sps = initializationData.get(0);
SpsData spsData =
@ -77,6 +79,7 @@ public final class AvcConfig {
colorSpace = spsData.colorSpace;
colorRange = spsData.colorRange;
colorTransfer = spsData.colorTransfer;
maxNumReorderFrames = spsData.maxNumReorderFrames;
pixelWidthHeightRatio = spsData.pixelWidthHeightRatio;
codecs =
CodecSpecificDataUtil.buildAvcCodecString(
@ -93,6 +96,7 @@ public final class AvcConfig {
colorSpace,
colorRange,
colorTransfer,
maxNumReorderFrames,
pixelWidthHeightRatio,
codecs);
} catch (ArrayIndexOutOfBoundsException e) {
@ -138,6 +142,12 @@ public final class AvcConfig {
*/
public final @C.ColorTransfer int colorTransfer;
/**
* The value of {@code max_num_reorder_frames} read from the VUI parameters, or inferred according
* to the spec if absent.
*/
public final int maxNumReorderFrames;
/** The pixel width to height ratio. */
public final float pixelWidthHeightRatio;
@ -158,6 +168,7 @@ public final class AvcConfig {
@C.ColorSpace int colorSpace,
@C.ColorRange int colorRange,
@C.ColorTransfer int colorTransfer,
int maxNumReorderFrames,
float pixelWidthHeightRatio,
@Nullable String codecs) {
this.initializationData = initializationData;
@ -169,6 +180,7 @@ public final class AvcConfig {
this.colorSpace = colorSpace;
this.colorRange = colorRange;
this.colorTransfer = colorTransfer;
this.maxNumReorderFrames = maxNumReorderFrames;
this.pixelWidthHeightRatio = pixelWidthHeightRatio;
this.codecs = codecs;
}

View File

@ -69,6 +69,7 @@ public final class HevcConfig {
@C.ColorRange int colorRange = Format.NO_VALUE;
@C.ColorTransfer int colorTransfer = Format.NO_VALUE;
float pixelWidthHeightRatio = 1;
int maxNumReorderPics = Format.NO_VALUE;
@Nullable String codecs = null;
for (int i = 0; i < numberOfArrays; i++) {
int nalUnitType =
@ -97,6 +98,8 @@ public final class HevcConfig {
colorRange = spsData.colorRange;
colorTransfer = spsData.colorTransfer;
pixelWidthHeightRatio = spsData.pixelWidthHeightRatio;
maxNumReorderPics = spsData.maxNumReorderPics;
codecs =
CodecSpecificDataUtil.buildHevcCodecString(
spsData.generalProfileSpace,
@ -124,6 +127,7 @@ public final class HevcConfig {
colorRange,
colorTransfer,
pixelWidthHeightRatio,
maxNumReorderPics,
codecs);
} catch (ArrayIndexOutOfBoundsException e) {
throw ParserException.createForMalformedContainer("Error parsing HEVC config", e);
@ -173,6 +177,15 @@ public final class HevcConfig {
/** The pixel width to height ratio. */
public final float pixelWidthHeightRatio;
/**
* The {@code sps_max_num_reorder_pics} value.
*
* <p>If a different value is present for each layer (due to {@code
* sps_sub_layer_ordering_info_present_flag}), this value is the max of the values for all the
* layers.
*/
public final int maxNumReorderPics;
/**
* An RFC 6381 codecs string representing the video format, or {@code null} if not known.
*
@ -191,6 +204,7 @@ public final class HevcConfig {
@C.ColorRange int colorRange,
@C.ColorTransfer int colorTransfer,
float pixelWidthHeightRatio,
int maxNumReorderPics,
@Nullable String codecs) {
this.initializationData = initializationData;
this.nalUnitLengthFieldLength = nalUnitLengthFieldLength;
@ -202,6 +216,7 @@ public final class HevcConfig {
this.colorRange = colorRange;
this.colorTransfer = colorTransfer;
this.pixelWidthHeightRatio = pixelWidthHeightRatio;
this.maxNumReorderPics = maxNumReorderPics;
this.codecs = codecs;
}
}

View File

@ -1153,6 +1153,7 @@ import java.util.Objects;
@Nullable byte[] projectionData = null;
@C.StereoMode int stereoMode = Format.NO_VALUE;
@Nullable EsdsData esdsData = null;
int maxNumReorderSamples = Format.NO_VALUE;
// HDR related metadata.
@C.ColorSpace int colorSpace = Format.NO_VALUE;
@ -1182,6 +1183,7 @@ import java.util.Objects;
pixelWidthHeightRatio = avcConfig.pixelWidthHeightRatio;
}
codecs = avcConfig.codecs;
maxNumReorderSamples = avcConfig.maxNumReorderFrames;
colorSpace = avcConfig.colorSpace;
colorRange = avcConfig.colorRange;
colorTransfer = avcConfig.colorTransfer;
@ -1197,6 +1199,7 @@ import java.util.Objects;
if (!pixelWidthHeightRatioFromPasp) {
pixelWidthHeightRatio = hevcConfig.pixelWidthHeightRatio;
}
maxNumReorderSamples = hevcConfig.maxNumReorderPics;
codecs = hevcConfig.codecs;
colorSpace = hevcConfig.colorSpace;
colorRange = hevcConfig.colorRange;
@ -1367,6 +1370,7 @@ import java.util.Objects;
.setProjectionData(projectionData)
.setStereoMode(stereoMode)
.setInitializationData(initializationData)
.setMaxNumReorderSamples(maxNumReorderSamples)
.setDrmInitData(drmInitData)
// Note that if either mdcv or clli are missing, we leave the corresponding HDR static
// metadata bytes with value zero. See [Internal ref: b/194535665].

View File

@ -228,6 +228,7 @@ public final class H264Reader implements ElementaryStreamReader {
.build())
.setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio)
.setInitializationData(initializationData)
.setMaxNumReorderSamples(spsData.maxNumReorderFrames)
.build());
hasOutputFormat = true;
sampleReader.putSps(spsData);

View File

@ -272,6 +272,7 @@ public final class H265Reader implements ElementaryStreamReader {
.setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8)
.build())
.setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio)
.setMaxNumReorderSamples(spsData.maxNumReorderPics)
.setInitializationData(Collections.singletonList(csdData))
.build();
}

View File

@ -258,6 +258,14 @@ public final class Mp4ExtractorParameterizedTest {
simulationConfig);
}
@Test
public void mp4SampleWithNoMaxNumReorderFramesValue() throws Exception {
ExtractorAsserts.assertBehavior(
getExtractorFactory(subtitlesParsedDuringExtraction),
"media/mp4/bt601.mov",
simulationConfig);
}
private static ExtractorAsserts.ExtractorFactory getExtractorFactory(
boolean subtitlesParsedDuringExtraction) {
SubtitleParser.Factory subtitleParserFactory;

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -268,6 +269,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -212,6 +213,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -128,6 +129,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -44,6 +45,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64000A
maxInputSize = 3895
maxNumReorderSamples = 2
width = 180
height = 120
frameRate = 1.1534026

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64000A
maxInputSize = 3895
maxNumReorderSamples = 2
width = 180
height = 120
frameRate = 1.1534026

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64000A
maxInputSize = 3895
maxNumReorderSamples = 2
width = 180
height = 120
frameRate = 1.1534026

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64000A
maxInputSize = 3895
maxNumReorderSamples = 2
width = 180
height = 120
frameRate = 1.1534026

View File

@ -0,0 +1,338 @@
seekMap:
isSeekable = true
duration = 1020100
getPosition(0) = [[timeUs=0, position=36]]
getPosition(1) = [[timeUs=0, position=36]]
getPosition(510050) = [[timeUs=0, position=36]]
getPosition(1020100) = [[timeUs=0, position=36]]
numberOfTracks = 2
track 0:
total output bytes = 9294
sample count = 43
format 0:
peakBitrate = 200000
id = 1
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67219
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90439
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113659
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136879
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160099
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183319
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206539
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229759
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 252979
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276199
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299419
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322639
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345859
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369079
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392299
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415519
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438739
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 461959
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485179
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508399
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531619
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 554839
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578058
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601278
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624498
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647718
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 670938
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694158
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717378
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740598
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 763818
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787038
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810258
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833478
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 856698
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 879918
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903138
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926358
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949578
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 972798
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996018
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019238
flags = 536870913
data = length 235, hash 999477F6
track 1:
total output bytes = 130926
sample count = 30
format 0:
id = 2
sampleMimeType = video/avc
codecs = avc1.4D001E
maxInputSize = 25345
maxNumReorderSamples = 16
width = 640
height = 428
frameRate = 29.408882
colorInfo:
colorSpace = 2
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 19, hash D3863A4C
data = length 8, hash 9464788C
sample 0:
time = 0
flags = 1
data = length 25315, hash 4F94DFD9
sample 1:
time = 66733
flags = 0
data = length 2974, hash CE870018
sample 2:
time = 33366
flags = 0
data = length 520, hash 755D4D65
sample 3:
time = 133466
flags = 0
data = length 5849, hash 62ABA3A6
sample 4:
time = 100100
flags = 0
data = length 665, hash 5B3919F5
sample 5:
time = 200200
flags = 0
data = length 4934, hash EA186643
sample 6:
time = 166833
flags = 0
data = length 1006, hash 50307604
sample 7:
time = 266933
flags = 0
data = length 7081, hash B3F2E23A
sample 8:
time = 233566
flags = 0
data = length 635, hash B197BCDB
sample 9:
time = 333666
flags = 0
data = length 6589, hash C7FAA564
sample 10:
time = 300300
flags = 0
data = length 650, hash A3AFA416
sample 11:
time = 400400
flags = 0
data = length 8533, hash 4951EBBA
sample 12:
time = 367033
flags = 0
data = length 758, hash EAF337EE
sample 13:
time = 467133
flags = 0
data = length 11584, hash 13DE8D1D
sample 14:
time = 433766
flags = 0
data = length 2163, hash 1EB6F423
sample 15:
time = 533866
flags = 0
data = length 5286, hash 2FF4E597
sample 16:
time = 500500
flags = 0
data = length 1365, hash 2740F6BA
sample 17:
time = 600600
flags = 0
data = length 10250, hash 4C4C05E9
sample 18:
time = 567233
flags = 0
data = length 1203, hash 194F1FD6
sample 19:
time = 667333
flags = 0
data = length 7373, hash D00D482
sample 20:
time = 633966
flags = 0
data = length 1261, hash ED32D57D
sample 21:
time = 734066
flags = 0
data = length 6347, hash 2B6EB74D
sample 22:
time = 700700
flags = 0
data = length 833, hash 81BC5D34
sample 23:
time = 800800
flags = 0
data = length 5538, hash 9951853
sample 24:
time = 767433
flags = 0
data = length 657, hash 6EBAC33A
sample 25:
time = 867533
flags = 0
data = length 4109, hash 42BE3B2F
sample 26:
time = 834166
flags = 0
data = length 789, hash D766C08
sample 27:
time = 934266
flags = 0
data = length 3108, hash 1C48E56B
sample 28:
time = 900900
flags = 0
data = length 541, hash B429D47
sample 29:
time = 967633
flags = 536870912
data = length 3010, hash 1FC94085
tracksEnded = true

View File

@ -0,0 +1,290 @@
seekMap:
isSeekable = true
duration = 1020100
getPosition(0) = [[timeUs=0, position=36]]
getPosition(1) = [[timeUs=0, position=36]]
getPosition(510050) = [[timeUs=0, position=36]]
getPosition(1020100) = [[timeUs=0, position=36]]
numberOfTracks = 2
track 0:
total output bytes = 7229
sample count = 31
format 0:
peakBitrate = 200000
id = 1
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 322639
flags = 1
data = length 229, hash 2E8BA4DC
sample 1:
time = 345859
flags = 1
data = length 232, hash 22F0C510
sample 2:
time = 369079
flags = 1
data = length 235, hash 867AD0DC
sample 3:
time = 392299
flags = 1
data = length 231, hash 84E823A8
sample 4:
time = 415519
flags = 1
data = length 226, hash 1BEF3A95
sample 5:
time = 438739
flags = 1
data = length 216, hash EAA345AE
sample 6:
time = 461959
flags = 1
data = length 229, hash 6957411F
sample 7:
time = 485179
flags = 1
data = length 219, hash 41275022
sample 8:
time = 508399
flags = 1
data = length 241, hash 6495DF96
sample 9:
time = 531619
flags = 1
data = length 228, hash 63D95906
sample 10:
time = 554839
flags = 1
data = length 238, hash 34F676F9
sample 11:
time = 578058
flags = 1
data = length 234, hash E5CBC045
sample 12:
time = 601278
flags = 1
data = length 231, hash 5FC43661
sample 13:
time = 624498
flags = 1
data = length 217, hash 682708ED
sample 14:
time = 647718
flags = 1
data = length 239, hash D43780FC
sample 15:
time = 670938
flags = 1
data = length 243, hash C5E17980
sample 16:
time = 694158
flags = 1
data = length 231, hash AC5837BA
sample 17:
time = 717378
flags = 1
data = length 230, hash 169EE895
sample 18:
time = 740598
flags = 1
data = length 238, hash C48FF3F1
sample 19:
time = 763818
flags = 1
data = length 225, hash 531E4599
sample 20:
time = 787038
flags = 1
data = length 232, hash CB3C6B8D
sample 21:
time = 810258
flags = 1
data = length 243, hash F8C94C7
sample 22:
time = 833478
flags = 1
data = length 232, hash A646A7D0
sample 23:
time = 856698
flags = 1
data = length 237, hash E8B787A5
sample 24:
time = 879918
flags = 1
data = length 228, hash 3FA7A29F
sample 25:
time = 903138
flags = 1
data = length 235, hash B9B33B0A
sample 26:
time = 926358
flags = 1
data = length 264, hash 71A4869E
sample 27:
time = 949578
flags = 1
data = length 257, hash D049B54C
sample 28:
time = 972798
flags = 1
data = length 227, hash 66757231
sample 29:
time = 996018
flags = 1
data = length 227, hash BD374F1B
sample 30:
time = 1019238
flags = 536870913
data = length 235, hash 999477F6
track 1:
total output bytes = 130926
sample count = 30
format 0:
id = 2
sampleMimeType = video/avc
codecs = avc1.4D001E
maxInputSize = 25345
maxNumReorderSamples = 16
width = 640
height = 428
frameRate = 29.408882
colorInfo:
colorSpace = 2
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 19, hash D3863A4C
data = length 8, hash 9464788C
sample 0:
time = 0
flags = 1
data = length 25315, hash 4F94DFD9
sample 1:
time = 66733
flags = 0
data = length 2974, hash CE870018
sample 2:
time = 33366
flags = 0
data = length 520, hash 755D4D65
sample 3:
time = 133466
flags = 0
data = length 5849, hash 62ABA3A6
sample 4:
time = 100100
flags = 0
data = length 665, hash 5B3919F5
sample 5:
time = 200200
flags = 0
data = length 4934, hash EA186643
sample 6:
time = 166833
flags = 0
data = length 1006, hash 50307604
sample 7:
time = 266933
flags = 0
data = length 7081, hash B3F2E23A
sample 8:
time = 233566
flags = 0
data = length 635, hash B197BCDB
sample 9:
time = 333666
flags = 0
data = length 6589, hash C7FAA564
sample 10:
time = 300300
flags = 0
data = length 650, hash A3AFA416
sample 11:
time = 400400
flags = 0
data = length 8533, hash 4951EBBA
sample 12:
time = 367033
flags = 0
data = length 758, hash EAF337EE
sample 13:
time = 467133
flags = 0
data = length 11584, hash 13DE8D1D
sample 14:
time = 433766
flags = 0
data = length 2163, hash 1EB6F423
sample 15:
time = 533866
flags = 0
data = length 5286, hash 2FF4E597
sample 16:
time = 500500
flags = 0
data = length 1365, hash 2740F6BA
sample 17:
time = 600600
flags = 0
data = length 10250, hash 4C4C05E9
sample 18:
time = 567233
flags = 0
data = length 1203, hash 194F1FD6
sample 19:
time = 667333
flags = 0
data = length 7373, hash D00D482
sample 20:
time = 633966
flags = 0
data = length 1261, hash ED32D57D
sample 21:
time = 734066
flags = 0
data = length 6347, hash 2B6EB74D
sample 22:
time = 700700
flags = 0
data = length 833, hash 81BC5D34
sample 23:
time = 800800
flags = 0
data = length 5538, hash 9951853
sample 24:
time = 767433
flags = 0
data = length 657, hash 6EBAC33A
sample 25:
time = 867533
flags = 0
data = length 4109, hash 42BE3B2F
sample 26:
time = 834166
flags = 0
data = length 789, hash D766C08
sample 27:
time = 934266
flags = 0
data = length 3108, hash 1C48E56B
sample 28:
time = 900900
flags = 0
data = length 541, hash B429D47
sample 29:
time = 967633
flags = 536870912
data = length 3010, hash 1FC94085
tracksEnded = true

View File

@ -0,0 +1,230 @@
seekMap:
isSeekable = true
duration = 1020100
getPosition(0) = [[timeUs=0, position=36]]
getPosition(1) = [[timeUs=0, position=36]]
getPosition(510050) = [[timeUs=0, position=36]]
getPosition(1020100) = [[timeUs=0, position=36]]
numberOfTracks = 2
track 0:
total output bytes = 3784
sample count = 16
format 0:
peakBitrate = 200000
id = 1
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 670938
flags = 1
data = length 243, hash C5E17980
sample 1:
time = 694158
flags = 1
data = length 231, hash AC5837BA
sample 2:
time = 717378
flags = 1
data = length 230, hash 169EE895
sample 3:
time = 740598
flags = 1
data = length 238, hash C48FF3F1
sample 4:
time = 763818
flags = 1
data = length 225, hash 531E4599
sample 5:
time = 787038
flags = 1
data = length 232, hash CB3C6B8D
sample 6:
time = 810258
flags = 1
data = length 243, hash F8C94C7
sample 7:
time = 833478
flags = 1
data = length 232, hash A646A7D0
sample 8:
time = 856698
flags = 1
data = length 237, hash E8B787A5
sample 9:
time = 879918
flags = 1
data = length 228, hash 3FA7A29F
sample 10:
time = 903138
flags = 1
data = length 235, hash B9B33B0A
sample 11:
time = 926358
flags = 1
data = length 264, hash 71A4869E
sample 12:
time = 949578
flags = 1
data = length 257, hash D049B54C
sample 13:
time = 972798
flags = 1
data = length 227, hash 66757231
sample 14:
time = 996018
flags = 1
data = length 227, hash BD374F1B
sample 15:
time = 1019238
flags = 536870913
data = length 235, hash 999477F6
track 1:
total output bytes = 130926
sample count = 30
format 0:
id = 2
sampleMimeType = video/avc
codecs = avc1.4D001E
maxInputSize = 25345
maxNumReorderSamples = 16
width = 640
height = 428
frameRate = 29.408882
colorInfo:
colorSpace = 2
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 19, hash D3863A4C
data = length 8, hash 9464788C
sample 0:
time = 0
flags = 1
data = length 25315, hash 4F94DFD9
sample 1:
time = 66733
flags = 0
data = length 2974, hash CE870018
sample 2:
time = 33366
flags = 0
data = length 520, hash 755D4D65
sample 3:
time = 133466
flags = 0
data = length 5849, hash 62ABA3A6
sample 4:
time = 100100
flags = 0
data = length 665, hash 5B3919F5
sample 5:
time = 200200
flags = 0
data = length 4934, hash EA186643
sample 6:
time = 166833
flags = 0
data = length 1006, hash 50307604
sample 7:
time = 266933
flags = 0
data = length 7081, hash B3F2E23A
sample 8:
time = 233566
flags = 0
data = length 635, hash B197BCDB
sample 9:
time = 333666
flags = 0
data = length 6589, hash C7FAA564
sample 10:
time = 300300
flags = 0
data = length 650, hash A3AFA416
sample 11:
time = 400400
flags = 0
data = length 8533, hash 4951EBBA
sample 12:
time = 367033
flags = 0
data = length 758, hash EAF337EE
sample 13:
time = 467133
flags = 0
data = length 11584, hash 13DE8D1D
sample 14:
time = 433766
flags = 0
data = length 2163, hash 1EB6F423
sample 15:
time = 533866
flags = 0
data = length 5286, hash 2FF4E597
sample 16:
time = 500500
flags = 0
data = length 1365, hash 2740F6BA
sample 17:
time = 600600
flags = 0
data = length 10250, hash 4C4C05E9
sample 18:
time = 567233
flags = 0
data = length 1203, hash 194F1FD6
sample 19:
time = 667333
flags = 0
data = length 7373, hash D00D482
sample 20:
time = 633966
flags = 0
data = length 1261, hash ED32D57D
sample 21:
time = 734066
flags = 0
data = length 6347, hash 2B6EB74D
sample 22:
time = 700700
flags = 0
data = length 833, hash 81BC5D34
sample 23:
time = 800800
flags = 0
data = length 5538, hash 9951853
sample 24:
time = 767433
flags = 0
data = length 657, hash 6EBAC33A
sample 25:
time = 867533
flags = 0
data = length 4109, hash 42BE3B2F
sample 26:
time = 834166
flags = 0
data = length 789, hash D766C08
sample 27:
time = 934266
flags = 0
data = length 3108, hash 1C48E56B
sample 28:
time = 900900
flags = 0
data = length 541, hash B429D47
sample 29:
time = 967633
flags = 536870912
data = length 3010, hash 1FC94085
tracksEnded = true

View File

@ -0,0 +1,170 @@
seekMap:
isSeekable = true
duration = 1020100
getPosition(0) = [[timeUs=0, position=36]]
getPosition(1) = [[timeUs=0, position=36]]
getPosition(510050) = [[timeUs=0, position=36]]
getPosition(1020100) = [[timeUs=0, position=36]]
numberOfTracks = 2
track 0:
total output bytes = 235
sample count = 1
format 0:
peakBitrate = 200000
id = 1
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 1019238
flags = 536870913
data = length 235, hash 999477F6
track 1:
total output bytes = 130926
sample count = 30
format 0:
id = 2
sampleMimeType = video/avc
codecs = avc1.4D001E
maxInputSize = 25345
maxNumReorderSamples = 16
width = 640
height = 428
frameRate = 29.408882
colorInfo:
colorSpace = 2
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 19, hash D3863A4C
data = length 8, hash 9464788C
sample 0:
time = 0
flags = 1
data = length 25315, hash 4F94DFD9
sample 1:
time = 66733
flags = 0
data = length 2974, hash CE870018
sample 2:
time = 33366
flags = 0
data = length 520, hash 755D4D65
sample 3:
time = 133466
flags = 0
data = length 5849, hash 62ABA3A6
sample 4:
time = 100100
flags = 0
data = length 665, hash 5B3919F5
sample 5:
time = 200200
flags = 0
data = length 4934, hash EA186643
sample 6:
time = 166833
flags = 0
data = length 1006, hash 50307604
sample 7:
time = 266933
flags = 0
data = length 7081, hash B3F2E23A
sample 8:
time = 233566
flags = 0
data = length 635, hash B197BCDB
sample 9:
time = 333666
flags = 0
data = length 6589, hash C7FAA564
sample 10:
time = 300300
flags = 0
data = length 650, hash A3AFA416
sample 11:
time = 400400
flags = 0
data = length 8533, hash 4951EBBA
sample 12:
time = 367033
flags = 0
data = length 758, hash EAF337EE
sample 13:
time = 467133
flags = 0
data = length 11584, hash 13DE8D1D
sample 14:
time = 433766
flags = 0
data = length 2163, hash 1EB6F423
sample 15:
time = 533866
flags = 0
data = length 5286, hash 2FF4E597
sample 16:
time = 500500
flags = 0
data = length 1365, hash 2740F6BA
sample 17:
time = 600600
flags = 0
data = length 10250, hash 4C4C05E9
sample 18:
time = 567233
flags = 0
data = length 1203, hash 194F1FD6
sample 19:
time = 667333
flags = 0
data = length 7373, hash D00D482
sample 20:
time = 633966
flags = 0
data = length 1261, hash ED32D57D
sample 21:
time = 734066
flags = 0
data = length 6347, hash 2B6EB74D
sample 22:
time = 700700
flags = 0
data = length 833, hash 81BC5D34
sample 23:
time = 800800
flags = 0
data = length 5538, hash 9951853
sample 24:
time = 767433
flags = 0
data = length 657, hash 6EBAC33A
sample 25:
time = 867533
flags = 0
data = length 4109, hash 42BE3B2F
sample 26:
time = 834166
flags = 0
data = length 789, hash D766C08
sample 27:
time = 934266
flags = 0
data = length 3108, hash 1C48E56B
sample 28:
time = 900900
flags = 0
data = length 541, hash B429D47
sample 29:
time = 967633
flags = 536870912
data = length 3010, hash 1FC94085
tracksEnded = true

View File

@ -0,0 +1,338 @@
seekMap:
isSeekable = true
duration = 1020100
getPosition(0) = [[timeUs=0, position=36]]
getPosition(1) = [[timeUs=0, position=36]]
getPosition(510050) = [[timeUs=0, position=36]]
getPosition(1020100) = [[timeUs=0, position=36]]
numberOfTracks = 2
track 0:
total output bytes = 9294
sample count = 43
format 0:
peakBitrate = 200000
id = 1
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67219
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90439
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113659
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136879
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160099
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183319
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206539
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229759
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 252979
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276199
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299419
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322639
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345859
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369079
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392299
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415519
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438739
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 461959
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485179
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508399
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531619
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 554839
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578058
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601278
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624498
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647718
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 670938
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694158
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717378
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740598
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 763818
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787038
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810258
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833478
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 856698
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 879918
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903138
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926358
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949578
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 972798
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996018
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019238
flags = 536870913
data = length 235, hash 999477F6
track 1:
total output bytes = 130926
sample count = 30
format 0:
id = 2
sampleMimeType = video/avc
codecs = avc1.4D001E
maxInputSize = 25345
maxNumReorderSamples = 16
width = 640
height = 428
frameRate = 29.408882
colorInfo:
colorSpace = 2
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3790610215, modification time=3790610215, timescale=30000]
initializationData:
data = length 19, hash D3863A4C
data = length 8, hash 9464788C
sample 0:
time = 0
flags = 1
data = length 25315, hash 4F94DFD9
sample 1:
time = 66733
flags = 0
data = length 2974, hash CE870018
sample 2:
time = 33366
flags = 0
data = length 520, hash 755D4D65
sample 3:
time = 133466
flags = 0
data = length 5849, hash 62ABA3A6
sample 4:
time = 100100
flags = 0
data = length 665, hash 5B3919F5
sample 5:
time = 200200
flags = 0
data = length 4934, hash EA186643
sample 6:
time = 166833
flags = 0
data = length 1006, hash 50307604
sample 7:
time = 266933
flags = 0
data = length 7081, hash B3F2E23A
sample 8:
time = 233566
flags = 0
data = length 635, hash B197BCDB
sample 9:
time = 333666
flags = 0
data = length 6589, hash C7FAA564
sample 10:
time = 300300
flags = 0
data = length 650, hash A3AFA416
sample 11:
time = 400400
flags = 0
data = length 8533, hash 4951EBBA
sample 12:
time = 367033
flags = 0
data = length 758, hash EAF337EE
sample 13:
time = 467133
flags = 0
data = length 11584, hash 13DE8D1D
sample 14:
time = 433766
flags = 0
data = length 2163, hash 1EB6F423
sample 15:
time = 533866
flags = 0
data = length 5286, hash 2FF4E597
sample 16:
time = 500500
flags = 0
data = length 1365, hash 2740F6BA
sample 17:
time = 600600
flags = 0
data = length 10250, hash 4C4C05E9
sample 18:
time = 567233
flags = 0
data = length 1203, hash 194F1FD6
sample 19:
time = 667333
flags = 0
data = length 7373, hash D00D482
sample 20:
time = 633966
flags = 0
data = length 1261, hash ED32D57D
sample 21:
time = 734066
flags = 0
data = length 6347, hash 2B6EB74D
sample 22:
time = 700700
flags = 0
data = length 833, hash 81BC5D34
sample 23:
time = 800800
flags = 0
data = length 5538, hash 9951853
sample 24:
time = 767433
flags = 0
data = length 657, hash 6EBAC33A
sample 25:
time = 867533
flags = 0
data = length 4109, hash 42BE3B2F
sample 26:
time = 834166
flags = 0
data = length 789, hash D766C08
sample 27:
time = 934266
flags = 0
data = length 3108, hash 1C48E56B
sample 28:
time = 900900
flags = 0
data = length 541, hash B429D47
sample 29:
time = 967633
flags = 536870912
data = length 3010, hash 1FC94085
tracksEnded = true

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -267,6 +268,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -211,6 +212,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -127,6 +128,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -43,6 +44,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 229249
maxNumReorderSamples = 0
width = 1024
height = 768
frameRate = 27.609846
@ -267,6 +268,7 @@ track 1:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L153
maxInputSize = 151345
maxNumReorderSamples = 0
width = 2048
height = 1536
frameRate = 2.142245

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640033
maxInputSize = 34686
maxNumReorderSamples = 0
width = 1280
height = 720
frameRate = 13.307984

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640033
maxInputSize = 34686
maxNumReorderSamples = 0
width = 1280
height = 720
frameRate = 13.307984

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640033
maxInputSize = 34686
maxNumReorderSamples = 0
width = 1280
height = 720
frameRate = 13.307984

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640033
maxInputSize = 34686
maxNumReorderSamples = 0
width = 1280
height = 720
frameRate = 13.307984

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640033
maxInputSize = 34686
maxNumReorderSamples = 0
width = 1280
height = 720
frameRate = 13.307984

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 196379
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 23.544804

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 196379
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 23.544804

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 196379
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 23.544804

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 196379
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 23.544804

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 196379
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 23.544804

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640034
maxInputSize = 22910
maxNumReorderSamples = 0
width = 1080
height = 720
frameRate = 31.004547

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640034
maxInputSize = 22910
maxNumReorderSamples = 0
width = 1080
height = 720
frameRate = 31.004547

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640034
maxInputSize = 22910
maxNumReorderSamples = 0
width = 1080
height = 720
frameRate = 31.004547

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640034
maxInputSize = 22910
maxNumReorderSamples = 0
width = 1080
height = 720
frameRate = 31.004547

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.640034
maxInputSize = 22910
maxNumReorderSamples = 0
width = 1080
height = 720
frameRate = 31.004547

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -13,6 +13,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -10,6 +10,7 @@ track 0:
id = 1
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 1080
height = 720
colorInfo:

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 40550
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 30.167633

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 40550
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 30.167633

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 40550
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 30.167633

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 40550
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 30.167633

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/dolby-vision
codecs = hev1.08.04
maxInputSize = 40550
maxNumReorderSamples = 2
width = 1920
height = 1080
frameRate = 30.167633

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/avc
codecs = avc1.64001F
maxInputSize = 36722
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.970028

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L150.B0
maxInputSize = 364750
maxNumReorderSamples = 2
width = 1920
height = 1440
frameRate = 29.179338

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L150.B0
maxInputSize = 364750
maxNumReorderSamples = 2
width = 1920
height = 1440
frameRate = 29.179338

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L150.B0
maxInputSize = 364750
maxNumReorderSamples = 2
width = 1920
height = 1440
frameRate = 29.179338

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L150.B0
maxInputSize = 364750
maxNumReorderSamples = 2
width = 1920
height = 1440
frameRate = 29.179338

View File

@ -14,6 +14,7 @@ track 0:
sampleMimeType = video/hevc
codecs = hvc1.1.6.L150.B0
maxInputSize = 364750
maxNumReorderSamples = 2
width = 1920
height = 1440
frameRate = 29.179338

View File

@ -13,6 +13,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 854
height = 480
colorInfo:

View File

@ -13,6 +13,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 854
height = 480
colorInfo:

View File

@ -13,6 +13,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 854
height = 480
colorInfo:

View File

@ -13,6 +13,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 854
height = 480
colorInfo:

View File

@ -10,6 +10,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001F
maxNumReorderSamples = 2
width = 854
height = 480
colorInfo:

View File

@ -13,6 +13,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001E
maxNumReorderSamples = 2
width = 640
height = 426
colorInfo:

View File

@ -10,6 +10,7 @@ track 256:
id = 1/256
sampleMimeType = video/avc
codecs = avc1.64001E
maxNumReorderSamples = 2
width = 640
height = 426
colorInfo:

Some files were not shown because too many files have changed in this diff Show More