mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Effect: split ending frame Processing and getting the output bitmap in tests
PiperOrigin-RevId: 527554408
This commit is contained in:
parent
8c262d6c07
commit
0902fad55d
@ -80,7 +80,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
|
|||||||
3 * C.MICROS_PER_SECOND,
|
3 * C.MICROS_PER_SECOND,
|
||||||
/* offsetToAddUs= */ 0L,
|
/* offsetToAddUs= */ 0L,
|
||||||
/* frameRate= */ 4);
|
/* frameRate= */ 4);
|
||||||
videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
|
|
||||||
int actualFrameCount = framesProduced.get();
|
int actualFrameCount = framesProduced.get();
|
||||||
assertThat(actualFrameCount).isEqualTo(/* expected= */ 20);
|
assertThat(actualFrameCount).isEqualTo(/* expected= */ 20);
|
||||||
@ -99,7 +99,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
|
|||||||
/* offsetToAddUs= */ 0L,
|
/* offsetToAddUs= */ 0L,
|
||||||
/* frameRate= */ 1);
|
/* frameRate= */ 1);
|
||||||
}
|
}
|
||||||
videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
|
|
||||||
int actualFrameCount = framesProduced.get();
|
int actualFrameCount = framesProduced.get();
|
||||||
assertThat(actualFrameCount).isEqualTo(/* expected= */ 20);
|
assertThat(actualFrameCount).isEqualTo(/* expected= */ 20);
|
||||||
@ -123,7 +123,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
|
|||||||
/* durationUs= */ C.MICROS_PER_SECOND,
|
/* durationUs= */ C.MICROS_PER_SECOND,
|
||||||
/* offsetToAddUs= */ offsetUs,
|
/* offsetToAddUs= */ offsetUs,
|
||||||
/* frameRate= */ 2);
|
/* frameRate= */ 2);
|
||||||
videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
assertThat(actualPresentationTimesUs)
|
assertThat(actualPresentationTimesUs)
|
||||||
.containsExactly(offsetUs, offsetUs + C.MICROS_PER_SECOND / 2)
|
.containsExactly(offsetUs, offsetUs + C.MICROS_PER_SECOND / 2)
|
||||||
.inOrder();
|
.inOrder();
|
||||||
@ -152,7 +152,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
|
|||||||
/* durationUs= */ C.MICROS_PER_SECOND,
|
/* durationUs= */ C.MICROS_PER_SECOND,
|
||||||
/* offsetToAddUs= */ offsetUs2,
|
/* offsetToAddUs= */ offsetUs2,
|
||||||
/* frameRate= */ 2);
|
/* frameRate= */ 2);
|
||||||
videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
assertThat(actualPresentationTimesUs)
|
assertThat(actualPresentationTimesUs)
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
offsetUs1,
|
offsetUs1,
|
||||||
@ -180,7 +180,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
|
|||||||
/* durationUs= */ C.MICROS_PER_SECOND,
|
/* durationUs= */ C.MICROS_PER_SECOND,
|
||||||
/* offsetToAddUs= */ 0L,
|
/* offsetToAddUs= */ 0L,
|
||||||
/* frameRate= */ 2);
|
/* frameRate= */ 2);
|
||||||
videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
videoFrameProcessorTestRunner.queueInputBitmap(
|
videoFrameProcessorTestRunner.queueInputBitmap(
|
||||||
readBitmap(ORIGINAL_PNG_ASSET_PATH),
|
readBitmap(ORIGINAL_PNG_ASSET_PATH),
|
||||||
/* durationUs= */ 2 * C.MICROS_PER_SECOND,
|
/* durationUs= */ 2 * C.MICROS_PER_SECOND,
|
||||||
|
@ -100,7 +100,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
|
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -121,7 +122,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
|
|
||||||
videoFrameProcessorTestRunner.queueInputBitmap(
|
videoFrameProcessorTestRunner.queueInputBitmap(
|
||||||
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
|
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -149,7 +151,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
|
|
||||||
videoFrameProcessorTestRunner.queueInputBitmap(
|
videoFrameProcessorTestRunner.queueInputBitmap(
|
||||||
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
|
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.endFrameProcessingAndGetImage();
|
videoFrameProcessorTestRunner.endFrameProcessing();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -166,7 +169,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -181,7 +185,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
getDefaultFrameProcessorTestRunnerBuilder(testId).setPixelWidthHeightRatio(2f).build();
|
getDefaultFrameProcessorTestRunnerBuilder(testId).setPixelWidthHeightRatio(2f).build();
|
||||||
Bitmap expectedBitmap = readBitmap(SCALE_WIDE_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(SCALE_WIDE_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -200,7 +205,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -221,7 +227,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(TRANSLATE_THEN_ROTATE_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(TRANSLATE_THEN_ROTATE_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -240,7 +247,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -261,7 +269,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ROTATE_THEN_TRANSLATE_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ROTATE_THEN_TRANSLATE_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -278,7 +287,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -299,7 +309,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -316,7 +327,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -339,7 +351,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ROTATE_THEN_SCALE_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ROTATE_THEN_SCALE_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -363,15 +376,16 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.setOutputFileLabel("centerCrop")
|
.setOutputFileLabel("centerCrop")
|
||||||
.setEffects(centerCrop)
|
.setEffects(centerCrop)
|
||||||
.build();
|
.build();
|
||||||
Bitmap centerCropResultBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap centerCropResultBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
videoFrameProcessorTestRunner.release();
|
videoFrameProcessorTestRunner.release();
|
||||||
videoFrameProcessorTestRunner =
|
videoFrameProcessorTestRunner =
|
||||||
getDefaultFrameProcessorTestRunnerBuilder(testId)
|
getDefaultFrameProcessorTestRunnerBuilder(testId)
|
||||||
.setOutputFileLabel("full10StepRotationAndCenterCrop")
|
.setOutputFileLabel("full10StepRotationAndCenterCrop")
|
||||||
.setEffects(full10StepRotationAndCenterCrop.build())
|
.setEffects(full10StepRotationAndCenterCrop.build())
|
||||||
.build();
|
.build();
|
||||||
Bitmap fullRotationAndCenterCropResultBitmap =
|
|
||||||
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap fullRotationAndCenterCropResultBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -387,7 +401,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
getDefaultFrameProcessorTestRunnerBuilder(testId).setEffects(new Brightness(0.5f)).build();
|
getDefaultFrameProcessorTestRunnerBuilder(testId).setEffects(new Brightness(0.5f)).build();
|
||||||
Bitmap expectedBitmap = readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -418,8 +433,9 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(),
|
new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(),
|
||||||
centerCrop)
|
centerCrop)
|
||||||
.build();
|
.build();
|
||||||
Bitmap centerCropAndBrightnessIncreaseResultBitmap =
|
|
||||||
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap centerCropAndBrightnessIncreaseResultBitmap =
|
||||||
|
videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
videoFrameProcessorTestRunner.release();
|
videoFrameProcessorTestRunner.release();
|
||||||
videoFrameProcessorTestRunner =
|
videoFrameProcessorTestRunner =
|
||||||
@ -427,8 +443,9 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop")
|
.setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop")
|
||||||
.setEffects(increaseBrightnessFullRotationCenterCrop)
|
.setEffects(increaseBrightnessFullRotationCenterCrop)
|
||||||
.build();
|
.build();
|
||||||
Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap =
|
|
||||||
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap =
|
||||||
|
videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -465,17 +482,18 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(),
|
new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(),
|
||||||
centerCrop)
|
centerCrop)
|
||||||
.build();
|
.build();
|
||||||
Bitmap centerCropAndBrightnessIncreaseResultBitmap =
|
|
||||||
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap centerCropAndBrightnessIncreaseResultBitmap =
|
||||||
|
videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
videoFrameProcessorTestRunner.release();
|
videoFrameProcessorTestRunner.release();
|
||||||
videoFrameProcessorTestRunner =
|
videoFrameProcessorTestRunner =
|
||||||
getDefaultFrameProcessorTestRunnerBuilder(testId)
|
getDefaultFrameProcessorTestRunnerBuilder(testId)
|
||||||
.setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop")
|
.setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop")
|
||||||
.setEffects(increaseBrightnessFullRotationCenterCrop)
|
.setEffects(increaseBrightnessFullRotationCenterCrop)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap =
|
|
||||||
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap =
|
||||||
|
videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -497,7 +515,8 @@ public final class DefaultVideoFrameProcessorPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
|
@ -236,7 +236,7 @@ public final class VideoFrameProcessorTestRunner {
|
|||||||
* Time to wait for the decoded frame to populate the {@link VideoFrameProcessor} instance's input
|
* Time to wait for the decoded frame to populate the {@link VideoFrameProcessor} instance's input
|
||||||
* surface and the {@link VideoFrameProcessor} to finish processing the frame, in milliseconds.
|
* surface and the {@link VideoFrameProcessor} to finish processing the frame, in milliseconds.
|
||||||
*/
|
*/
|
||||||
private static final int VIDEO_FRAME_PROCESSING_WAIT_MS = 5000;
|
public static final int VIDEO_FRAME_PROCESSING_WAIT_MS = 5000;
|
||||||
|
|
||||||
private final String testId;
|
private final String testId;
|
||||||
private final @MonotonicNonNull String videoAssetPath;
|
private final @MonotonicNonNull String videoAssetPath;
|
||||||
@ -313,7 +313,7 @@ public final class VideoFrameProcessorTestRunner {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bitmap processFirstFrameAndEnd() throws Exception {
|
public void processFirstFrameAndEnd() throws Exception {
|
||||||
DecodeOneFrameUtil.decodeOneAssetFileFrame(
|
DecodeOneFrameUtil.decodeOneAssetFileFrame(
|
||||||
checkNotNull(videoAssetPath),
|
checkNotNull(videoAssetPath),
|
||||||
new DecodeOneFrameUtil.Listener() {
|
new DecodeOneFrameUtil.Listener() {
|
||||||
@ -335,7 +335,7 @@ public final class VideoFrameProcessorTestRunner {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
videoFrameProcessor.getInputSurface());
|
videoFrameProcessor.getInputSurface());
|
||||||
return endFrameProcessingAndGetImage();
|
endFrameProcessing();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void queueInputBitmap(
|
public void queueInputBitmap(
|
||||||
@ -349,13 +349,24 @@ public final class VideoFrameProcessorTestRunner {
|
|||||||
videoFrameProcessor.queueInputBitmap(inputBitmap, durationUs, frameRate);
|
videoFrameProcessor.queueInputBitmap(inputBitmap, durationUs, frameRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bitmap endFrameProcessingAndGetImage() throws Exception {
|
public void endFrameProcessing() throws InterruptedException {
|
||||||
|
endFrameProcessing(VIDEO_FRAME_PROCESSING_WAIT_MS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endFrameProcessing(long videoFrameProcessingWaitTime) throws InterruptedException {
|
||||||
videoFrameProcessor.signalEndOfInput();
|
videoFrameProcessor.signalEndOfInput();
|
||||||
Thread.sleep(VIDEO_FRAME_PROCESSING_WAIT_MS);
|
Thread.sleep(videoFrameProcessingWaitTime);
|
||||||
|
|
||||||
assertThat(videoFrameProcessingException.get()).isNull();
|
assertThat(videoFrameProcessingException.get()).isNull();
|
||||||
assertThat(videoFrameProcessingEnded).isTrue();
|
assertThat(videoFrameProcessingEnded).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the {@link Bitmap} from the provided {@link BitmapReader}.
|
||||||
|
*
|
||||||
|
* <p>Also saves the bitmap to the cache directory.
|
||||||
|
*/
|
||||||
|
public Bitmap getOutputBitmap() {
|
||||||
Bitmap outputBitmap = checkNotNull(bitmapReader).getBitmap();
|
Bitmap outputBitmap = checkNotNull(bitmapReader).getBitmap();
|
||||||
maybeSaveTestBitmap(testId, /* bitmapLabel= */ outputFileLabel, outputBitmap, /* path= */ null);
|
maybeSaveTestBitmap(testId, /* bitmapLabel= */ outputFileLabel, outputBitmap, /* path= */ null);
|
||||||
return outputBitmap;
|
return outputBitmap;
|
||||||
|
@ -109,7 +109,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
|
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -135,8 +136,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
.setEffects(new OverlayEffect(ImmutableList.of(bitmapOverlay)))
|
.setEffects(new OverlayEffect(ImmutableList.of(bitmapOverlay)))
|
||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH);
|
||||||
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -167,7 +168,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -202,7 +204,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -234,7 +237,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
@ -269,7 +273,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest {
|
|||||||
.build();
|
.build();
|
||||||
Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH);
|
Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH);
|
||||||
|
|
||||||
Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
|
|
||||||
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
// TODO(b/207848601): Switch to using proper tooling for testing against golden data.
|
||||||
float averagePixelAbsoluteDifference =
|
float averagePixelAbsoluteDifference =
|
||||||
|
@ -124,7 +124,8 @@ public final class ToneMapHdrToSdrUsingOpenGlPixelTest {
|
|||||||
|
|
||||||
Bitmap actualBitmap;
|
Bitmap actualBitmap;
|
||||||
try {
|
try {
|
||||||
actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
if (e.getMessage() != null
|
if (e.getMessage() != null
|
||||||
&& e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) {
|
&& e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) {
|
||||||
@ -187,7 +188,8 @@ public final class ToneMapHdrToSdrUsingOpenGlPixelTest {
|
|||||||
|
|
||||||
Bitmap actualBitmap;
|
Bitmap actualBitmap;
|
||||||
try {
|
try {
|
||||||
actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
videoFrameProcessorTestRunner.processFirstFrameAndEnd();
|
||||||
|
actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
if (e.getMessage() != null
|
if (e.getMessage() != null
|
||||||
&& e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) {
|
&& e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user