diff --git a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/original_hdr10_to_hlg.png b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/original_hdr10_to_hlg.png index 3782958ff1..f7208ddc41 100644 Binary files a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/original_hdr10_to_hlg.png and b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/original_hdr10_to_hlg.png differ diff --git a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/text_overlay.png b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/text_overlay.png index bf052d8d2c..b5d1a7edc2 100644 Binary files a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/text_overlay.png and b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/text_overlay.png differ diff --git a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/ultrahdr_overlay_pq.png b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/ultrahdr_overlay_pq.png index a3db1d15d0..32db2f68da 100644 Binary files a/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/ultrahdr_overlay_pq.png and b/libraries/test_data/src/test/assets/test-generated-goldens/hdr-goldens/ultrahdr_overlay_pq.png differ diff --git a/libraries/test_data/src/test/assets/test-generated-goldens/sample_mp4_first_frame/electrical_colors/original_hdr10.png b/libraries/test_data/src/test/assets/test-generated-goldens/sample_mp4_first_frame/electrical_colors/original_hdr10.png index 81585215f4..648de4b566 100644 Binary files a/libraries/test_data/src/test/assets/test-generated-goldens/sample_mp4_first_frame/electrical_colors/original_hdr10.png and b/libraries/test_data/src/test/assets/test-generated-goldens/sample_mp4_first_frame/electrical_colors/original_hdr10.png differ diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java index 3bb273faed..3421b3b0c3 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java @@ -328,6 +328,7 @@ public final class VideoFrameProcessorTestRunner { this.effects = effects; } + @SuppressLint("InlinedApi") // Inlined MediaFormat keys. public void processFirstFrameAndEnd() throws Exception { DecodeOneFrameUtil.decodeOneAssetFileFrame( checkNotNull(videoAssetPath), @@ -336,12 +337,22 @@ public final class VideoFrameProcessorTestRunner { public void onContainerExtracted(MediaFormat mediaFormat) { videoFrameProcessorReadyCondition.close(); @Nullable ColorInfo colorInfo = MediaFormatUtil.getColorInfo(mediaFormat); + int rotationDegrees = + MediaFormatUtil.getInteger( + mediaFormat, MediaFormat.KEY_ROTATION, /* defaultValue= */ 0); + int width = mediaFormat.getInteger(MediaFormat.KEY_WIDTH); + int height = mediaFormat.getInteger(MediaFormat.KEY_HEIGHT); + if (rotationDegrees % 180 == 90) { + int tmp = width; + width = height; + height = tmp; + } videoFrameProcessor.registerInputStream( INPUT_TYPE_SURFACE, new Format.Builder() .setColorInfo(colorInfo == null ? ColorInfo.SDR_BT709_LIMITED : colorInfo) - .setWidth(mediaFormat.getInteger(MediaFormat.KEY_WIDTH)) - .setHeight(mediaFormat.getInteger(MediaFormat.KEY_HEIGHT)) + .setWidth(width) + .setHeight(height) .setPixelWidthHeightRatio(pixelWidthHeightRatio) .build(), effects, diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java index 91d51f42fa..8b162ca48e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java @@ -389,9 +389,7 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { videoFrameProcessorTestRunner.processFirstFrameAndEnd(); Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); - // TODO: b/376016540 - use HDR_PSNR_THRESHOLD when HDR videos are processed with high floating - // point precision. - assertBitmapsAreSimilar(expectedBitmap, actualBitmap, /* psnrThresholdDb= */ 42.5); + assertBitmapsAreSimilar(expectedBitmap, actualBitmap, HDR_PSNR_THRESHOLD); } @Test