diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 812df2fcd07..1d9f94010ec 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -4,6 +4,8 @@ * Common Library: * ExoPlayer: + * Add luma and chroma bitdepth to `ColorInfo` + [#491](https://github.com/androidx/media/pull/491). * Transformer: * Track Selection: * Add `DefaultTrackSelector.Parameters.allowAudioNonSeamlessAdaptiveness` diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 5d715c3989c..e48ff0231d5 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -43,12 +43,16 @@ public static final class Builder { private @C.ColorRange int colorRange; private @C.ColorTransfer int colorTransfer; @Nullable private byte[] hdrStaticInfo; + private int lumaBitdepth; + private int chromaBitdepth; /** Creates a new instance with default values. */ public Builder() { colorSpace = Format.NO_VALUE; colorRange = Format.NO_VALUE; colorTransfer = Format.NO_VALUE; + lumaBitdepth = Format.NO_VALUE; + chromaBitdepth = Format.NO_VALUE; } /** Creates a new instance to build upon the provided {@link ColorInfo}. */ @@ -57,6 +61,8 @@ private Builder(ColorInfo colorInfo) { this.colorRange = colorInfo.colorRange; this.colorTransfer = colorInfo.colorTransfer; this.hdrStaticInfo = colorInfo.hdrStaticInfo; + this.lumaBitdepth = colorInfo.lumaBitdepth; + this.chromaBitdepth = colorInfo.chromaBitdepth; } /** @@ -116,19 +122,44 @@ public Builder setHdrStaticInfo(@Nullable byte[] hdrStaticInfo) { return this; } + /** + * Sets the luma bit depth. + * + * @param lumaBitdepth The lumaBitdepth. The default value is {@link Format#NO_VALUE}. + * @return The builder. + */ + @CanIgnoreReturnValue + public Builder setLumaBitdepth(int lumaBitdepth) { + this.lumaBitdepth = lumaBitdepth; + return this; + } + + /** + * Sets chroma bit depth. + * + * @param chromaBitdepth The chromaBitdepth. The default value is {@link Format#NO_VALUE}. + * @return The builder. + */ + @CanIgnoreReturnValue + public Builder setChromaBitdepth(int chromaBitdepth) { + this.chromaBitdepth = chromaBitdepth; + return this; + } + /** Builds a new {@link ColorInfo} instance. */ public ColorInfo build() { - return new ColorInfo(colorSpace, colorRange, colorTransfer, hdrStaticInfo); + return new ColorInfo( + colorSpace, colorRange, colorTransfer, hdrStaticInfo, lumaBitdepth, chromaBitdepth); } } /** Color info representing SDR BT.709 limited range, which is a common SDR video color format. */ public static final ColorInfo SDR_BT709_LIMITED = - new ColorInfo( - C.COLOR_SPACE_BT709, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_SDR, - /* hdrStaticInfo= */ null); + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT709) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_SDR) + .build(); /** * Color info representing SDR sRGB in accordance with {@link @@ -213,6 +244,12 @@ public static boolean isTransferHdr(@Nullable ColorInfo colorInfo) { /** HdrStaticInfo as defined in CTA-861.3, or null if none specified. */ @Nullable public final byte[] hdrStaticInfo; + /** The bit depth of the luma samples of the video. */ + public final int lumaBitdepth; + + /** The bit depth of the chroma samples of the video. It may differ from the luma bit depth. */ + public final int chromaBitdepth; + // Lazily initialized hashcode. private int hashCode; @@ -231,10 +268,34 @@ public ColorInfo( @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer, @Nullable byte[] hdrStaticInfo) { + this(colorSpace, colorRange, colorTransfer, hdrStaticInfo, Format.NO_VALUE, Format.NO_VALUE); + } + + /** + * Constructs the ColorInfo. + * + * @param colorSpace The color space of the video. + * @param colorRange The color range of the video. + * @param colorTransfer The color transfer characteristics of the video. + * @param hdrStaticInfo HdrStaticInfo as defined in CTA-861.3, or null if none specified. + * @param lumaBitdepth The bit depth of the luma samples of the video. + * @param chromaBitdepth The bit depth of the chroma samples of the video. + * @deprecated Use {@link Builder}. + */ + @Deprecated + public ColorInfo( + @C.ColorSpace int colorSpace, + @C.ColorRange int colorRange, + @C.ColorTransfer int colorTransfer, + @Nullable byte[] hdrStaticInfo, + int lumaBitdepth, + int chromaBitdepth) { this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; this.hdrStaticInfo = hdrStaticInfo; + this.lumaBitdepth = lumaBitdepth; + this.chromaBitdepth = chromaBitdepth; } /** Returns a {@link Builder} initialized with the values of this instance. */ @@ -245,9 +306,27 @@ public Builder buildUpon() { /** * Returns whether this instance is valid. * - *

This instance is valid if no members are {@link Format#NO_VALUE}. + *

This instance is valid if at least one between bitdepths and DataSpace info are valid. */ public boolean isValid() { + return isBitdepthValid() || isDataSpaceValid(); + } + + /** + * Returns whether this instance has valid bitdepths. + * + *

This instance has valid bitdepths if none of them is {@link Format#NO_VALUE}. + */ + public boolean isBitdepthValid() { + return lumaBitdepth != Format.NO_VALUE && chromaBitdepth != Format.NO_VALUE; + } + + /** + * Returns whether this instance has valid DataSpace members. + * + *

This instance is valid if no DataSpace members are {@link Format#NO_VALUE}. + */ + public boolean isDataSpaceValid() { return colorSpace != Format.NO_VALUE && colorRange != Format.NO_VALUE && colorTransfer != Format.NO_VALUE; @@ -259,15 +338,16 @@ public boolean isValid() { * @see Format#toLogString(Format) */ public String toLogString() { - if (!isValid()) { - return "NA"; - } - - return Util.formatInvariant( - "%s/%s/%s", - colorSpaceToString(colorSpace), - colorRangeToString(colorRange), - colorTransferToString(colorTransfer)); + String dataspaceString = + isDataSpaceValid() + ? Util.formatInvariant( + "%s/%s/%s", + colorSpaceToString(colorSpace), + colorRangeToString(colorRange), + colorTransferToString(colorTransfer)) + : "NA/NA/NA"; + String bitdepthsString = isBitdepthValid() ? lumaBitdepth + "/" + chromaBitdepth : "NA/NA"; + return dataspaceString + "/" + bitdepthsString; } @Override @@ -282,7 +362,24 @@ public boolean equals(@Nullable Object obj) { return colorSpace == other.colorSpace && colorRange == other.colorRange && colorTransfer == other.colorTransfer - && Arrays.equals(hdrStaticInfo, other.hdrStaticInfo); + && Arrays.equals(hdrStaticInfo, other.hdrStaticInfo) + && lumaBitdepth == other.lumaBitdepth + && chromaBitdepth == other.chromaBitdepth; + } + + @Override + public int hashCode() { + if (hashCode == 0) { + int result = 17; + result = 31 * result + colorSpace; + result = 31 * result + colorRange; + result = 31 * result + colorTransfer; + result = 31 * result + Arrays.hashCode(hdrStaticInfo); + result = 31 * result + lumaBitdepth; + result = 31 * result + chromaBitdepth; + hashCode = result; + } + return hashCode; } @Override @@ -295,9 +392,21 @@ public String toString() { + colorTransferToString(colorTransfer) + ", " + (hdrStaticInfo != null) + + ", " + + lumaBitdepthToString(lumaBitdepth) + + ", " + + chromaBitdepthToString(chromaBitdepth) + ")"; } + private static String lumaBitdepthToString(int val) { + return val != Format.NO_VALUE ? val + "bit Luma" : "NA"; + } + + private static String chromaBitdepthToString(int val) { + return val != Format.NO_VALUE ? val + "bit Chroma" : "NA"; + } + private static String colorSpaceToString(@C.ColorSpace int colorSpace) { // LINT.IfChange(color_space) switch (colorSpace) { @@ -350,25 +459,14 @@ private static String colorRangeToString(@C.ColorRange int colorRange) { } } - @Override - public int hashCode() { - if (hashCode == 0) { - int result = 17; - result = 31 * result + colorSpace; - result = 31 * result + colorRange; - result = 31 * result + colorTransfer; - result = 31 * result + Arrays.hashCode(hdrStaticInfo); - hashCode = result; - } - return hashCode; - } - // Bundleable implementation private static final String FIELD_COLOR_SPACE = Util.intToStringMaxRadix(0); private static final String FIELD_COLOR_RANGE = Util.intToStringMaxRadix(1); private static final String FIELD_COLOR_TRANSFER = Util.intToStringMaxRadix(2); private static final String FIELD_HDR_STATIC_INFO = Util.intToStringMaxRadix(3); + private static final String FIELD_LUMA_BITDEPTH = Util.intToStringMaxRadix(4); + private static final String FIELD_CHROMA_BITDEPTH = Util.intToStringMaxRadix(5); @Override public Bundle toBundle() { @@ -377,6 +475,8 @@ public Bundle toBundle() { bundle.putInt(FIELD_COLOR_RANGE, colorRange); bundle.putInt(FIELD_COLOR_TRANSFER, colorTransfer); bundle.putByteArray(FIELD_HDR_STATIC_INFO, hdrStaticInfo); + bundle.putInt(FIELD_LUMA_BITDEPTH, lumaBitdepth); + bundle.putInt(FIELD_CHROMA_BITDEPTH, chromaBitdepth); return bundle; } @@ -386,5 +486,7 @@ public Bundle toBundle() { bundle.getInt(FIELD_COLOR_SPACE, Format.NO_VALUE), bundle.getInt(FIELD_COLOR_RANGE, Format.NO_VALUE), bundle.getInt(FIELD_COLOR_TRANSFER, Format.NO_VALUE), - bundle.getByteArray(FIELD_HDR_STATIC_INFO)); + bundle.getByteArray(FIELD_HDR_STATIC_INFO), + bundle.getInt(FIELD_LUMA_BITDEPTH, Format.NO_VALUE), + bundle.getInt(FIELD_CHROMA_BITDEPTH, Format.NO_VALUE)); } diff --git a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java index 8536f09ff74..b3429a63f0b 100644 --- a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java @@ -78,7 +78,9 @@ private static Format createTestFormat() { C.COLOR_SPACE_BT709, C.COLOR_RANGE_LIMITED, C.COLOR_TRANSFER_SDR, - new byte[] {1, 2, 3, 4, 5, 6, 7}); + new byte[] {1, 2, 3, 4, 5, 6, 7}, + /* lumaBitdepth */ 9, + /* chromaBitdepth */ 11); return new Format.Builder() .setId("id") diff --git a/libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java b/libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java index c6440562bfc..f11607d569f 100644 --- a/libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java @@ -150,11 +150,12 @@ public void createMediaFormatFromFormat_withPopulatedFormat_generatesExpectedEnt .setAverageBitrate(1) .setChannelCount(2) .setColorInfo( - new ColorInfo( - /* colorSpace= */ C.COLOR_SPACE_BT601, - /* colorRange= */ C.COLOR_RANGE_FULL, - /* colorTransfer= */ C.COLOR_TRANSFER_HLG, - new byte[] {3})) + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT601) + .setColorRange(C.COLOR_RANGE_FULL) + .setColorTransfer(C.COLOR_TRANSFER_HLG) + .setHdrStaticInfo(new byte[] {3}) + .build()) .setSampleMimeType(MimeTypes.VIDEO_H264) .setCodecs("avc.123") .setFrameRate(4) diff --git a/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java b/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java index 635b189c516..5da2bc43bfe 100644 --- a/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java +++ b/libraries/container/src/main/java/androidx/media3/container/NalUnitUtil.java @@ -66,6 +66,8 @@ public static final class SpsData { public final int width; public final int height; public final float pixelWidthHeightRatio; + public final int bitDepthLumaMinus8; + public final int bitDepthChromaMinus8; public final boolean separateColorPlaneFlag; public final boolean frameMbsOnlyFlag; public final int frameNumLength; @@ -85,6 +87,8 @@ public SpsData( int width, int height, float pixelWidthHeightRatio, + int bitDepthLumaMinus8, + int bitDepthChromaMinus8, boolean separateColorPlaneFlag, boolean frameMbsOnlyFlag, int frameNumLength, @@ -102,6 +106,8 @@ public SpsData( this.width = width; this.height = height; this.pixelWidthHeightRatio = pixelWidthHeightRatio; + this.bitDepthLumaMinus8 = bitDepthLumaMinus8; + this.bitDepthChromaMinus8 = bitDepthChromaMinus8; this.separateColorPlaneFlag = separateColorPlaneFlag; this.frameMbsOnlyFlag = frameMbsOnlyFlag; this.frameNumLength = frameNumLength; @@ -382,6 +388,8 @@ public static SpsData parseSpsNalUnitPayload(byte[] nalData, int nalOffset, int int chromaFormatIdc = 1; // Default is 4:2:0 boolean separateColorPlaneFlag = false; + int bitDepthLumaMinus8 = 0; + int bitDepthChromaMinus8 = 0; if (profileIdc == 100 || profileIdc == 110 || profileIdc == 122 @@ -396,8 +404,8 @@ public static SpsData parseSpsNalUnitPayload(byte[] nalData, int nalOffset, int if (chromaFormatIdc == 3) { separateColorPlaneFlag = data.readBit(); } - data.readUnsignedExpGolombCodedInt(); // bit_depth_luma_minus8 - data.readUnsignedExpGolombCodedInt(); // bit_depth_chroma_minus8 + bitDepthLumaMinus8 = data.readUnsignedExpGolombCodedInt(); + bitDepthChromaMinus8 = data.readUnsignedExpGolombCodedInt(); data.skipBit(); // qpprime_y_zero_transform_bypass_flag boolean seqScalingMatrixPresentFlag = data.readBit(); if (seqScalingMatrixPresentFlag) { @@ -511,6 +519,8 @@ public static SpsData parseSpsNalUnitPayload(byte[] nalData, int nalOffset, int frameWidth, frameHeight, pixelWidthHeightRatio, + bitDepthLumaMinus8, + bitDepthChromaMinus8, separateColorPlaneFlag, frameMbsOnlyFlag, frameNumLength, diff --git a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java index fc202d14a85..8a00c8ca7a6 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java @@ -253,9 +253,9 @@ public DefaultVideoFrameProcessor create( throws VideoFrameProcessingException { // TODO(b/261188041) Add tests to verify the Listener is invoked on the given Executor. - checkArgument(inputColorInfo.isValid()); + checkArgument(inputColorInfo.isDataSpaceValid()); checkArgument(inputColorInfo.colorTransfer != C.COLOR_TRANSFER_LINEAR); - checkArgument(outputColorInfo.isValid()); + checkArgument(outputColorInfo.isDataSpaceValid()); checkArgument(outputColorInfo.colorTransfer != C.COLOR_TRANSFER_LINEAR); if (ColorInfo.isTransferHdr(inputColorInfo) || ColorInfo.isTransferHdr(outputColorInfo)) { checkArgument(enableColorTransfers); diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfoTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfoTest.java index 909c5a71ce7..4dbc3f1090f 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfoTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfoTest.java @@ -430,7 +430,10 @@ private static MediaCodecInfo buildAacCodecInfo() { } private static ColorInfo buildColorInfo(@C.ColorSpace int colorSpace) { - return new ColorInfo( - colorSpace, C.COLOR_RANGE_FULL, C.COLOR_TRANSFER_HLG, /* hdrStaticInfo= */ null); + return new ColorInfo.Builder() + .setColorSpace(colorSpace) + .setColorRange(C.COLOR_RANGE_FULL) + .setColorTransfer(C.COLOR_TRANSFER_HLG) + .build(); } } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtilTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtilTest.java index a9e122762fe..d1af420a0ac 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtilTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/mediacodec/MediaCodecUtilTest.java @@ -90,11 +90,12 @@ public void getCodecProfileAndLevel_handlesAv1ProfileMain10CodecString() { @Test public void getCodecProfileAndLevel_handlesAv1ProfileMain10HDRWithHdrInfoSet() { ColorInfo colorInfo = - new ColorInfo( - /* colorSpace= */ C.COLOR_SPACE_BT709, - /* colorRange= */ C.COLOR_RANGE_LIMITED, - /* colorTransfer= */ C.COLOR_TRANSFER_SDR, - /* hdrStaticInfo= */ new byte[] {1, 2, 3, 4, 5, 6, 7}); + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT709) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_SDR) + .setHdrStaticInfo(new byte[] {1, 2, 3, 4, 5, 6, 7}) + .build(); Format format = new Format.Builder() .setSampleMimeType(MimeTypes.VIDEO_AV1) @@ -110,11 +111,11 @@ public void getCodecProfileAndLevel_handlesAv1ProfileMain10HDRWithHdrInfoSet() { @Test public void getCodecProfileAndLevel_handlesAv1ProfileMain10HDRWithoutHdrInfoSet() { ColorInfo colorInfo = - new ColorInfo( - /* colorSpace= */ C.COLOR_SPACE_BT709, - /* colorRange= */ C.COLOR_RANGE_LIMITED, - /* colorTransfer= */ C.COLOR_TRANSFER_HLG, - /* hdrStaticInfo= */ null); + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT709) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_HLG) + .build(); Format format = new Format.Builder() .setSampleMimeType(MimeTypes.VIDEO_AV1) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java index 6d93fd51a46..468c635a4bc 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java @@ -32,6 +32,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.ParserException; @@ -50,7 +51,6 @@ // Format specific parameter names. private static final String PARAMETER_PROFILE_LEVEL_ID = "profile-level-id"; private static final String PARAMETER_SPROP_PARAMS = "sprop-parameter-sets"; - private static final String PARAMETER_AMR_OCTET_ALIGN = "octet-align"; private static final String PARAMETER_AMR_INTERLEAVING = "interleaving"; private static final String PARAMETER_H265_SPROP_SPS = "sprop-sps"; @@ -421,6 +421,14 @@ private static void processH264FmtpAttribute( formatBuilder.setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio); formatBuilder.setHeight(spsData.height); formatBuilder.setWidth(spsData.width); + formatBuilder.setColorInfo( + new ColorInfo.Builder() + .setColorSpace(spsData.colorSpace) + .setColorRange(spsData.colorRange) + .setColorTransfer(spsData.colorTransfer) + .setLumaBitdepth(spsData.bitDepthLumaMinus8 + 8) + .setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8) + .build()); @Nullable String profileLevel = fmtpAttributes.get(PARAMETER_PROFILE_LEVEL_ID); if (profileLevel != null) { @@ -464,6 +472,14 @@ private static void processH265FmtpAttribute( spsNalDataWithStartCode, NAL_START_CODE.length, spsNalDataWithStartCode.length); formatBuilder.setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio); formatBuilder.setHeight(spsData.height).setWidth(spsData.width); + formatBuilder.setColorInfo( + new ColorInfo.Builder() + .setColorSpace(spsData.colorSpace) + .setColorRange(spsData.colorRange) + .setColorTransfer(spsData.colorTransfer) + .setLumaBitdepth(spsData.bitDepthLumaMinus8 + 8) + .setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8) + .build()); formatBuilder.setCodecs( CodecSpecificDataUtil.buildHevcCodecString( diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java index 11fac5a101e..29831cbcdcc 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java @@ -26,6 +26,7 @@ import android.net.Uri; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.extractor.AacUtil; @@ -73,6 +74,12 @@ public void generatePayloadFormat_withH264MediaDescription_succeeds() { .setHeight(544) .setWidth(960) .setCodecs("avc1.64001F") + .setColorInfo( + new ColorInfo.Builder() + .setColorRange(1) + .setLumaBitdepth(8) + .setChromaBitdepth(8) + .build()) .setInitializationData( ImmutableList.of( new byte[] { @@ -246,6 +253,12 @@ public void generatePayloadFormat_withFmtpTrailingSemicolon_succeeds() { .setHeight(544) .setWidth(960) .setCodecs("avc1.64001F") + .setColorInfo( + new ColorInfo.Builder() + .setColorRange(1) + .setChromaBitdepth(8) + .setLumaBitdepth(8) + .build()) .setInitializationData( ImmutableList.of( new byte[] { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java b/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java index 0de91bb6494..3a813705dd8 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/AvcConfig.java @@ -58,6 +58,8 @@ public static AvcConfig parse(ParsableByteArray data) throws ParserException { int width = Format.NO_VALUE; int height = Format.NO_VALUE; + int bitdepthLuma = Format.NO_VALUE; + int bitdepthChroma = Format.NO_VALUE; @C.ColorSpace int colorSpace = Format.NO_VALUE; @C.ColorRange int colorRange = Format.NO_VALUE; @C.ColorTransfer int colorTransfer = Format.NO_VALUE; @@ -70,6 +72,8 @@ public static AvcConfig parse(ParsableByteArray data) throws ParserException { initializationData.get(0), nalUnitLengthFieldLength, sps.length); width = spsData.width; height = spsData.height; + bitdepthLuma = spsData.bitDepthLumaMinus8 + 8; + bitdepthChroma = spsData.bitDepthChromaMinus8 + 8; colorSpace = spsData.colorSpace; colorRange = spsData.colorRange; colorTransfer = spsData.colorTransfer; @@ -84,6 +88,8 @@ public static AvcConfig parse(ParsableByteArray data) throws ParserException { nalUnitLengthFieldLength, width, height, + bitdepthLuma, + bitdepthChroma, colorSpace, colorRange, colorTransfer, @@ -110,6 +116,12 @@ public static AvcConfig parse(ParsableByteArray data) throws ParserException { /** The height of each decoded frame, or {@link Format#NO_VALUE} if unknown. */ public final int height; + /** The bit depth of the luma samples, or {@link Format#NO_VALUE} if unknown. */ + public final int bitdepthLuma; + + /** The bit depth of the chroma samples, or {@link Format#NO_VALUE} if unknown. */ + public final int bitdepthChroma; + /** * The {@link C.ColorSpace} of the video, or {@link Format#NO_VALUE} if unknown or not applicable. */ @@ -141,6 +153,8 @@ private AvcConfig( int nalUnitLengthFieldLength, int width, int height, + int bitdepthLuma, + int bitdepthChroma, @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer, @@ -150,6 +164,8 @@ private AvcConfig( this.nalUnitLengthFieldLength = nalUnitLengthFieldLength; this.width = width; this.height = height; + this.bitdepthLuma = bitdepthLuma; + this.bitdepthChroma = bitdepthChroma; this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java index fa9674ac74d..81ae354fd0b 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java @@ -63,6 +63,8 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { int bufferPosition = 0; int width = Format.NO_VALUE; int height = Format.NO_VALUE; + int bitdepthLuma = Format.NO_VALUE; + int bitdepthChroma = Format.NO_VALUE; @C.ColorSpace int colorSpace = Format.NO_VALUE; @C.ColorRange int colorRange = Format.NO_VALUE; @C.ColorTransfer int colorTransfer = Format.NO_VALUE; @@ -89,6 +91,8 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { buffer, bufferPosition, bufferPosition + nalUnitLength); width = spsData.width; height = spsData.height; + bitdepthLuma = spsData.bitDepthLumaMinus8 + 8; + bitdepthChroma = spsData.bitDepthChromaMinus8 + 8; colorSpace = spsData.colorSpace; colorRange = spsData.colorRange; colorTransfer = spsData.colorTransfer; @@ -114,6 +118,8 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { lengthSizeMinusOne + 1, width, height, + bitdepthLuma, + bitdepthChroma, colorSpace, colorRange, colorTransfer, @@ -142,6 +148,12 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { /** The height of each decoded frame, or {@link Format#NO_VALUE} if unknown. */ public final int height; + /** The bit depth of the luma samples, or {@link Format#NO_VALUE} if unknown. */ + public final int bitdepthLuma; + + /** The bit depth of the chroma samples, or {@link Format#NO_VALUE} if unknown. */ + public final int bitdepthChroma; + /** * The {@link C.ColorSpace} of the video or {@link Format#NO_VALUE} if unknown or not applicable. */ @@ -173,6 +185,8 @@ private HevcConfig( int nalUnitLengthFieldLength, int width, int height, + int bitdepthLuma, + int bitdepthChroma, @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, @C.ColorTransfer int colorTransfer, @@ -182,6 +196,8 @@ private HevcConfig( this.nalUnitLengthFieldLength = nalUnitLengthFieldLength; this.width = width; this.height = height; + this.bitdepthLuma = bitdepthLuma; + this.bitdepthChroma = bitdepthChroma; this.colorSpace = colorSpace; this.colorRange = colorRange; this.colorTransfer = colorTransfer; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java index 03f897629b3..8f402c6389f 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java @@ -232,6 +232,7 @@ public class MatroskaExtractor implements Extractor { private static final int ID_STEREO_MODE = 0x53B8; private static final int ID_COLOUR = 0x55B0; private static final int ID_COLOUR_RANGE = 0x55B9; + private static final int ID_COLOUR_BITS_PER_CHANNEL = 0x55B2; private static final int ID_COLOUR_TRANSFER = 0x55BA; private static final int ID_COLOUR_PRIMARIES = 0x55BB; private static final int ID_MAX_CLL = 0x55BC; @@ -608,6 +609,7 @@ public final int read(ExtractorInput input, PositionHolder seekPosition) throws case ID_CUE_CLUSTER_POSITION: case ID_REFERENCE_BLOCK: case ID_STEREO_MODE: + case ID_COLOUR_BITS_PER_CHANNEL: case ID_COLOUR_RANGE: case ID_COLOUR_TRANSFER: case ID_COLOUR_PRIMARIES: @@ -1017,6 +1019,11 @@ protected void integerElement(int id, long value) throws ParserException { currentTrack.colorTransfer = colorTransfer; } break; + case ID_COLOUR_BITS_PER_CHANNEL: + assertInTrackEntry(id); + currentTrack.hasColorInfo = true; + currentTrack.bitsPerChannel = (int) value; + break; case ID_COLOUR_RANGE: assertInTrackEntry(id); switch ((int) value) { @@ -2013,6 +2020,7 @@ protected static final class Track { // Video elements. public int width = Format.NO_VALUE; public int height = Format.NO_VALUE; + public int bitsPerChannel = Format.NO_VALUE; public int displayWidth = Format.NO_VALUE; public int displayHeight = Format.NO_VALUE; public int displayUnit = DISPLAY_UNIT_PIXELS; @@ -2300,7 +2308,15 @@ public void initializeOutput(ExtractorOutput output, int trackId) throws ParserE @Nullable ColorInfo colorInfo = null; if (hasColorInfo) { @Nullable byte[] hdrStaticInfo = getHdrStaticInfo(); - colorInfo = new ColorInfo(colorSpace, colorRange, colorTransfer, hdrStaticInfo); + colorInfo = + new ColorInfo.Builder() + .setColorSpace(colorSpace) + .setColorRange(colorRange) + .setColorTransfer(colorTransfer) + .setHdrStaticInfo(hdrStaticInfo) + .setLumaBitdepth(bitsPerChannel) + .setChromaBitdepth(bitsPerChannel) + .build(); } int rotationDegrees = Format.NO_VALUE; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java index a40f9a78b9f..3d29f06b8f7 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java @@ -1111,6 +1111,9 @@ private static void parseVideoSampleEntry( int height = parent.readUnsignedShort(); boolean pixelWidthHeightRatioFromPasp = false; float pixelWidthHeightRatio = 1; + // Set default luma and chroma bit depths to 8 as old codecs might not even signal them + int bitdepthLuma = 8; + int bitdepthChroma = 8; parent.skipBytes(50); int childPosition = parent.getPosition(); @@ -1177,6 +1180,8 @@ private static void parseVideoSampleEntry( colorSpace = avcConfig.colorSpace; colorRange = avcConfig.colorRange; colorTransfer = avcConfig.colorTransfer; + bitdepthLuma = avcConfig.bitdepthLuma; + bitdepthChroma = avcConfig.bitdepthChroma; } else if (childAtomType == Atom.TYPE_hvcC) { ExtractorUtil.checkContainerInput(mimeType == null, /* message= */ null); mimeType = MimeTypes.VIDEO_H265; @@ -1191,6 +1196,8 @@ private static void parseVideoSampleEntry( colorSpace = hevcConfig.colorSpace; colorRange = hevcConfig.colorRange; colorTransfer = hevcConfig.colorTransfer; + bitdepthLuma = hevcConfig.bitdepthLuma; + bitdepthChroma = hevcConfig.bitdepthChroma; } else if (childAtomType == Atom.TYPE_dvcC || childAtomType == Atom.TYPE_dvvC) { @Nullable DolbyVisionConfig dolbyVisionConfig = DolbyVisionConfig.parse(parent); if (dolbyVisionConfig != null) { @@ -1203,7 +1210,10 @@ private static void parseVideoSampleEntry( parent.setPosition(childStartPosition + Atom.FULL_HEADER_SIZE); // See vpcC atom syntax: https://www.webmproject.org/vp9/mp4/#syntax_1 parent.skipBytes(2); // profile(8), level(8) - boolean fullRangeFlag = (parent.readUnsignedByte() & 1) != 0; + int byte3 = parent.readUnsignedByte(); + bitdepthLuma = byte3 >> 4; + bitdepthChroma = bitdepthLuma; + boolean fullRangeFlag = (byte3 & 0b1) != 0; int colorPrimaries = parent.readUnsignedByte(); int transferCharacteristics = parent.readUnsignedByte(); colorSpace = ColorInfo.isoColorPrimariesToColorSpace(colorPrimaries); @@ -1213,6 +1223,20 @@ private static void parseVideoSampleEntry( } else if (childAtomType == Atom.TYPE_av1C) { ExtractorUtil.checkContainerInput(mimeType == null, /* message= */ null); mimeType = MimeTypes.VIDEO_AV1; + parent.setPosition(childStartPosition + Atom.HEADER_SIZE); + parent.skipBytes(1); + int byte2 = parent.readUnsignedByte(); + int seqProfile = byte2 >> 5; + int byte3 = parent.readUnsignedByte(); + boolean highBitdepth = ((byte3 >> 6) & 0b1) != 0; + // From https://aomediacodec.github.io/av1-spec/av1-spec.pdf#page=44 + if (seqProfile == 2 && highBitdepth) { + boolean twelveBit = ((byte3 >> 5) & 0b1) != 0; + bitdepthLuma = twelveBit ? 12 : 10; + } else if (seqProfile <= 2) { + bitdepthLuma = highBitdepth ? 10 : 8; + } + bitdepthChroma = bitdepthLuma; } else if (childAtomType == Atom.TYPE_clli) { if (hdrStaticInfo == null) { hdrStaticInfo = allocateHdrStaticInfo(); @@ -1339,20 +1363,18 @@ private static void parseVideoSampleEntry( .setProjectionData(projectionData) .setStereoMode(stereoMode) .setInitializationData(initializationData) - .setDrmInitData(drmInitData); - if (colorSpace != Format.NO_VALUE - || colorRange != Format.NO_VALUE - || colorTransfer != Format.NO_VALUE - || hdrStaticInfo != null) { - // 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]. - formatBuilder.setColorInfo( - new ColorInfo( - colorSpace, - colorRange, - colorTransfer, - hdrStaticInfo != null ? hdrStaticInfo.array() : null)); - } + .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]. + .setColorInfo( + new ColorInfo.Builder() + .setColorSpace(colorSpace) + .setColorRange(colorRange) + .setColorTransfer(colorTransfer) + .setHdrStaticInfo(hdrStaticInfo != null ? hdrStaticInfo.array() : null) + .setLumaBitdepth(bitdepthLuma) + .setChromaBitdepth(bitdepthChroma) + .build()); if (esdsData != null) { formatBuilder diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java index 147af676bea..c6cb9376162 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H264Reader.java @@ -20,6 +20,7 @@ import android.util.SparseArray; import androidx.annotation.Nullable; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Assertions; @@ -219,6 +220,14 @@ private void endNalUnit(long position, int offset, int discardPadding, long pesT .setCodecs(codecs) .setWidth(spsData.width) .setHeight(spsData.height) + .setColorInfo( + new ColorInfo.Builder() + .setColorSpace(spsData.colorSpace) + .setColorRange(spsData.colorRange) + .setColorTransfer(spsData.colorTransfer) + .setLumaBitdepth(spsData.bitDepthLumaMinus8 + 8) + .setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8) + .build()) .setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio) .setInitializationData(initializationData) .build()); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java index c1e3d4ccb18..040ed9fb9ba 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java @@ -17,6 +17,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Assertions; @@ -264,6 +265,14 @@ private static Format parseMediaFormat( .setCodecs(codecs) .setWidth(spsData.width) .setHeight(spsData.height) + .setColorInfo( + new ColorInfo.Builder() + .setColorSpace(spsData.colorSpace) + .setColorRange(spsData.colorRange) + .setColorTransfer(spsData.colorTransfer) + .setLumaBitdepth(spsData.bitDepthLumaMinus8 + 8) + .setChromaBitdepth(spsData.bitDepthChromaMinus8 + 8) + .build()) .setPixelWidthHeightRatio(spsData.pixelWidthHeightRatio) .setInitializationData(Collections.singletonList(csdData)) .build(); diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump index 2e8ca549c19..8ec7baaa23f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump @@ -17,6 +17,9 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump index 2e8ca549c19..8ec7baaa23f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump @@ -17,6 +17,9 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump index 2e8ca549c19..8ec7baaa23f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump @@ -17,6 +17,9 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump index 2e8ca549c19..8ec7baaa23f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump @@ -17,6 +17,9 @@ track 0: width = 180 height = 120 pixelWidthHeightRatio = 0.5 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.42.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 32, hash 1F3D6E87 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump index 713bb91d2a9..2c0dadfe38c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.0.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump index c31ee81b1b1..7d3a61f8d08 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.1.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump index 60508b5bc04..ddc7c10aee2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.2.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump index 33b7075b1ad..04a0db969de 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.3.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump index 713bb91d2a9..2c0dadfe38c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample.mp4.unknown_length.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump index b557ab09f77..75ca98e3b3d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.0.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump index b557ab09f77..75ca98e3b3d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.1.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump index b557ab09f77..75ca98e3b3d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.2.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump index b557ab09f77..75ca98e3b3d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.3.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump index b557ab09f77..75ca98e3b3d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_18byte_nclx_colr.mp4.unknown_length.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump index 0c271ad7581..33d855d2454 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.0.dump @@ -20,6 +20,8 @@ track 0: colorInfo: colorSpace = 2 colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump index 0c271ad7581..33d855d2454 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.1.dump @@ -20,6 +20,8 @@ track 0: colorInfo: colorSpace = 2 colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump index 0c271ad7581..33d855d2454 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.2.dump @@ -20,6 +20,8 @@ track 0: colorInfo: colorSpace = 2 colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump index 0c271ad7581..33d855d2454 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.3.dump @@ -20,6 +20,8 @@ track 0: colorInfo: colorSpace = 2 colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump index 0c271ad7581..33d855d2454 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_android_slow_motion.mp4.unknown_length.dump @@ -20,6 +20,8 @@ track 0: colorInfo: colorSpace = 2 colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 22, hash 4CF81805 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump index cb3c2003f03..1da8999b554 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.0.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump index cb3c2003f03..1da8999b554 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented.mp4.unknown_length.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump index 5b9a721cb6f..462e1454348 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.0.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump index 53cb776780d..388f3a0d86c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.1.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump index ecb83ddeeaa..d69439ddb67 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.2.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump index c0498099406..e8ed448e6c4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.3.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump index 5b9a721cb6f..462e1454348 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_large_bitrates.mp4.unknown_length.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump index 5165fb2222f..8d2edb8b113 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.0.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump index d64a12c6d4d..b1d7f8adefd 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.1.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump index 98cc19fadf9..0b220e1afa4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.2.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump index 3fd459b2466..29ae1ae4b25 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.3.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump index 5165fb2222f..8d2edb8b113 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_seekable.mp4.unknown_length.dump @@ -15,6 +15,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump index cfc8c3c60ca..c2cb6e83a04 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.0.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump index cfc8c3c60ca..c2cb6e83a04 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_fragmented_sei.mp4.unknown_length.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump index 399b08a389b..3b3e5aa63f4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.0.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump index 27816cedb5e..1ff49d15185 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.1.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump index d52b5554fd2..c5989969783 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.2.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump index a9ce9b07f67..3e82996fe52 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.3.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump index 399b08a389b..3b3e5aa63f4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_mdat_too_long.mp4.unknown_length.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump index 85e1af453c7..f0ba575fcb9 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.0.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump index 85e1af453c7..f0ba575fcb9 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_partially_fragmented.mp4.unknown_length.dump @@ -12,6 +12,9 @@ track 0: codecs = avc1.64001F width = 1080 height = 720 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4746B5D9 data = length 10, hash 7A0D0F2B diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump index 717370334c5..29b2cfa6d03 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.0.dump @@ -22,6 +22,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump index e352a2fa081..fe191d47e9f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.1.dump @@ -22,6 +22,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump index c96275c53aa..4b29a5899fb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.2.dump @@ -22,6 +22,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump index b26b77737d6..ed7a217b73b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.3.dump @@ -22,6 +22,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump index 717370334c5..29b2cfa6d03 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_color_info.mp4.unknown_length.dump @@ -22,6 +22,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 7 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600] initializationData: data = length 526, hash 7B3FC433 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump index 198985401ee..4ef00b607a1 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump @@ -21,6 +21,8 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump index 2d033600dda..4fbfbd773e0 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump @@ -21,6 +21,8 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump index c9672440fa2..733957024e7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump @@ -21,6 +21,8 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump index edf606db82f..538fe086d00 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump @@ -21,6 +21,8 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump index 198985401ee..4ef00b607a1 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump @@ -21,6 +21,8 @@ track 0: colorRange = 2 colorTransfer = 6 hdrStaticInfo = length 25, hash 423AFC35 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump index d6216c5bd96..346e692cafc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.0.dump @@ -21,6 +21,8 @@ track 0: colorInfo: colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.apple.quicktime.live-photo.auto, value=01, mdta: key=com.apple.quicktime.content.identifier, value=A873E9D3-2FBA-440A-B4D1-AEB073BC8E54, mdta: key=com.apple.quicktime.live-photo.vitality-score, value=0.9398496, mdta: key=com.apple.quicktime.live-photo.vitality-scoring-version, value=0000000000000004, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone SE (3rd generation), mdta: key=com.apple.quicktime.software, value=16.5.1, mdta: key=com.apple.quicktime.creationdate, value=2023-07-05T13:13:32+0800, Mp4Timestamp: creation time=3771378882, modification time=3771378882, timescale=600] initializationData: data = length 78, hash C57F938D diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump index 21243c95a31..59313ce118d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.1.dump @@ -21,6 +21,8 @@ track 0: colorInfo: colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.apple.quicktime.live-photo.auto, value=01, mdta: key=com.apple.quicktime.content.identifier, value=A873E9D3-2FBA-440A-B4D1-AEB073BC8E54, mdta: key=com.apple.quicktime.live-photo.vitality-score, value=0.9398496, mdta: key=com.apple.quicktime.live-photo.vitality-scoring-version, value=0000000000000004, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone SE (3rd generation), mdta: key=com.apple.quicktime.software, value=16.5.1, mdta: key=com.apple.quicktime.creationdate, value=2023-07-05T13:13:32+0800, Mp4Timestamp: creation time=3771378882, modification time=3771378882, timescale=600] initializationData: data = length 78, hash C57F938D diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump index 62c0ab674b1..849f7152edf 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.2.dump @@ -21,6 +21,8 @@ track 0: colorInfo: colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.apple.quicktime.live-photo.auto, value=01, mdta: key=com.apple.quicktime.content.identifier, value=A873E9D3-2FBA-440A-B4D1-AEB073BC8E54, mdta: key=com.apple.quicktime.live-photo.vitality-score, value=0.9398496, mdta: key=com.apple.quicktime.live-photo.vitality-scoring-version, value=0000000000000004, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone SE (3rd generation), mdta: key=com.apple.quicktime.software, value=16.5.1, mdta: key=com.apple.quicktime.creationdate, value=2023-07-05T13:13:32+0800, Mp4Timestamp: creation time=3771378882, modification time=3771378882, timescale=600] initializationData: data = length 78, hash C57F938D diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump index 53c0705be49..40c4eee40cb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.3.dump @@ -21,6 +21,8 @@ track 0: colorInfo: colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.apple.quicktime.live-photo.auto, value=01, mdta: key=com.apple.quicktime.content.identifier, value=A873E9D3-2FBA-440A-B4D1-AEB073BC8E54, mdta: key=com.apple.quicktime.live-photo.vitality-score, value=0.9398496, mdta: key=com.apple.quicktime.live-photo.vitality-scoring-version, value=0000000000000004, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone SE (3rd generation), mdta: key=com.apple.quicktime.software, value=16.5.1, mdta: key=com.apple.quicktime.creationdate, value=2023-07-05T13:13:32+0800, Mp4Timestamp: creation time=3771378882, modification time=3771378882, timescale=600] initializationData: data = length 78, hash C57F938D diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump index d6216c5bd96..346e692cafc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/sample_with_original_quicktime_specification.mov.unknown_length.dump @@ -21,6 +21,8 @@ track 0: colorInfo: colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.apple.quicktime.live-photo.auto, value=01, mdta: key=com.apple.quicktime.content.identifier, value=A873E9D3-2FBA-440A-B4D1-AEB073BC8E54, mdta: key=com.apple.quicktime.live-photo.vitality-score, value=0.9398496, mdta: key=com.apple.quicktime.live-photo.vitality-scoring-version, value=0000000000000004, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone SE (3rd generation), mdta: key=com.apple.quicktime.software, value=16.5.1, mdta: key=com.apple.quicktime.creationdate, value=2023-07-05T13:13:32+0800, Mp4Timestamp: creation time=3771378882, modification time=3771378882, timescale=600] initializationData: data = length 78, hash C57F938D diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump index 6d210a26ad8..88149be1a2c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.0.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump index 614c00db41b..82dc922fa3c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_dts_audio.ts.unknown_length.dump @@ -12,6 +12,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump index 67a53d89857..14fdeb2b08e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.0.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump index 67a53d89857..14fdeb2b08e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.1.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump index 67a53d89857..14fdeb2b08e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.2.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump index b1aae85d770..5c8e3738567 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.3.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump index 211da769262..1d9e0d4154c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_mpeg_audio.ts.unknown_length.dump @@ -12,6 +12,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump index 606963f1a3d..efc4982d764 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.0.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump index 606963f1a3d..efc4982d764 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.1.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump index 606963f1a3d..efc4982d764 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.2.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump index eb82f409a45..8f744992d89 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.3.dump @@ -15,6 +15,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump index 69ec11e2973..938a3dcffc8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump @@ -12,6 +12,9 @@ track 256: codecs = avc1.64001E width = 640 height = 426 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 29, hash 4C2CAE9C data = length 9, hash D971CD89 diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump index b28ab564d20..d84b88cb2b2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.0.dump @@ -15,6 +15,10 @@ track 256: codecs = hvc1.1.6.L90.90 width = 854 height = 480 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 83, hash 7F428 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump index 830bc3affab..e490cc45b91 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.1.dump @@ -15,6 +15,10 @@ track 256: codecs = hvc1.1.6.L90.90 width = 854 height = 480 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 83, hash 7F428 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump index 1e36d3fd45d..bba794744ea 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.2.dump @@ -15,6 +15,10 @@ track 256: codecs = hvc1.1.6.L90.90 width = 854 height = 480 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 83, hash 7F428 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump index 45b59a2efbb..286707eae8c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.3.dump @@ -15,6 +15,10 @@ track 256: codecs = hvc1.1.6.L90.90 width = 854 height = 480 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 83, hash 7F428 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump index ea0b24b10da..a6f53039d69 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265.ts.unknown_length.dump @@ -12,6 +12,10 @@ track 256: codecs = hvc1.1.6.L90.90 width = 854 height = 480 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 83, hash 7F428 sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump index e09a1ed5f38..4c48998a9c5 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.0.dump @@ -16,6 +16,9 @@ track 256: width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 146, hash 61554FEF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump index 854d46c0002..2333b528417 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.1.dump @@ -16,6 +16,9 @@ track 256: width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 146, hash 61554FEF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump index 9c05ad03978..e333da30083 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.2.dump @@ -16,6 +16,9 @@ track 256: width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 146, hash 61554FEF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump index 156ab664e3d..d77e39484fe 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.3.dump @@ -16,6 +16,9 @@ track 256: width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 146, hash 61554FEF sample 0: diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump index bc6ea441cfe..20da28fa683 100644 --- a/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_h265_rps_pred.ts.unknown_length.dump @@ -13,6 +13,9 @@ track 256: width = 914 height = 686 pixelWidthHeightRatio = 1.0003651 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 initializationData: data = length 146, hash 61554FEF sample 0: diff --git a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump index 334953068ca..a17d5019291 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/h265_with_metadata_track.mp4.dump @@ -69,6 +69,8 @@ track 2: colorSpace = 2 colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 85, hash 6F3CAA16 diff --git a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump index 0688dd9446b..d62b694803d 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/hdr10-720p.mp4.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 6 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 99, hash 99842E5A diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump index 1ef259f1072..0022672c9e0 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump index 0706e970273..16b9c1b912b 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_180_orientation.mp4.dump @@ -19,6 +19,8 @@ track 0: rotationDegrees = 180 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump index c152b1c65c1..edd0ab57657 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_270_orientation.mp4.dump @@ -19,6 +19,8 @@ track 0: rotationDegrees = 270 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump index 2b3fa7ebdc7..2bf7d547e31 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump @@ -19,6 +19,8 @@ track 0: rotationDegrees = 90 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump index fb3a7735e1d..0fc8fe0a833 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_different_tracks_offset.mp4.dump @@ -19,6 +19,8 @@ track 0: frameRate = 20000.0 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 @@ -44,6 +46,8 @@ track 1: frameRate = 10000.0 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump index 584ab8ef056..f22ab257410 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=SomeStringKey, value=10.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump index 6c0155d17d7..2811d53d407 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.android.capture.fps, value=120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump index dfb9bfbfe4c..762f6a9037a 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_location.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[xyz: latitude=33.0, longitude=-120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump index 1ef259f1072..0022672c9e0 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump index fb3a7735e1d..0fc8fe0a833 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_same_tracks_offset.mp4.dump @@ -19,6 +19,8 @@ track 0: frameRate = 20000.0 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 @@ -44,6 +46,8 @@ track 1: frameRate = 10000.0 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump index b44188362f3..37551fdca57 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump @@ -18,6 +18,8 @@ track 0: height = 10 colorInfo: colorRange = 1 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=SomeStringKey, value=Some Random String, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000] initializationData: data = length 28, hash 410B510 diff --git a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump index 0e63fbe676f..6d5031acc99 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/partial_hdr10-720p.mp4.dump @@ -21,6 +21,8 @@ track 0: colorSpace = 6 colorRange = 2 colorTransfer = 6 + lumaBitdepth = 10 + chromaBitdepth = 10 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 99, hash 99842E5A diff --git a/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump index 79f83fab370..9c88ea3fdc5 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/sample.mp4.dump @@ -17,6 +17,9 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump b/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump index ee99ef5b1fb..6d923bf2df6 100644 --- a/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump +++ b/libraries/test_data/src/test/assets/muxerdumps/sample_av1.mp4.dump @@ -16,6 +16,9 @@ track 0: width = 1080 height = 720 frameRate = 31.004547 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp3/test.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp3/test.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump index 13da0e0e370..43830062265 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp3/test.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp3/test.mp3/looping_mixedWith_sample_18byte_nclx_colr.mp4.dump @@ -18,6 +18,8 @@ format video: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump index 63fae311386..0aebbe2bd61 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/noaudio.dump @@ -6,6 +6,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump index 17c19d41bf8..5a01c4f7153 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original.dump @@ -18,6 +18,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump index 07cbd150f69..0ac77e54d90 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/original_original_transmux.dump @@ -18,6 +18,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump index 8f616a8c1e7..766b87e3c1e 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/rotated.dump @@ -19,6 +19,9 @@ format video: height = 720 frameRate = 29.970028 rotationDegrees = 90 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump index 86aeaa68705..ebb6465175e 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence.dump @@ -12,6 +12,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump index 5e87ed4f46f..1733c93d3eb 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/silence_48000hz.dump @@ -12,6 +12,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_capture_fps.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_capture_fps.dump index 520b52eb37f..a87a5fe199d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_capture_fps.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_capture_fps.dump @@ -17,6 +17,10 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.android.capture.fps, value=60.0, xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_creation_time.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_creation_time.dump index a23d9b86dd2..c79fb2b92a5 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_creation_time.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_creation_time.dump @@ -17,6 +17,10 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=2000000000, modification time=2000000000, timescale=10000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_custom_metadata.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_custom_metadata.dump index 661bf62c5b0..a4e64dbad90 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_custom_metadata.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_custom_metadata.dump @@ -17,6 +17,10 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=StringKey, value=StringValue, mdta: key=FloatKey, value=600.0, xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_location_metadata.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_location_metadata.dump index 431d44a3554..caa091288e8 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_location_metadata.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4/with_location_metadata.dump @@ -17,6 +17,10 @@ track 0: width = 1080 height = 720 frameRate = 32.113037 + colorInfo: + colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[xyz: latitude=45.0, longitude=-90.0, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test.mp3.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test.mp3.dump index d43efb0c8a0..14eebf41639 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test.mp3.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/looping_mixedWith_test.mp3.dump @@ -18,6 +18,8 @@ format video: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump index 5792fb03268..9273e09aef4 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/original.dump @@ -10,6 +10,8 @@ format video: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump index 90ac8632729..cb3541e9add 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4/silence.dump @@ -16,6 +16,8 @@ format video: colorSpace = 1 colorRange = 2 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump index d8e1c96eff8..1795d9c07fa 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4/noaudio.dump @@ -6,6 +6,9 @@ format video: width = 320 height = 240 frameRate = 29.523811 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[mdta: key=com.android.version, value=10, mdta: key=com.android.video.temporal_layers_count, value=4, mdta: key=com.android.capture.fps, value=240.0, SlowMotion: segments=[Segment: startTimeMs=88, endTimeMs=879, speedDivisor=2, Segment: startTimeMs=1255, endTimeMs=1970, speedDivisor=8], smta: captureFrameRate=240.0, svcTemporalLayerCount=4, Mp4Timestamp: creation time=3686904890, modification time=3686904890, timescale=1000] initializationData: data = length 33, hash D3FB879D diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/original.dump index cd869ca44b7..1e9434772ca 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/original.dump @@ -13,6 +13,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/silence.dump index 2359889ccc0..debc6b9e332 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_twos_pcm.mp4/silence.dump @@ -12,6 +12,9 @@ format video: width = 1080 height = 720 frameRate = 29.970028 + colorInfo: + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 29, hash 4746B5D9 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump index 7a840fc4134..356c62bc661 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped.dump @@ -23,6 +23,8 @@ format video: colorSpace = 2 colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 31, hash 4B108214 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump index c2926d425e3..2a30943175c 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4/clipped_clipped_transmux.dump @@ -23,6 +23,8 @@ format video: colorSpace = 2 colorRange = 1 colorTransfer = 3 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 31, hash 4B108214 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump index e61a8bbf7e9..8bd7fca8688 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/highPitch_silenceHighPitch.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump index a27aa4f33b8..1a8cf2d1754 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/mixed_sample_rf64.wav.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump index a77194625a3..093c0819c66 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump index b39b2484ee6..ce81e5d5189 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/original_silence.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump index 8b380eb665c..d951f9bf7a2 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump index 1d118b927d9..0b5f659977b 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/sequence_repeated3Times_mixed_loopingAudiosowt-with-video.mov.dump @@ -16,6 +16,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump index 244cb2cc345..02d82b96622 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump index 3e61256ed54..8708b2baa87 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_highPitch.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump index bd198a627bb..29b54f0ffcb 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silence.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump index b22c48daa0d..7806630a63a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silenceHighPitch_silenceHighPitch.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump index 5d0d86281c9..a3527fa5110 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_original.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump index 18cac4b2992..c09558b8fab 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silence.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump index 1f5a7b804bd..5cd3131c6e8 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov/silence_silenceHighPitch.dump @@ -15,6 +15,8 @@ format video: colorInfo: colorSpace = 1 colorRange = 2 + lumaBitdepth = 8 + chromaBitdepth = 8 metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000] initializationData: data = length 34, hash 8D738018 diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java index d7a8787d499..c9a650bac92 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpableFormat.java @@ -74,6 +74,9 @@ public void dump(Dumper dumper) { if (colorInfo.hdrStaticInfo != null) { dumper.add("hdrStaticInfo", colorInfo.hdrStaticInfo); } + addIfNonDefault(dumper, "lumaBitdepth", colorInfo, DEFAULT_COLOR_INFO, c -> c.lumaBitdepth); + addIfNonDefault( + dumper, "chromaBitdepth", colorInfo, DEFAULT_COLOR_INFO, c -> c.chromaBitdepth); dumper.endBlock(); } addIfNonDefault(dumper, "channelCount", format, DEFAULT_FORMAT, format -> format.channelCount); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java index 0e04ce596e9..7be42355634 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSampleExporter.java @@ -97,7 +97,7 @@ public VideoSampleExporter( finalFramePresentationTimeUs = C.TIME_UNSET; ColorInfo decoderInputColor; - if (firstInputFormat.colorInfo == null || !firstInputFormat.colorInfo.isValid()) { + if (firstInputFormat.colorInfo == null || !firstInputFormat.colorInfo.isDataSpaceValid()) { Log.d(TAG, "colorInfo is null or invalid. Defaulting to SDR_BT709_LIMITED."); decoderInputColor = ColorInfo.SDR_BT709_LIMITED; } else {