From 5fc9ddab0b9411d01e2336444abbac85193c4930 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 20 Mar 2024 11:48:23 -0700 Subject: [PATCH] Partial revert of https://github.com/androidx/media/commit/3a7d31a599fdb9716c95d5cbbb599259bb0464f4 The original change did not set the color info in the codec for standard SDR infos. This was meant to help with consistency to avoid a situation where the information is partially set and later the bitstream provides slightly different values (all in standard SDR though). We can revert this part because the bitstream may change anyway and the decoder needs to handle this internally. And more importantly, it also avoids removing this information when encoding the format again in Transformer. PiperOrigin-RevId: 617582066 (cherry picked from commit ed505df2cac9a243a29f4d1e170860fb3c66d4aa) --- .../androidx/media3/common/util/MediaFormatUtil.java | 2 +- .../media3/common/util/MediaFormatUtilTest.java | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java index 32fe6c156a..1824b33f2d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java @@ -252,7 +252,7 @@ public final class MediaFormatUtil { */ @SuppressWarnings("InlinedApi") public static void maybeSetColorInfo(MediaFormat format, @Nullable ColorInfo colorInfo) { - if (!ColorInfo.isEquivalentToAssumedSdrDefault(colorInfo)) { + if (colorInfo != null) { maybeSetInteger(format, MediaFormat.KEY_COLOR_TRANSFER, colorInfo.colorTransfer); maybeSetInteger(format, MediaFormat.KEY_COLOR_STANDARD, colorInfo.colorSpace); maybeSetInteger(format, MediaFormat.KEY_COLOR_RANGE, colorInfo.colorRange); 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 9616b8dbb3..7bd10d7ff4 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 @@ -240,16 +240,4 @@ public class MediaFormatUtilTest { .isEqualTo(C.ENCODING_PCM_16BIT_BIG_ENDIAN); assertThat(mediaFormat.containsKey(MediaFormat.KEY_PCM_ENCODING)).isFalse(); } - - @Test - public void createMediaFormatFromFormat_withSdrColorInfo_omitsMediaFormatColorInfoKeys() { - Format format = new Format.Builder().setColorInfo(ColorInfo.SDR_BT709_LIMITED).build(); - - MediaFormat mediaFormat = MediaFormatUtil.createMediaFormatFromFormat(format); - - assertThat(mediaFormat.containsKey(MediaFormat.KEY_COLOR_TRANSFER)).isFalse(); - assertThat(mediaFormat.containsKey(MediaFormat.KEY_COLOR_RANGE)).isFalse(); - assertThat(mediaFormat.containsKey(MediaFormat.KEY_COLOR_STANDARD)).isFalse(); - assertThat(mediaFormat.containsKey(MediaFormat.KEY_HDR_STATIC_INFO)).isFalse(); - } }