mirror of
https://github.com/androidx/media.git
synced 2025-05-15 11:39:56 +08:00
Disable codec reuse when only crop rect changes
Work around a bug where MediaCodec fails to adapt between formats that have the same decoded picture resolution but different crop. Add a playlist of two MP4 files that reproduce the issue. This CL implements the workaround for H.265 and Mp4 PiperOrigin-RevId: 753976872
This commit is contained in:
parent
52d9cfdcb7
commit
ef39fc70d9
@ -618,6 +618,17 @@
|
|||||||
"image_duration_ms": 2000
|
"image_duration_ms": 2000
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Change in crop b/409036359",
|
||||||
|
"playlist": [
|
||||||
|
{
|
||||||
|
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/mp4/bbb_760x480_1mbps_60fps_hevc.mp4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/mp4/bbb_760x480_1mbps_60fps_hevc_pad.mp4"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -97,6 +97,8 @@ import java.util.UUID;
|
|||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link #width}
|
* <li>{@link #width}
|
||||||
* <li>{@link #height}
|
* <li>{@link #height}
|
||||||
|
* <li>{@link #decodedWidth}
|
||||||
|
* <li>{@link #decodedHeight}
|
||||||
* <li>{@link #frameRate}
|
* <li>{@link #frameRate}
|
||||||
* <li>{@link #rotationDegrees}
|
* <li>{@link #rotationDegrees}
|
||||||
* <li>{@link #pixelWidthHeightRatio}
|
* <li>{@link #pixelWidthHeightRatio}
|
||||||
@ -174,6 +176,8 @@ public final class Format {
|
|||||||
|
|
||||||
private int width;
|
private int width;
|
||||||
private int height;
|
private int height;
|
||||||
|
private int decodedWidth;
|
||||||
|
private int decodedHeight;
|
||||||
private float frameRate;
|
private float frameRate;
|
||||||
private int rotationDegrees;
|
private int rotationDegrees;
|
||||||
private float pixelWidthHeightRatio;
|
private float pixelWidthHeightRatio;
|
||||||
@ -216,6 +220,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
width = NO_VALUE;
|
width = NO_VALUE;
|
||||||
height = NO_VALUE;
|
height = NO_VALUE;
|
||||||
|
decodedWidth = NO_VALUE;
|
||||||
|
decodedHeight = NO_VALUE;
|
||||||
frameRate = NO_VALUE;
|
frameRate = NO_VALUE;
|
||||||
pixelWidthHeightRatio = 1.0f;
|
pixelWidthHeightRatio = 1.0f;
|
||||||
stereoMode = NO_VALUE;
|
stereoMode = NO_VALUE;
|
||||||
@ -265,6 +271,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
this.width = format.width;
|
this.width = format.width;
|
||||||
this.height = format.height;
|
this.height = format.height;
|
||||||
|
this.decodedWidth = format.decodedWidth;
|
||||||
|
this.decodedHeight = format.decodedHeight;
|
||||||
this.frameRate = format.frameRate;
|
this.frameRate = format.frameRate;
|
||||||
this.rotationDegrees = format.rotationDegrees;
|
this.rotationDegrees = format.rotationDegrees;
|
||||||
this.pixelWidthHeightRatio = format.pixelWidthHeightRatio;
|
this.pixelWidthHeightRatio = format.pixelWidthHeightRatio;
|
||||||
@ -588,6 +596,30 @@ public final class Format {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets {@link Format#decodedWidth}. The default value is {@link #NO_VALUE}.
|
||||||
|
*
|
||||||
|
* @param decodedWidth The {@link Format#decodedWidth}.
|
||||||
|
* @return The builder.
|
||||||
|
*/
|
||||||
|
@CanIgnoreReturnValue
|
||||||
|
public Builder setDecodedWidth(int decodedWidth) {
|
||||||
|
this.decodedWidth = decodedWidth;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets {@link Format#decodedHeight}. The default value is {@link #NO_VALUE}.
|
||||||
|
*
|
||||||
|
* @param decodedHeight The {@link Format#decodedHeight}.
|
||||||
|
* @return The builder.
|
||||||
|
*/
|
||||||
|
@CanIgnoreReturnValue
|
||||||
|
public Builder setDecodedHeight(int decodedHeight) {
|
||||||
|
this.decodedHeight = decodedHeight;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets {@link Format#frameRate}. The default value is {@link #NO_VALUE}.
|
* Sets {@link Format#frameRate}. The default value is {@link #NO_VALUE}.
|
||||||
*
|
*
|
||||||
@ -1000,6 +1032,22 @@ public final class Format {
|
|||||||
/** The height of the video in pixels, or {@link #NO_VALUE} if unknown or not applicable. */
|
/** The height of the video in pixels, or {@link #NO_VALUE} if unknown or not applicable. */
|
||||||
public final int height;
|
public final int height;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The width of the video decoded picture in pixels, or {@link #NO_VALUE} if unknown or not
|
||||||
|
* applicable.
|
||||||
|
*
|
||||||
|
* <p>May be larger than {@link #width} if cropping is applied before display.
|
||||||
|
*/
|
||||||
|
@UnstableApi public final int decodedWidth;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The height of the video decoded picture in pixels, or {@link #NO_VALUE} if unknown or not
|
||||||
|
* applicable.
|
||||||
|
*
|
||||||
|
* <p>May be larger than {@link #height} if cropping is applied before display.
|
||||||
|
*/
|
||||||
|
@UnstableApi public final int decodedHeight;
|
||||||
|
|
||||||
/** The frame rate in frames per second, or {@link #NO_VALUE} if unknown or not applicable. */
|
/** The frame rate in frames per second, or {@link #NO_VALUE} if unknown or not applicable. */
|
||||||
public final float frameRate;
|
public final float frameRate;
|
||||||
|
|
||||||
@ -1145,6 +1193,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
width = builder.width;
|
width = builder.width;
|
||||||
height = builder.height;
|
height = builder.height;
|
||||||
|
decodedWidth = builder.decodedWidth;
|
||||||
|
decodedHeight = builder.decodedHeight;
|
||||||
frameRate = builder.frameRate;
|
frameRate = builder.frameRate;
|
||||||
rotationDegrees = builder.rotationDegrees == NO_VALUE ? 0 : builder.rotationDegrees;
|
rotationDegrees = builder.rotationDegrees == NO_VALUE ? 0 : builder.rotationDegrees;
|
||||||
pixelWidthHeightRatio =
|
pixelWidthHeightRatio =
|
||||||
@ -1329,6 +1379,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
result = 31 * result + width;
|
result = 31 * result + width;
|
||||||
result = 31 * result + height;
|
result = 31 * result + height;
|
||||||
|
result = 31 * result + decodedWidth;
|
||||||
|
result = 31 * result + decodedHeight;
|
||||||
result = 31 * result + Float.floatToIntBits(frameRate);
|
result = 31 * result + Float.floatToIntBits(frameRate);
|
||||||
result = 31 * result + rotationDegrees;
|
result = 31 * result + rotationDegrees;
|
||||||
result = 31 * result + Float.floatToIntBits(pixelWidthHeightRatio);
|
result = 31 * result + Float.floatToIntBits(pixelWidthHeightRatio);
|
||||||
@ -1376,6 +1428,8 @@ public final class Format {
|
|||||||
&& subsampleOffsetUs == other.subsampleOffsetUs
|
&& subsampleOffsetUs == other.subsampleOffsetUs
|
||||||
&& width == other.width
|
&& width == other.width
|
||||||
&& height == other.height
|
&& height == other.height
|
||||||
|
&& decodedWidth == other.decodedWidth
|
||||||
|
&& decodedHeight == other.decodedHeight
|
||||||
&& rotationDegrees == other.rotationDegrees
|
&& rotationDegrees == other.rotationDegrees
|
||||||
&& stereoMode == other.stereoMode
|
&& stereoMode == other.stereoMode
|
||||||
&& maxSubLayers == other.maxSubLayers
|
&& maxSubLayers == other.maxSubLayers
|
||||||
@ -1471,6 +1525,13 @@ public final class Format {
|
|||||||
if (format.width != NO_VALUE && format.height != NO_VALUE) {
|
if (format.width != NO_VALUE && format.height != NO_VALUE) {
|
||||||
builder.append(", res=").append(format.width).append("x").append(format.height);
|
builder.append(", res=").append(format.width).append("x").append(format.height);
|
||||||
}
|
}
|
||||||
|
if (format.decodedWidth != NO_VALUE && format.decodedHeight != NO_VALUE) {
|
||||||
|
builder
|
||||||
|
.append(", decRes=")
|
||||||
|
.append(format.decodedWidth)
|
||||||
|
.append("x")
|
||||||
|
.append(format.decodedHeight);
|
||||||
|
}
|
||||||
if (!fuzzyEquals(format.pixelWidthHeightRatio, 1, 0.001)) {
|
if (!fuzzyEquals(format.pixelWidthHeightRatio, 1, 0.001)) {
|
||||||
builder.append(", par=").append(Util.formatInvariant("%.3f", format.pixelWidthHeightRatio));
|
builder.append(", par=").append(Util.formatInvariant("%.3f", format.pixelWidthHeightRatio));
|
||||||
}
|
}
|
||||||
@ -1555,6 +1616,8 @@ public final class Format {
|
|||||||
private static final String FIELD_LABELS = Util.intToStringMaxRadix(32);
|
private static final String FIELD_LABELS = Util.intToStringMaxRadix(32);
|
||||||
private static final String FIELD_AUXILIARY_TRACK_TYPE = Util.intToStringMaxRadix(33);
|
private static final String FIELD_AUXILIARY_TRACK_TYPE = Util.intToStringMaxRadix(33);
|
||||||
private static final String FIELD_MAX_SUB_LAYERS = Util.intToStringMaxRadix(34);
|
private static final String FIELD_MAX_SUB_LAYERS = Util.intToStringMaxRadix(34);
|
||||||
|
private static final String FIELD_DECODED_WIDTH = Util.intToStringMaxRadix(35);
|
||||||
|
private static final String FIELD_DECODED_HEIGHT = Util.intToStringMaxRadix(36);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a {@link Bundle} representing the information stored in this object. If {@code
|
* Returns a {@link Bundle} representing the information stored in this object. If {@code
|
||||||
@ -1592,6 +1655,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
bundle.putInt(FIELD_WIDTH, width);
|
bundle.putInt(FIELD_WIDTH, width);
|
||||||
bundle.putInt(FIELD_HEIGHT, height);
|
bundle.putInt(FIELD_HEIGHT, height);
|
||||||
|
bundle.putInt(FIELD_DECODED_WIDTH, decodedWidth);
|
||||||
|
bundle.putInt(FIELD_DECODED_HEIGHT, decodedHeight);
|
||||||
bundle.putFloat(FIELD_FRAME_RATE, frameRate);
|
bundle.putFloat(FIELD_FRAME_RATE, frameRate);
|
||||||
bundle.putInt(FIELD_ROTATION_DEGREES, rotationDegrees);
|
bundle.putInt(FIELD_ROTATION_DEGREES, rotationDegrees);
|
||||||
bundle.putFloat(FIELD_PIXEL_WIDTH_HEIGHT_RATIO, pixelWidthHeightRatio);
|
bundle.putFloat(FIELD_PIXEL_WIDTH_HEIGHT_RATIO, pixelWidthHeightRatio);
|
||||||
@ -1663,6 +1728,8 @@ public final class Format {
|
|||||||
// Video specific.
|
// Video specific.
|
||||||
.setWidth(bundle.getInt(FIELD_WIDTH, DEFAULT.width))
|
.setWidth(bundle.getInt(FIELD_WIDTH, DEFAULT.width))
|
||||||
.setHeight(bundle.getInt(FIELD_HEIGHT, DEFAULT.height))
|
.setHeight(bundle.getInt(FIELD_HEIGHT, DEFAULT.height))
|
||||||
|
.setDecodedWidth(bundle.getInt(FIELD_DECODED_WIDTH, DEFAULT.decodedWidth))
|
||||||
|
.setDecodedHeight(bundle.getInt(FIELD_DECODED_HEIGHT, DEFAULT.decodedHeight))
|
||||||
.setFrameRate(bundle.getFloat(FIELD_FRAME_RATE, DEFAULT.frameRate))
|
.setFrameRate(bundle.getFloat(FIELD_FRAME_RATE, DEFAULT.frameRate))
|
||||||
.setRotationDegrees(bundle.getInt(FIELD_ROTATION_DEGREES, DEFAULT.rotationDegrees))
|
.setRotationDegrees(bundle.getInt(FIELD_ROTATION_DEGREES, DEFAULT.rotationDegrees))
|
||||||
.setPixelWidthHeightRatio(
|
.setPixelWidthHeightRatio(
|
||||||
|
@ -398,6 +398,8 @@ public final class NalUnitUtil {
|
|||||||
public final int seqParameterSetId;
|
public final int seqParameterSetId;
|
||||||
public final int width;
|
public final int width;
|
||||||
public final int height;
|
public final int height;
|
||||||
|
public final int decodedWidth;
|
||||||
|
public final int decodedHeight;
|
||||||
public final float pixelWidthHeightRatio;
|
public final float pixelWidthHeightRatio;
|
||||||
public final int maxNumReorderPics;
|
public final int maxNumReorderPics;
|
||||||
public final @C.ColorSpace int colorSpace;
|
public final @C.ColorSpace int colorSpace;
|
||||||
@ -414,6 +416,8 @@ public final class NalUnitUtil {
|
|||||||
int seqParameterSetId,
|
int seqParameterSetId,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
|
int decodedWidth,
|
||||||
|
int decodedHeight,
|
||||||
float pixelWidthHeightRatio,
|
float pixelWidthHeightRatio,
|
||||||
int maxNumReorderPics,
|
int maxNumReorderPics,
|
||||||
@C.ColorSpace int colorSpace,
|
@C.ColorSpace int colorSpace,
|
||||||
@ -433,6 +437,8 @@ public final class NalUnitUtil {
|
|||||||
this.colorSpace = colorSpace;
|
this.colorSpace = colorSpace;
|
||||||
this.colorRange = colorRange;
|
this.colorRange = colorRange;
|
||||||
this.colorTransfer = colorTransfer;
|
this.colorTransfer = colorTransfer;
|
||||||
|
this.decodedWidth = decodedWidth;
|
||||||
|
this.decodedHeight = decodedHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1558,6 +1564,8 @@ public final class NalUnitUtil {
|
|||||||
int chromaFormatIdc = 0;
|
int chromaFormatIdc = 0;
|
||||||
int frameWidth = 0;
|
int frameWidth = 0;
|
||||||
int frameHeight = 0;
|
int frameHeight = 0;
|
||||||
|
int decodedWidth = 0;
|
||||||
|
int decodedHeight = 0;
|
||||||
int bitDepthLumaMinus8 = 0;
|
int bitDepthLumaMinus8 = 0;
|
||||||
int bitDepthChromaMinus8 = 0;
|
int bitDepthChromaMinus8 = 0;
|
||||||
int spsRepFormatIdx = C.INDEX_UNSET;
|
int spsRepFormatIdx = C.INDEX_UNSET;
|
||||||
@ -1573,8 +1581,10 @@ public final class NalUnitUtil {
|
|||||||
&& vpsData.repFormatsAndIndices.repFormats.size() > spsRepFormatIdx) {
|
&& vpsData.repFormatsAndIndices.repFormats.size() > spsRepFormatIdx) {
|
||||||
H265RepFormat repFormat = vpsData.repFormatsAndIndices.repFormats.get(spsRepFormatIdx);
|
H265RepFormat repFormat = vpsData.repFormatsAndIndices.repFormats.get(spsRepFormatIdx);
|
||||||
chromaFormatIdc = repFormat.chromaFormatIdc;
|
chromaFormatIdc = repFormat.chromaFormatIdc;
|
||||||
frameWidth = repFormat.width;
|
decodedWidth = repFormat.width;
|
||||||
frameHeight = repFormat.height;
|
decodedHeight = repFormat.height;
|
||||||
|
frameWidth = decodedWidth;
|
||||||
|
frameHeight = decodedHeight;
|
||||||
bitDepthLumaMinus8 = repFormat.bitDepthLumaMinus8;
|
bitDepthLumaMinus8 = repFormat.bitDepthLumaMinus8;
|
||||||
bitDepthChromaMinus8 = repFormat.bitDepthChromaMinus8;
|
bitDepthChromaMinus8 = repFormat.bitDepthChromaMinus8;
|
||||||
}
|
}
|
||||||
@ -1584,8 +1594,8 @@ public final class NalUnitUtil {
|
|||||||
if (chromaFormatIdc == 3) {
|
if (chromaFormatIdc == 3) {
|
||||||
data.skipBit(); // separate_colour_plane_flag
|
data.skipBit(); // separate_colour_plane_flag
|
||||||
}
|
}
|
||||||
frameWidth = data.readUnsignedExpGolombCodedInt();
|
decodedWidth = data.readUnsignedExpGolombCodedInt();
|
||||||
frameHeight = data.readUnsignedExpGolombCodedInt();
|
decodedHeight = data.readUnsignedExpGolombCodedInt();
|
||||||
if (data.readBit()) { // conformance_window_flag
|
if (data.readBit()) { // conformance_window_flag
|
||||||
int confWinLeftOffset = data.readUnsignedExpGolombCodedInt();
|
int confWinLeftOffset = data.readUnsignedExpGolombCodedInt();
|
||||||
int confWinRightOffset = data.readUnsignedExpGolombCodedInt();
|
int confWinRightOffset = data.readUnsignedExpGolombCodedInt();
|
||||||
@ -1593,10 +1603,13 @@ public final class NalUnitUtil {
|
|||||||
int confWinBottomOffset = data.readUnsignedExpGolombCodedInt();
|
int confWinBottomOffset = data.readUnsignedExpGolombCodedInt();
|
||||||
frameWidth =
|
frameWidth =
|
||||||
applyConformanceWindowToWidth(
|
applyConformanceWindowToWidth(
|
||||||
frameWidth, chromaFormatIdc, confWinLeftOffset, confWinRightOffset);
|
decodedWidth, chromaFormatIdc, confWinLeftOffset, confWinRightOffset);
|
||||||
frameHeight =
|
frameHeight =
|
||||||
applyConformanceWindowToHeight(
|
applyConformanceWindowToHeight(
|
||||||
frameHeight, chromaFormatIdc, confWinTopOffset, confWinBottomOffset);
|
decodedHeight, chromaFormatIdc, confWinTopOffset, confWinBottomOffset);
|
||||||
|
} else {
|
||||||
|
frameWidth = decodedWidth;
|
||||||
|
frameHeight = decodedHeight;
|
||||||
}
|
}
|
||||||
bitDepthLumaMinus8 = data.readUnsignedExpGolombCodedInt();
|
bitDepthLumaMinus8 = data.readUnsignedExpGolombCodedInt();
|
||||||
bitDepthChromaMinus8 = data.readUnsignedExpGolombCodedInt();
|
bitDepthChromaMinus8 = data.readUnsignedExpGolombCodedInt();
|
||||||
@ -1714,6 +1727,8 @@ public final class NalUnitUtil {
|
|||||||
seqParameterSetId,
|
seqParameterSetId,
|
||||||
frameWidth,
|
frameWidth,
|
||||||
frameHeight,
|
frameHeight,
|
||||||
|
decodedWidth,
|
||||||
|
decodedHeight,
|
||||||
pixelWidthHeightRatio,
|
pixelWidthHeightRatio,
|
||||||
maxNumReorderPics,
|
maxNumReorderPics,
|
||||||
colorSpace,
|
colorSpace,
|
||||||
|
@ -436,8 +436,9 @@ public final class MediaCodecInfo {
|
|||||||
if (oldFormat.rotationDegrees != newFormat.rotationDegrees) {
|
if (oldFormat.rotationDegrees != newFormat.rotationDegrees) {
|
||||||
discardReasons |= DISCARD_REASON_VIDEO_ROTATION_CHANGED;
|
discardReasons |= DISCARD_REASON_VIDEO_ROTATION_CHANGED;
|
||||||
}
|
}
|
||||||
if (!adaptive
|
boolean resolutionChanged =
|
||||||
&& (oldFormat.width != newFormat.width || oldFormat.height != newFormat.height)) {
|
oldFormat.width != newFormat.width || oldFormat.height != newFormat.height;
|
||||||
|
if (!adaptive && resolutionChanged) {
|
||||||
discardReasons |= DISCARD_REASON_VIDEO_RESOLUTION_CHANGED;
|
discardReasons |= DISCARD_REASON_VIDEO_RESOLUTION_CHANGED;
|
||||||
}
|
}
|
||||||
if ((!ColorInfo.isEquivalentToAssumedSdrDefault(oldFormat.colorInfo)
|
if ((!ColorInfo.isEquivalentToAssumedSdrDefault(oldFormat.colorInfo)
|
||||||
@ -451,6 +452,17 @@ public final class MediaCodecInfo {
|
|||||||
discardReasons |= DISCARD_REASON_WORKAROUND;
|
discardReasons |= DISCARD_REASON_WORKAROUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (oldFormat.decodedWidth != Format.NO_VALUE
|
||||||
|
&& oldFormat.decodedHeight != Format.NO_VALUE
|
||||||
|
&& oldFormat.decodedWidth == newFormat.decodedWidth
|
||||||
|
&& oldFormat.decodedHeight == newFormat.decodedHeight
|
||||||
|
&& resolutionChanged) {
|
||||||
|
// Work around a bug where MediaCodec fails to adapt between formats if the compressed
|
||||||
|
// picture dimensions match but the cropped region for display differs.
|
||||||
|
// See b/409036359.
|
||||||
|
discardReasons |= DISCARD_REASON_WORKAROUND;
|
||||||
|
}
|
||||||
|
|
||||||
if (discardReasons == 0) {
|
if (discardReasons == 0) {
|
||||||
return new DecoderReuseEvaluation(
|
return new DecoderReuseEvaluation(
|
||||||
name,
|
name,
|
||||||
|
@ -24,6 +24,7 @@ import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_MI
|
|||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_COLOR_INFO_CHANGED;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_COLOR_INFO_CHANGED;
|
||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_RESOLUTION_CHANGED;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_RESOLUTION_CHANGED;
|
||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_ROTATION_CHANGED;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_VIDEO_ROTATION_CHANGED;
|
||||||
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_WORKAROUND;
|
||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_NO;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_NO;
|
||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_FLUSH;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_FLUSH;
|
||||||
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_RECONFIGURATION;
|
import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_RECONFIGURATION;
|
||||||
@ -299,6 +300,24 @@ public final class MediaCodecInfoTest {
|
|||||||
DISCARD_REASON_INITIALIZATION_DATA_CHANGED));
|
DISCARD_REASON_INITIALIZATION_DATA_CHANGED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void canReuseCodec_differentVideoCrop_returnsNo() {
|
||||||
|
MediaCodecInfo codecInfo = buildH264CodecInfo(/* adaptive= */ true);
|
||||||
|
Format hdCodedAs4K =
|
||||||
|
FORMAT_H264_HD.buildUpon().setDecodedWidth(3840).setDecodedHeight(2160).build();
|
||||||
|
Format uhdCodedAs4K =
|
||||||
|
FORMAT_H264_4K.buildUpon().setDecodedWidth(3840).setDecodedHeight(2160).build();
|
||||||
|
|
||||||
|
assertThat(codecInfo.canReuseCodec(hdCodedAs4K, uhdCodedAs4K))
|
||||||
|
.isEqualTo(
|
||||||
|
new DecoderReuseEvaluation(
|
||||||
|
codecInfo.name,
|
||||||
|
hdCodedAs4K,
|
||||||
|
uhdCodedAs4K,
|
||||||
|
REUSE_RESULT_NO,
|
||||||
|
DISCARD_REASON_WORKAROUND));
|
||||||
|
}
|
||||||
|
|
||||||
private static MediaCodecInfo buildH264CodecInfo(boolean adaptive) {
|
private static MediaCodecInfo buildH264CodecInfo(boolean adaptive) {
|
||||||
return new MediaCodecInfo(
|
return new MediaCodecInfo(
|
||||||
"h264",
|
"h264",
|
||||||
|
@ -99,6 +99,8 @@ public final class HevcConfig {
|
|||||||
int bufferPosition = 0;
|
int bufferPosition = 0;
|
||||||
int width = Format.NO_VALUE;
|
int width = Format.NO_VALUE;
|
||||||
int height = Format.NO_VALUE;
|
int height = Format.NO_VALUE;
|
||||||
|
int decodedWidth = Format.NO_VALUE;
|
||||||
|
int decodedHeight = Format.NO_VALUE;
|
||||||
int bitdepthLuma = Format.NO_VALUE;
|
int bitdepthLuma = Format.NO_VALUE;
|
||||||
int bitdepthChroma = Format.NO_VALUE;
|
int bitdepthChroma = Format.NO_VALUE;
|
||||||
@C.ColorSpace int colorSpace = Format.NO_VALUE;
|
@C.ColorSpace int colorSpace = Format.NO_VALUE;
|
||||||
@ -135,6 +137,8 @@ public final class HevcConfig {
|
|||||||
maxSubLayers = spsData.maxSubLayersMinus1 + 1;
|
maxSubLayers = spsData.maxSubLayersMinus1 + 1;
|
||||||
width = spsData.width;
|
width = spsData.width;
|
||||||
height = spsData.height;
|
height = spsData.height;
|
||||||
|
decodedWidth = spsData.decodedWidth;
|
||||||
|
decodedHeight = spsData.decodedHeight;
|
||||||
bitdepthLuma = spsData.bitDepthLumaMinus8 + 8;
|
bitdepthLuma = spsData.bitDepthLumaMinus8 + 8;
|
||||||
bitdepthChroma = spsData.bitDepthChromaMinus8 + 8;
|
bitdepthChroma = spsData.bitDepthChromaMinus8 + 8;
|
||||||
colorSpace = spsData.colorSpace;
|
colorSpace = spsData.colorSpace;
|
||||||
@ -177,6 +181,8 @@ public final class HevcConfig {
|
|||||||
maxSubLayers,
|
maxSubLayers,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
|
decodedWidth,
|
||||||
|
decodedHeight,
|
||||||
bitdepthLuma,
|
bitdepthLuma,
|
||||||
bitdepthChroma,
|
bitdepthChroma,
|
||||||
colorSpace,
|
colorSpace,
|
||||||
@ -206,12 +212,18 @@ public final class HevcConfig {
|
|||||||
/** The {@code sps_max_sub_layers_minus1 + 1} value: the number of temporal sub-layers. */
|
/** The {@code sps_max_sub_layers_minus1 + 1} value: the number of temporal sub-layers. */
|
||||||
public final int maxSubLayers;
|
public final int maxSubLayers;
|
||||||
|
|
||||||
/** The width of each decoded frame, or {@link Format#NO_VALUE} if unknown. */
|
/** The width of each cropped decoded picture, or {@link Format#NO_VALUE} if unknown. */
|
||||||
public final int width;
|
public final int width;
|
||||||
|
|
||||||
/** The height of each decoded frame, or {@link Format#NO_VALUE} if unknown. */
|
/** The height of each cropped decoded picture, or {@link Format#NO_VALUE} if unknown. */
|
||||||
public final int height;
|
public final int height;
|
||||||
|
|
||||||
|
/** The width of each decoded picture, or {@link Format#NO_VALUE} if unknown. */
|
||||||
|
public final int decodedWidth;
|
||||||
|
|
||||||
|
/** The height of each decoded picture, or {@link Format#NO_VALUE} if unknown. */
|
||||||
|
public final int decodedHeight;
|
||||||
|
|
||||||
/** The bit depth of the luma samples, or {@link Format#NO_VALUE} if unknown. */
|
/** The bit depth of the luma samples, or {@link Format#NO_VALUE} if unknown. */
|
||||||
public final int bitdepthLuma;
|
public final int bitdepthLuma;
|
||||||
|
|
||||||
@ -267,6 +279,8 @@ public final class HevcConfig {
|
|||||||
int maxSubLayers,
|
int maxSubLayers,
|
||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
|
int decodedWidth,
|
||||||
|
int decodedHeight,
|
||||||
int bitdepthLuma,
|
int bitdepthLuma,
|
||||||
int bitdepthChroma,
|
int bitdepthChroma,
|
||||||
@C.ColorSpace int colorSpace,
|
@C.ColorSpace int colorSpace,
|
||||||
@ -282,6 +296,8 @@ public final class HevcConfig {
|
|||||||
this.maxSubLayers = maxSubLayers;
|
this.maxSubLayers = maxSubLayers;
|
||||||
this.width = width;
|
this.width = width;
|
||||||
this.height = height;
|
this.height = height;
|
||||||
|
this.decodedWidth = decodedWidth;
|
||||||
|
this.decodedHeight = decodedHeight;
|
||||||
this.bitdepthLuma = bitdepthLuma;
|
this.bitdepthLuma = bitdepthLuma;
|
||||||
this.bitdepthChroma = bitdepthChroma;
|
this.bitdepthChroma = bitdepthChroma;
|
||||||
this.colorSpace = colorSpace;
|
this.colorSpace = colorSpace;
|
||||||
|
@ -1279,6 +1279,8 @@ public final class BoxParser {
|
|||||||
int maxNumReorderSamples = Format.NO_VALUE;
|
int maxNumReorderSamples = Format.NO_VALUE;
|
||||||
int maxSubLayers = Format.NO_VALUE;
|
int maxSubLayers = Format.NO_VALUE;
|
||||||
@Nullable NalUnitUtil.H265VpsData vpsData = null;
|
@Nullable NalUnitUtil.H265VpsData vpsData = null;
|
||||||
|
int decodedWidth = Format.NO_VALUE;
|
||||||
|
int decodedHeight = Format.NO_VALUE;
|
||||||
|
|
||||||
// HDR related metadata.
|
// HDR related metadata.
|
||||||
@C.ColorSpace int colorSpace = Format.NO_VALUE;
|
@C.ColorSpace int colorSpace = Format.NO_VALUE;
|
||||||
@ -1331,6 +1333,8 @@ public final class BoxParser {
|
|||||||
// HEVCDecoderConfigurationRecord may include 3D reference displays information SEI.
|
// HEVCDecoderConfigurationRecord may include 3D reference displays information SEI.
|
||||||
stereoMode = hevcConfig.stereoMode;
|
stereoMode = hevcConfig.stereoMode;
|
||||||
}
|
}
|
||||||
|
decodedWidth = hevcConfig.decodedWidth;
|
||||||
|
decodedHeight = hevcConfig.decodedHeight;
|
||||||
colorSpace = hevcConfig.colorSpace;
|
colorSpace = hevcConfig.colorSpace;
|
||||||
colorRange = hevcConfig.colorRange;
|
colorRange = hevcConfig.colorRange;
|
||||||
colorTransfer = hevcConfig.colorTransfer;
|
colorTransfer = hevcConfig.colorTransfer;
|
||||||
@ -1607,6 +1611,8 @@ public final class BoxParser {
|
|||||||
.setCodecs(codecs)
|
.setCodecs(codecs)
|
||||||
.setWidth(width)
|
.setWidth(width)
|
||||||
.setHeight(height)
|
.setHeight(height)
|
||||||
|
.setDecodedWidth(decodedWidth)
|
||||||
|
.setDecodedHeight(decodedHeight)
|
||||||
.setPixelWidthHeightRatio(pixelWidthHeightRatio)
|
.setPixelWidthHeightRatio(pixelWidthHeightRatio)
|
||||||
.setRotationDegrees(rotationDegrees)
|
.setRotationDegrees(rotationDegrees)
|
||||||
.setProjectionData(projectionData)
|
.setProjectionData(projectionData)
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -279,6 +281,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -223,6 +225,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -139,6 +141,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -55,6 +57,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 416
|
width = 416
|
||||||
height = 234
|
height = 234
|
||||||
|
decodedWidth = 416
|
||||||
|
decodedHeight = 240
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 2
|
colorSpace = 2
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 416
|
width = 416
|
||||||
height = 234
|
height = 234
|
||||||
|
decodedWidth = 416
|
||||||
|
decodedHeight = 240
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 2
|
colorSpace = 2
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 416
|
width = 416
|
||||||
height = 234
|
height = 234
|
||||||
|
decodedWidth = 416
|
||||||
|
decodedHeight = 240
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 2
|
colorSpace = 2
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 416
|
width = 416
|
||||||
height = 234
|
height = 234
|
||||||
|
decodedWidth = 416
|
||||||
|
decodedHeight = 240
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 2
|
colorSpace = 2
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -21,6 +21,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 854
|
width = 854
|
||||||
height = 480
|
height = 480
|
||||||
|
decodedWidth = 856
|
||||||
|
decodedHeight = 480
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -278,6 +280,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -222,6 +224,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -138,6 +140,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -54,6 +56,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -278,6 +280,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -222,6 +224,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -138,6 +140,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -54,6 +56,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -278,6 +280,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1024
|
width = 1024
|
||||||
height = 768
|
height = 768
|
||||||
|
decodedWidth = 1024
|
||||||
|
decodedHeight = 768
|
||||||
frameRate = 27.61
|
frameRate = 27.61
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
@ -278,6 +280,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 2048
|
width = 2048
|
||||||
height = 1536
|
height = 1536
|
||||||
|
decodedWidth = 2048
|
||||||
|
decodedHeight = 1536
|
||||||
frameRate = 2.14
|
frameRate = 2.14
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 28.03
|
frameRate = 28.03
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.70
|
frameRate = 27.70
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1440
|
height = 1440
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1440
|
||||||
frameRate = 28.81
|
frameRate = 28.81
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1934
|
width = 1934
|
||||||
height = 2160
|
height = 2160
|
||||||
|
decodedWidth = 1936
|
||||||
|
decodedHeight = 2160
|
||||||
frameRate = 90.00
|
frameRate = 90.00
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -72,6 +72,8 @@ track 2:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 29.98
|
frameRate = 29.98
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -59,6 +59,8 @@ track 2:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 2
|
colorSpace = 2
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
frameRate = 29.98
|
frameRate = 29.98
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 6
|
colorSpace = 6
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
frameRate = 29.97
|
frameRate = 29.97
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
frameRate = 29.98
|
frameRate = 29.98
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
frameRate = 29.98
|
frameRate = 29.98
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.11
|
frameRate = 27.11
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
@ -387,6 +389,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 27.11
|
frameRate = 27.11
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
|
@ -14,6 +14,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 6
|
colorSpace = 6
|
||||||
@ -376,6 +378,8 @@ track 1:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
colorInfo:
|
colorInfo:
|
||||||
colorSpace = 6
|
colorSpace = 6
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 2
|
maxNumReorderSamples = 2
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
|
decodedWidth = 1280
|
||||||
|
decodedHeight = 720
|
||||||
frameRate = 30.00
|
frameRate = 30.00
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -20,6 +20,8 @@ track 0:
|
|||||||
maxNumReorderSamples = 0
|
maxNumReorderSamples = 0
|
||||||
width = 1920
|
width = 1920
|
||||||
height = 1080
|
height = 1080
|
||||||
|
decodedWidth = 1920
|
||||||
|
decodedHeight = 1088
|
||||||
frameRate = 29.98
|
frameRate = 29.98
|
||||||
rotationDegrees = 90
|
rotationDegrees = 90
|
||||||
maxSubLayers = 1
|
maxSubLayers = 1
|
||||||
|
@ -56,6 +56,8 @@ public final class DumpableFormat implements Dumper.Dumpable {
|
|||||||
"maxNumReorderSamples", format, DEFAULT_FORMAT, format -> format.maxNumReorderSamples);
|
"maxNumReorderSamples", format, DEFAULT_FORMAT, format -> format.maxNumReorderSamples);
|
||||||
dumper.addIfNonDefault("width", format, DEFAULT_FORMAT, format -> format.width);
|
dumper.addIfNonDefault("width", format, DEFAULT_FORMAT, format -> format.width);
|
||||||
dumper.addIfNonDefault("height", format, DEFAULT_FORMAT, format -> format.height);
|
dumper.addIfNonDefault("height", format, DEFAULT_FORMAT, format -> format.height);
|
||||||
|
dumper.addIfNonDefault("decodedWidth", format, DEFAULT_FORMAT, format -> format.decodedWidth);
|
||||||
|
dumper.addIfNonDefault("decodedHeight", format, DEFAULT_FORMAT, format -> format.decodedHeight);
|
||||||
dumper.addIfNonDefault(
|
dumper.addIfNonDefault(
|
||||||
"frameRate",
|
"frameRate",
|
||||||
format,
|
format,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user