From 5ee6c9b16de3fbb5eafbd6664e92759f2800ab86 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Thu, 25 Apr 2024 09:34:54 -0700 Subject: [PATCH] ultraHdr test: add checks for devices with invalid color formats PiperOrigin-RevId: 628101730 --- .../media3/transformer/AndroidTestUtil.java | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index fb304a3fdf..96bb9de0a9 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -639,10 +639,35 @@ public final class AndroidTestUtil { public static void assertSdrColors(Context context, String filePath) throws ExecutionException, InterruptedException { ColorInfo colorInfo = retrieveTrackFormat(context, filePath, C.TRACK_TYPE_VIDEO).colorInfo; - assertThat(colorInfo.colorTransfer).isEqualTo(C.COLOR_TRANSFER_SDR); - // Before API 34 some encoders output a BT.601 bitstream even though we request BT.709 for SDR - // output, so allow both color spaces in output files when checking for SDR. - assertThat(colorInfo.colorSpace).isAnyOf(C.COLOR_SPACE_BT709, C.COLOR_SPACE_BT601); + if (isInInvalidDataSpaceDeviceList()) { + assertThat(colorInfo.colorTransfer).isEqualTo(Format.NO_VALUE); + assertThat(colorInfo.colorSpace).isEqualTo(Format.NO_VALUE); + } else { + assertThat(colorInfo.colorTransfer).isEqualTo(C.COLOR_TRANSFER_SDR); + // Before API 34 some encoders output a BT.601 bitstream even though we request BT.709 for SDR + // output, so allow both color spaces in output files when checking for SDR. + assertThat(colorInfo.colorSpace).isAnyOf(C.COLOR_SPACE_BT709, C.COLOR_SPACE_BT601); + } + } + + public static boolean isInInvalidDataSpaceDeviceList() { + switch (Util.SDK_INT) { + case 23: + return Util.MODEL.equals("vivo 1610") + || Util.MODEL.equals("sm-n920v") + || Util.MODEL.equals("nexus-5") + || Util.MODEL.equals("moto-g-play") + || Util.MODEL.equals("sm-g532g") + || Util.MODEL.equals("lg-as110"); + case 27: + return Util.MODEL.equals("redmi 6a") || Util.MODEL.equals("vivo 1820"); + case 28: + return Util.MODEL.equals("vivo 1901"); + case 29: + return Util.MODEL.equals("cph2179"); + default: + return false; + } } public static ImmutableList extractBitmapsFromVideo(Context context, String filePath)