From 574424f626f1a34c7b2034c620f344246ff1d80f Mon Sep 17 00:00:00 2001 From: tofunmi Date: Fri, 10 Feb 2023 14:32:07 +0000 Subject: [PATCH] Update frame & texture processors to handle SDR image input GLEffectsFrameProcessor, MatrixShaderProgram and FinalMatrixShaderProgramWrapper are currently setup to handle the input frames coming from an external input (i.e. a video decoder). Image input is loaded into Bitmap objects at the start of the pipeline, so they are not produced externally. The changes provide a way for the frame processing pipeline to handle this "internal" (i.e. non-external) input. PiperOrigin-RevId: 508645244 --- .../media3/common/FrameProcessor.java | 22 ++- .../GlEffectsFrameProcessorPixelTest.java | 52 +++++- ...hader_transformation_sdr_internal_es2.glsl | 103 ++++++++++++ .../FinalMatrixShaderProgramWrapper.java | 35 ++-- .../effect/GlEffectsFrameProcessor.java | 99 +++++++---- .../media3/effect/InternalTextureManager.java | 159 ++++++++++++++++++ .../media3/effect/MatrixShaderProgram.java | 146 +++++++++++----- .../image_input_with_wrapped_crop.png | Bin 0 -> 196900 bytes .../test/utils/FrameProcessorTestRunner.java | 33 +++- 9 files changed, 554 insertions(+), 95 deletions(-) create mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_internal_es2.glsl create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/InternalTextureManager.java create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/image_input_with_wrapped_crop.png diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index f7d52052e7..4b926c8ccb 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -127,20 +127,25 @@ public interface FrameProcessor { /** * Provides an input {@link Bitmap} to the {@link FrameProcessor}. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_IMAGE} as the {@code inputTrackType}. + * *

Can be called on any thread. * * @param inputBitmap The {@link Bitmap} queued to the {@link FrameProcessor}. * @param durationUs The duration for which to display the {@code inputBitmap}, in microseconds. * @param frameRate The frame rate at which to display the {@code inputBitmap}, in frames per - * second. */ - // TODO(b/262693274): Remove duration & frameRate parameters when EditedMediaItem can be signalled - // down to the processors. - void queueInputBitmap(Bitmap inputBitmap, long durationUs, int frameRate); + // TODO(b/262693274): Remove duration and frameRate parameters when EditedMediaItem can be + // signalled down to the processors. + void queueInputBitmap(Bitmap inputBitmap, long durationUs, float frameRate); /** * Returns the input {@link Surface}, where {@link FrameProcessor} consumes input frames from. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_VIDEO} as the {@code inputTrackType}. + * *

Can be called on any thread. */ Surface getInputSurface(); @@ -167,6 +172,9 @@ public interface FrameProcessor { * *

Must be called before rendering a frame to the frame processor's input surface. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_VIDEO} as the {@code inputTrackType}. + * *

Can be called on any thread. * * @throws IllegalStateException If called after {@link #signalEndOfInput()} or before {@link @@ -178,6 +186,9 @@ public interface FrameProcessor { * Returns the number of input frames that have been {@linkplain #registerInputFrame() registered} * but not processed off the {@linkplain #getInputSurface() input surface} yet. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_VIDEO} as the {@code inputTrackType}. + * *

Can be called on any thread. */ int getPendingInputFrameCount(); @@ -235,6 +246,9 @@ public interface FrameProcessor { *

All the frames that are {@linkplain #registerInputFrame() registered} prior to calling this * method are no longer considered to be registered when this method returns. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_VIDEO} as the {@code inputTrackType}. + * *

{@link Listener} methods invoked prior to calling this method should be ignored. */ void flush(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 32c5c4f97e..d9111813e9 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -15,6 +15,7 @@ */ package androidx.media3.effect; +import static androidx.media3.common.C.TRACK_TYPE_IMAGE; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.effect.OverlayShaderProgramPixelTest.OVERLAY_PNG_ASSET_PATH; @@ -54,6 +55,8 @@ import org.junit.runner.RunWith; public final class GlEffectsFrameProcessorPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/electrical_colors/original.png"; + public static final String WRAPPED_CROP_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/electrical_colors/image_input_with_wrapped_crop.png"; // This file is generated on a Pixel 7, because the emulator isn't able to generate this file. public static final String BITMAP_OVERLAY_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/electrical_colors/overlay_bitmap_FrameProcessor.png"; @@ -102,6 +105,50 @@ public final class GlEffectsFrameProcessorPixelTest { assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + @Test + public void noEffects_withImageInput_matchesGoldenFile() throws Exception { + String testId = "noEffects_withImageInput_matchesGoldenFile"; + frameProcessorTestRunner = + getDefaultFrameProcessorTestRunnerBuilder(testId) + .setInputTrackType(TRACK_TYPE_IMAGE) + .build(); + Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); + + Bitmap actualBitmap = frameProcessorTestRunner.processImageFrameAndEnd(expectedBitmap); + + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + getBitmapAveragePixelAbsoluteDifferenceArgb8888(expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void wrappedCrop_withImageInput_matchesGoldenFile() throws Exception { + String testId = "wrappedCrop_withImageInput_matchesGoldenFile"; + frameProcessorTestRunner = + getDefaultFrameProcessorTestRunnerBuilder(testId) + .setInputTrackType(TRACK_TYPE_IMAGE) + .setEffects( + new GlEffectWrapper( + new Crop( + /* left= */ -0.5f, + /* right= */ 0.5f, + /* bottom= */ -0.5f, + /* top= */ 0.5f))) + .build(); + Bitmap originalBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); + Bitmap expectedBitmap = readBitmap(WRAPPED_CROP_PNG_ASSET_PATH); + + Bitmap actualBitmap = frameProcessorTestRunner.processImageFrameAndEnd(originalBitmap); + + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + getBitmapAveragePixelAbsoluteDifferenceArgb8888(expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + // TODO(b/262693274): Once texture deletion is added to InternalTextureManager.java, add a test + // queuing multiple input bitmaps to ensure successfully completion without errors. + @Test public void noEffects_withFrameCache_matchesGoldenFile() throws Exception { String testId = "noEffects_withFrameCache_matchesGoldenFile"; @@ -238,9 +285,10 @@ public final class GlEffectsFrameProcessorPixelTest { frameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setEffects( - new Crop(/* left= */ -.5f, /* right= */ .5f, /* bottom= */ -.5f, /* top= */ .5f), + new Crop( + /* left= */ -0.5f, /* right= */ 0.5f, /* bottom= */ -0.5f, /* top= */ 0.5f), Presentation.createForAspectRatio( - /* aspectRatio= */ .5f, Presentation.LAYOUT_SCALE_TO_FIT)) + /* aspectRatio= */ 0.5f, Presentation.LAYOUT_SCALE_TO_FIT)) .build(); Bitmap expectedBitmap = readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH); diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_internal_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_internal_es2.glsl new file mode 100644 index 0000000000..5681862133 --- /dev/null +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_internal_es2.glsl @@ -0,0 +1,103 @@ +#version 100 +// Copyright 2023 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +// ES 2 fragment shader that: +// 1. Samples from an input texture created from an internal texture (e.g. a +// texture created from a bitmap), with uTexSampler copying from this texture +// to the current output. +// 2. Transforms the electrical colors to optical colors using the SMPTE 170M +// EOTF. +// 3. Applies a 4x4 RGB color matrix to change the pixel colors. +// 4. Outputs as requested by uOutputColorTransfer. Use COLOR_TRANSFER_LINEAR +// for outputting to intermediate shaders, or COLOR_TRANSFER_SDR_VIDEO to +// output electrical colors via an OETF (e.g. to an encoder). + +precision mediump float; +uniform sampler2D uTexSampler; +uniform mat4 uRgbMatrix; +varying vec2 vTexSamplingCoord; +// C.java#ColorTransfer value. +// Only COLOR_TRANSFER_LINEAR and COLOR_TRANSFER_SDR_VIDEO are allowed. +uniform int uOutputColorTransfer; + +const float inverseGamma = 0.4500; +const float gamma = 1.0 / inverseGamma; + +// Transforms a single channel from electrical to optical SDR using the SMPTE +// 170M OETF. +float smpte170mEotfSingleChannel(float electricalChannel) { + // Specification: + // https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en + return electricalChannel < 0.0812 + ? electricalChannel / 4.500 + : pow((electricalChannel + 0.099) / 1.099, gamma); +} + +// Transforms electrical to optical SDR using the SMPTE 170M EOTF. +vec3 smpte170mEotf(vec3 electricalColor) { + return vec3( + smpte170mEotfSingleChannel(electricalColor.r), + smpte170mEotfSingleChannel(electricalColor.g), + smpte170mEotfSingleChannel(electricalColor.b)); +} + +// Transforms a single channel from optical to electrical SDR. +float smpte170mOetfSingleChannel(float opticalChannel) { + // Specification: + // https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en + return opticalChannel < 0.018 + ? opticalChannel * 4.500 + : 1.099 * pow(opticalChannel, inverseGamma) - 0.099; +} + +// Transforms optical SDR colors to electrical SDR using the SMPTE 170M OETF. +vec3 smpte170mOetf(vec3 opticalColor) { + return vec3( + smpte170mOetfSingleChannel(opticalColor.r), + smpte170mOetfSingleChannel(opticalColor.g), + smpte170mOetfSingleChannel(opticalColor.b)); +} + +// Applies the appropriate OETF to convert linear optical signals to nonlinear +// electrical signals. Input and output are both normalized to [0, 1]. +highp vec3 applyOetf(highp vec3 linearColor) { + // LINT.IfChange(color_transfer) + const int COLOR_TRANSFER_LINEAR = 1; + const int COLOR_TRANSFER_SDR_VIDEO = 3; + if (uOutputColorTransfer == COLOR_TRANSFER_LINEAR) { + return linearColor; + } else if (uOutputColorTransfer == COLOR_TRANSFER_SDR_VIDEO) { + return smpte170mOetf(linearColor); + } else { + // Output red as an obviously visible error. + return vec3(1.0, 0.0, 0.0); + } +} + +void main() { + vec2 vTexSamplingCoordFlipped = + vec2(vTexSamplingCoord.x, 1.0 - vTexSamplingCoord.y); + // Whereas the Android system uses the top-left corner as (0,0) of the + // coordinate system, OpenGL uses the bottom-left corner as (0,0), so the + // texture gets flipped. We flip the texture vertically to ensure the + // orientation of the output is correct. + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoordFlipped); + vec3 linearInputColor = smpte170mEotf(inputColor.rgb); + + vec4 transformedColors = uRgbMatrix * vec4(linearInputColor, 1); + + gl_FragColor = vec4(applyOetf(transformedColors.rgb), inputColor.a); +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixShaderProgramWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixShaderProgramWrapper.java index c6e45a30d9..31cb6c9524 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixShaderProgramWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixShaderProgramWrapper.java @@ -71,7 +71,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final DebugViewProvider debugViewProvider; - private final boolean sampleFromExternalTexture; + private final boolean sampleFromInputTexture; + private final boolean isInputExternal; private final ColorInfo inputColorInfo; private final ColorInfo outputColorInfo; private final boolean releaseFramesAutomatically; @@ -106,9 +107,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; ImmutableList matrixTransformations, ImmutableList rgbMatrices, DebugViewProvider debugViewProvider, - boolean sampleFromExternalTexture, ColorInfo inputColorInfo, ColorInfo outputColorInfo, + boolean sampleFromInputTexture, + boolean isInputExternal, boolean releaseFramesAutomatically, Executor frameProcessorListenerExecutor, FrameProcessor.Listener frameProcessorListener) { @@ -118,7 +120,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.debugViewProvider = debugViewProvider; - this.sampleFromExternalTexture = sampleFromExternalTexture; + this.sampleFromInputTexture = sampleFromInputTexture; + this.isInputExternal = isInputExternal; this.inputColorInfo = inputColorInfo; this.outputColorInfo = outputColorInfo; this.releaseFramesAutomatically = releaseFramesAutomatically; @@ -402,14 +405,24 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; MatrixShaderProgram matrixShaderProgram; ImmutableList expandedMatrixTransformations = matrixTransformationListBuilder.build(); - if (sampleFromExternalTexture) { - matrixShaderProgram = - MatrixShaderProgram.createWithExternalSampler( - context, - expandedMatrixTransformations, - rgbMatrices, - /* inputColorInfo= */ inputColorInfo, - /* outputColorInfo= */ outputColorInfo); + if (sampleFromInputTexture) { + if (isInputExternal) { + matrixShaderProgram = + MatrixShaderProgram.createWithExternalSampler( + context, + expandedMatrixTransformations, + rgbMatrices, + inputColorInfo, + outputColorInfo); + } else { + matrixShaderProgram = + MatrixShaderProgram.createWithInternalSampler( + context, + expandedMatrixTransformations, + rgbMatrices, + inputColorInfo, + outputColorInfo); + } } else { matrixShaderProgram = MatrixShaderProgram.createApplyingOetf( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 16eb2c74d7..8ed4eadc64 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -16,6 +16,7 @@ package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static com.google.common.collect.Iterables.getLast; @@ -108,6 +109,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { checkArgument(inputColorInfo.colorTransfer != C.COLOR_TRANSFER_LINEAR); checkArgument(outputColorInfo.isValid()); checkArgument(outputColorInfo.colorTransfer != C.COLOR_TRANSFER_LINEAR); + checkArgument(inputTrackType == C.TRACK_TYPE_VIDEO || inputTrackType == C.TRACK_TYPE_IMAGE); if (inputColorInfo.colorSpace != outputColorInfo.colorSpace || ColorInfo.isTransferHdr(inputColorInfo) != ColorInfo.isTransferHdr(outputColorInfo)) { @@ -134,6 +136,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { debugViewProvider, inputColorInfo, outputColorInfo, + /* isInputExternal= */ inputTrackType == C.TRACK_TYPE_VIDEO, releaseFramesAutomatically, singleThreadExecutorService, listenerExecutor, @@ -167,6 +170,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { DebugViewProvider debugViewProvider, ColorInfo inputColorInfo, ColorInfo outputColorInfo, + boolean isInputExternal, boolean releaseFramesAutomatically, ExecutorService singleThreadExecutorService, Executor executor, @@ -208,6 +212,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { debugViewProvider, inputColorInfo, outputColorInfo, + isInputExternal, releaseFramesAutomatically, executor, listener); @@ -219,6 +224,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { return new GlEffectsFrameProcessor( eglDisplay, eglContext, + isInputExternal, frameProcessingTaskExecutor, shaderPrograms, releaseFramesAutomatically); @@ -243,6 +249,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { DebugViewProvider debugViewProvider, ColorInfo inputColorInfo, ColorInfo outputColorInfo, + boolean isInputExternal, boolean releaseFramesAutomatically, Executor executor, Listener listener) @@ -251,7 +258,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); ImmutableList.Builder rgbMatrixListBuilder = new ImmutableList.Builder<>(); - boolean sampleFromExternalTexture = true; + boolean sampleFromInputTexture = true; ColorInfo linearColorInfo = new ColorInfo( outputColorInfo.colorSpace, outputColorInfo.colorRange, C.COLOR_TRANSFER_LINEAR, null); @@ -275,16 +282,18 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { matrixTransformationListBuilder.build(); ImmutableList rgbMatrices = rgbMatrixListBuilder.build(); boolean isOutputTransferHdr = ColorInfo.isTransferHdr(outputColorInfo); - if (!matrixTransformations.isEmpty() || !rgbMatrices.isEmpty() || sampleFromExternalTexture) { + if (!matrixTransformations.isEmpty() || !rgbMatrices.isEmpty() || sampleFromInputTexture) { MatrixShaderProgram matrixShaderProgram; - if (sampleFromExternalTexture) { - matrixShaderProgram = - MatrixShaderProgram.createWithExternalSampler( - context, - matrixTransformations, - rgbMatrices, - /* inputColorInfo= */ inputColorInfo, - /* outputColorInfo= */ linearColorInfo); + if (sampleFromInputTexture) { + if (isInputExternal) { + matrixShaderProgram = + MatrixShaderProgram.createWithExternalSampler( + context, matrixTransformations, rgbMatrices, inputColorInfo, linearColorInfo); + } else { + matrixShaderProgram = + MatrixShaderProgram.createWithInternalSampler( + context, matrixTransformations, rgbMatrices, inputColorInfo, linearColorInfo); + } } else { matrixShaderProgram = MatrixShaderProgram.create( @@ -293,7 +302,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { shaderProgramListBuilder.add(matrixShaderProgram); matrixTransformationListBuilder = new ImmutableList.Builder<>(); rgbMatrixListBuilder = new ImmutableList.Builder<>(); - sampleFromExternalTexture = false; + sampleFromInputTexture = false; } shaderProgramListBuilder.add(glEffect.toGlShaderProgram(context, isOutputTransferHdr)); } @@ -306,9 +315,10 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { matrixTransformationListBuilder.build(), rgbMatrixListBuilder.build(), debugViewProvider, - sampleFromExternalTexture, - /* inputColorInfo= */ sampleFromExternalTexture ? inputColorInfo : linearColorInfo, + /* inputColorInfo= */ sampleFromInputTexture ? inputColorInfo : linearColorInfo, outputColorInfo, + sampleFromInputTexture, + isInputExternal, releaseFramesAutomatically, executor, listener)); @@ -343,8 +353,10 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; - private final ExternalTextureManager inputExternalTextureManager; - private final Surface inputSurface; + private @MonotonicNonNull InternalTextureManager inputInternalTextureManager; + private @MonotonicNonNull ExternalTextureManager inputExternalTextureManager; + // TODO(262693274): Move this variable to ExternalTextureManager. + private @MonotonicNonNull Surface inputExternalSurface; private final boolean releaseFramesAutomatically; private final FinalMatrixShaderProgramWrapper finalShaderProgramWrapper; private final ImmutableList allShaderPrograms; @@ -361,6 +373,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { private GlEffectsFrameProcessor( EGLDisplay eglDisplay, EGLContext eglContext, + boolean isInputExternal, FrameProcessingTaskExecutor frameProcessingTaskExecutor, ImmutableList shaderPrograms, boolean releaseFramesAutomatically) @@ -372,14 +385,23 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { this.releaseFramesAutomatically = releaseFramesAutomatically; checkState(!shaderPrograms.isEmpty()); - checkState(shaderPrograms.get(0) instanceof ExternalShaderProgram); checkState(getLast(shaderPrograms) instanceof FinalMatrixShaderProgramWrapper); - ExternalShaderProgram inputExternalShaderProgram = - (ExternalShaderProgram) shaderPrograms.get(0); - inputExternalTextureManager = - new ExternalTextureManager(inputExternalShaderProgram, frameProcessingTaskExecutor); - inputExternalShaderProgram.setInputListener(inputExternalTextureManager); - inputSurface = new Surface(inputExternalTextureManager.getSurfaceTexture()); + + GlShaderProgram inputShaderProgram = shaderPrograms.get(0); + + if (isInputExternal) { + checkState(inputShaderProgram instanceof ExternalShaderProgram); + inputExternalTextureManager = + new ExternalTextureManager( + (ExternalShaderProgram) inputShaderProgram, frameProcessingTaskExecutor); + inputShaderProgram.setInputListener(inputExternalTextureManager); + inputExternalSurface = new Surface(inputExternalTextureManager.getSurfaceTexture()); + } else { + inputInternalTextureManager = + new InternalTextureManager(inputShaderProgram, frameProcessingTaskExecutor); + inputShaderProgram.setInputListener(inputInternalTextureManager); + } + finalShaderProgramWrapper = (FinalMatrixShaderProgramWrapper) getLast(shaderPrograms); allShaderPrograms = shaderPrograms; previousStreamOffsetUs = C.TIME_UNSET; @@ -400,19 +422,27 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { * call this method after instantiation to ensure that buffers are handled at full resolution. See * {@link SurfaceTexture#setDefaultBufferSize(int, int)} for more information. * + *

This method should only be used for when the {@link FrameProcessor} was created with {@link + * C#TRACK_TYPE_VIDEO} as the {@code inputTrackType}. + * * @param width The default width for input buffers, in pixels. * @param height The default height for input buffers, in pixels. */ public void setInputDefaultBufferSize(int width, int height) { - inputExternalTextureManager.getSurfaceTexture().setDefaultBufferSize(width, height); + checkNotNull(inputExternalTextureManager) + .getSurfaceTexture() + .setDefaultBufferSize(width, height); } @Override - public void queueInputBitmap(Bitmap inputBitmap, long durationUs, int frameRate) {} + public void queueInputBitmap(Bitmap inputBitmap, long durationUs, float frameRate) { + checkNotNull(inputInternalTextureManager) + .queueInputBitmap(inputBitmap, durationUs, frameRate, /* useHdr= */ false); + } @Override public Surface getInputSurface() { - return inputSurface; + return checkNotNull(inputExternalSurface); } @Override @@ -431,12 +461,12 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { checkStateNotNull( nextInputFrameInfo, "setInputFrameInfo must be called before registering input frames"); - inputExternalTextureManager.registerInputFrame(nextInputFrameInfo); + checkNotNull(inputExternalTextureManager).registerInputFrame(nextInputFrameInfo); } @Override public int getPendingInputFrameCount() { - return inputExternalTextureManager.getPendingFrameCount(); + return checkNotNull(inputExternalTextureManager).getPendingFrameCount(); } @Override @@ -457,7 +487,12 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { public void signalEndOfInput() { checkState(!inputStreamEnded); inputStreamEnded = true; - frameProcessingTaskExecutor.submit(inputExternalTextureManager::signalEndOfInput); + if (inputInternalTextureManager != null) { + frameProcessingTaskExecutor.submit(inputInternalTextureManager::signalEndOfInput); + } + if (inputExternalTextureManager != null) { + frameProcessingTaskExecutor.submit(inputExternalTextureManager::signalEndOfInput); + } } @Override @@ -465,7 +500,7 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { try { frameProcessingTaskExecutor.flush(); CountDownLatch latch = new CountDownLatch(1); - inputExternalTextureManager.setOnFlushCompleteListener(latch::countDown); + checkNotNull(inputExternalTextureManager).setOnFlushCompleteListener(latch::countDown); frameProcessingTaskExecutor.submit(finalShaderProgramWrapper::flush); latch.await(); inputExternalTextureManager.setOnFlushCompleteListener(null); @@ -483,8 +518,10 @@ public final class GlEffectsFrameProcessor implements FrameProcessor { Thread.currentThread().interrupt(); throw new IllegalStateException(unexpected); } - inputExternalTextureManager.release(); - inputSurface.release(); + if (inputExternalTextureManager != null) { + inputExternalTextureManager.release(); + checkNotNull(inputExternalSurface).release(); + } } /** diff --git a/libraries/effect/src/main/java/androidx/media3/effect/InternalTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/InternalTextureManager.java new file mode 100644 index 0000000000..fa6edfe6b0 --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/InternalTextureManager.java @@ -0,0 +1,159 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.Math.round; + +import android.graphics.Bitmap; +import android.opengl.GLES20; +import android.opengl.GLUtils; +import androidx.annotation.WorkerThread; +import androidx.media3.common.C; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.UnstableApi; +import java.util.Queue; +import java.util.concurrent.LinkedBlockingQueue; + +/** Forwards a frame produced from a {@link Bitmap} to a {@link GlShaderProgram} for consumption. */ +@UnstableApi +/* package */ class InternalTextureManager implements GlShaderProgram.InputListener { + private final GlShaderProgram shaderProgram; + private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; + private final Queue pendingBitmaps; + + private int downstreamShaderProgramCapacity; + private int availableFrameCount; + + private long currentPresentationTimeUs; + private long totalDurationUs; + private boolean inputEnded; + + public InternalTextureManager( + GlShaderProgram shaderProgram, FrameProcessingTaskExecutor frameProcessingTaskExecutor) { + this.shaderProgram = shaderProgram; + this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; + pendingBitmaps = new LinkedBlockingQueue<>(); + } + + @Override + public void onReadyToAcceptInputFrame() { + frameProcessingTaskExecutor.submit( + () -> { + downstreamShaderProgramCapacity++; + maybeQueueToShaderProgram(); + }); + } + + @Override + public void onInputFrameProcessed(TextureInfo inputTexture) { + // TODO(b/262693274): Delete texture when last duplicate of the frame comes back from the shader + // program and change to only allocate one texId at a time. A change to method signature to + // include presentationTimeUs will probably be needed to do this. + frameProcessingTaskExecutor.submit( + () -> { + if (availableFrameCount == 0) { + signalEndOfInput(); + } + }); + } + + public void queueInputBitmap( + Bitmap inputBitmap, long durationUs, float frameRate, boolean useHdr) { + frameProcessingTaskExecutor.submit( + () -> setupBitmap(inputBitmap, durationUs, frameRate, useHdr)); + } + + @WorkerThread + private void setupBitmap(Bitmap bitmap, long durationUs, float frameRate, boolean useHdr) + throws FrameProcessingException { + if (inputEnded) { + return; + } + try { + int bitmapTexId = + GlUtil.createTexture( + bitmap.getWidth(), bitmap.getHeight(), /* useHighPrecisionColorComponents= */ useHdr); + GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, bitmapTexId); + GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, bitmap, /* border= */ 0); + GlUtil.checkGlError(); + + TextureInfo textureInfo = + new TextureInfo( + bitmapTexId, /* fboId= */ C.INDEX_UNSET, bitmap.getWidth(), bitmap.getHeight()); + int timeIncrementUs = round(C.MICROS_PER_SECOND / frameRate); + availableFrameCount += round((frameRate * durationUs) / C.MICROS_PER_SECOND); + totalDurationUs += durationUs; + pendingBitmaps.add( + new BitmapFrameSequenceInfo(textureInfo, timeIncrementUs, totalDurationUs)); + } catch (GlUtil.GlException e) { + throw FrameProcessingException.from(e); + } + maybeQueueToShaderProgram(); + } + + @WorkerThread + private void maybeQueueToShaderProgram() { + if (inputEnded || availableFrameCount == 0 || downstreamShaderProgramCapacity == 0) { + return; + } + availableFrameCount--; + downstreamShaderProgramCapacity--; + + BitmapFrameSequenceInfo currentFrame = checkNotNull(pendingBitmaps.peek()); + shaderProgram.queueInputFrame(currentFrame.textureInfo, currentPresentationTimeUs); + + currentPresentationTimeUs += currentFrame.timeIncrementUs; + if (currentPresentationTimeUs >= currentFrame.endPresentationTimeUs) { + pendingBitmaps.remove(); + } + } + + /** + * Signals the end of the input. + * + * @see FrameProcessor#signalEndOfInput() + */ + public void signalEndOfInput() { + frameProcessingTaskExecutor.submit( + () -> { + if (inputEnded) { + return; + } + inputEnded = true; + shaderProgram.signalEndOfCurrentInputStream(); + }); + } + + /** + * Value class specifying information to generate all the frames associated with a specific {@link + * Bitmap}. + */ + private static final class BitmapFrameSequenceInfo { + public final TextureInfo textureInfo; + public final long timeIncrementUs; + public final long endPresentationTimeUs; + + public BitmapFrameSequenceInfo( + TextureInfo textureInfo, long timeIncrementUs, long endPresentationTimeUs) { + this.textureInfo = textureInfo; + this.timeIncrementUs = timeIncrementUs; + this.endPresentationTimeUs = endPresentationTimeUs; + } + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixShaderProgram.java index f14a96089f..250a06f8d2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixShaderProgram.java @@ -69,6 +69,8 @@ import java.util.List; "shaders/fragment_shader_transformation_external_yuv_es3.glsl"; private static final String FRAGMENT_SHADER_TRANSFORMATION_SDR_EXTERNAL_PATH = "shaders/fragment_shader_transformation_sdr_external_es2.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_SDR_INTERNAL_PATH = + "shaders/fragment_shader_transformation_sdr_internal_es2.glsl"; private static final ImmutableList NDC_SQUARE = ImmutableList.of( new float[] {-1, -1, 0, 1}, @@ -163,6 +165,48 @@ import java.util.List; useHdr); } + /** + * Creates a new instance. + * + *

Input will be sampled from an internal (i.e. regular) texture. + * + *

Applies the {@linkplain ColorInfo#colorTransfer inputColorInfo EOTF} to convert from + * electrical color input, to intermediate optical {@link GlShaderProgram} color output, before + * {@code matrixTransformations} and {@code rgbMatrices} are applied. Also applies the {@linkplain + * ColorInfo#colorTransfer outputColorInfo OETF}, if needed, to convert back to an electrical + * color output. + * + * @param context The {@link Context}. + * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. + * @param inputColorInfo The input electrical (nonlinear) {@link ColorInfo}. + * @param outputColorInfo The output electrical (nonlinear) or optical (linear) {@link ColorInfo}. + * If this is an optical color, it must be BT.2020 if {@code inputColorInfo} is {@linkplain + * ColorInfo#isTransferHdr(ColorInfo) HDR}, and RGB BT.709 if not. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. + */ + public static MatrixShaderProgram createWithInternalSampler( + Context context, + List matrixTransformations, + List rgbMatrices, + ColorInfo inputColorInfo, + ColorInfo outputColorInfo) + throws FrameProcessingException { + checkState( + !ColorInfo.isTransferHdr(inputColorInfo), + "MatrixShaderProgram doesn't support HDR internal sampler input yet."); + GlProgram glProgram = + createGlProgram( + context, + VERTEX_SHADER_TRANSFORMATION_PATH, + FRAGMENT_SHADER_TRANSFORMATION_SDR_INTERNAL_PATH); + return createWithSampler( + glProgram, matrixTransformations, rgbMatrices, inputColorInfo, outputColorInfo); + } + /** * Creates a new instance. * @@ -204,50 +248,12 @@ import java.util.List; isInputTransferHdr ? FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_TRANSFORMATION_SDR_EXTERNAL_PATH; - GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - - @C.ColorTransfer int outputColorTransfer = outputColorInfo.colorTransfer; - if (isInputTransferHdr) { - checkArgument(inputColorInfo.colorSpace == C.COLOR_SPACE_BT2020); - - // In HDR editing mode the decoder output is sampled in YUV. - if (!GlUtil.isYuvTargetExtensionSupported()) { - throw new FrameProcessingException( - "The EXT_YUV_target extension is required for HDR editing input."); - } - glProgram.setFloatsUniform( - "uYuvToRgbColorTransform", - inputColorInfo.colorRange == C.COLOR_RANGE_FULL - ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX - : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); - - checkArgument(ColorInfo.isTransferHdr(inputColorInfo)); - glProgram.setIntUniform("uInputColorTransfer", inputColorInfo.colorTransfer); - // TODO(b/239735341): Add a setBooleanUniform method to GlProgram. - glProgram.setIntUniform( - "uApplyHdrToSdrToneMapping", - /* value= */ (outputColorInfo.colorSpace != C.COLOR_SPACE_BT2020) ? 1 : 0); - checkArgument( - outputColorTransfer != Format.NO_VALUE && outputColorTransfer != C.COLOR_TRANSFER_SDR); - glProgram.setIntUniform("uOutputColorTransfer", outputColorTransfer); - } else { - checkArgument( - outputColorInfo.colorSpace != C.COLOR_SPACE_BT2020, - "Converting from SDR to HDR is not supported."); - checkArgument(inputColorInfo.colorSpace == outputColorInfo.colorSpace); - checkArgument( - outputColorTransfer == C.COLOR_TRANSFER_SDR - || outputColorTransfer == C.COLOR_TRANSFER_LINEAR); - // The SDR shader automatically applies an COLOR_TRANSFER_SDR EOTF. - glProgram.setIntUniform("uOutputColorTransfer", outputColorTransfer); - } - - return new MatrixShaderProgram( - glProgram, - ImmutableList.copyOf(matrixTransformations), - ImmutableList.copyOf(rgbMatrices), - outputColorInfo.colorTransfer, - isInputTransferHdr); + return createWithSampler( + createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath), + matrixTransformations, + rgbMatrices, + inputColorInfo, + outputColorInfo); } /** @@ -305,6 +311,58 @@ import java.util.List; outputIsHdr); } + private static MatrixShaderProgram createWithSampler( + GlProgram glProgram, + List matrixTransformations, + List rgbMatrices, + ColorInfo inputColorInfo, + ColorInfo outputColorInfo) + throws FrameProcessingException { + boolean isInputTransferHdr = ColorInfo.isTransferHdr(inputColorInfo); + @C.ColorTransfer int outputColorTransfer = outputColorInfo.colorTransfer; + if (isInputTransferHdr) { + checkArgument(inputColorInfo.colorSpace == C.COLOR_SPACE_BT2020); + + // In HDR editing mode the decoder output is sampled in YUV. + if (!GlUtil.isYuvTargetExtensionSupported()) { + throw new FrameProcessingException( + "The EXT_YUV_target extension is required for HDR editing input."); + } + glProgram.setFloatsUniform( + "uYuvToRgbColorTransform", + inputColorInfo.colorRange == C.COLOR_RANGE_FULL + ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX + : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); + + checkArgument(ColorInfo.isTransferHdr(inputColorInfo)); + glProgram.setIntUniform("uInputColorTransfer", inputColorInfo.colorTransfer); + // TODO(b/239735341): Add a setBooleanUniform method to GlProgram. + glProgram.setIntUniform( + "uApplyHdrToSdrToneMapping", + /* value= */ (outputColorInfo.colorSpace != C.COLOR_SPACE_BT2020) ? 1 : 0); + checkArgument( + outputColorTransfer != Format.NO_VALUE && outputColorTransfer != C.COLOR_TRANSFER_SDR); + glProgram.setIntUniform("uOutputColorTransfer", outputColorTransfer); + } else { + checkArgument( + outputColorInfo.colorSpace != C.COLOR_SPACE_BT2020, + "Converting from SDR to HDR is not supported."); + checkArgument(inputColorInfo.colorSpace == outputColorInfo.colorSpace); + checkArgument( + outputColorTransfer == C.COLOR_TRANSFER_SDR + || outputColorTransfer == C.COLOR_TRANSFER_LINEAR); + // The SDR shader automatically applies an COLOR_TRANSFER_SDR EOTF. + glProgram.setIntUniform("uOutputColorTransfer", outputColorTransfer); + } + + return new MatrixShaderProgram( + glProgram, + ImmutableList.copyOf(matrixTransformations), + ImmutableList.copyOf(rgbMatrices), + outputColorInfo.colorTransfer, + isInputTransferHdr); + } + /** * Creates a new instance. * diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/image_input_with_wrapped_crop.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/image_input_with_wrapped_crop.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc2a47a6c1bfd838d3c40be47bd0995242de0a4 GIT binary patch literal 196900 zcmV);K!(4GP)Px#1am@3R0s$N2z&@+hyVZ}07*naRCt{1y;;m<*OlM*+tWGsenVAp5J_=RtJU37 zOYN4d?sm&*cgyjB7_pO=#4$X@&O?A82;cz8LnChn5(7>;@S7h31jtJ|jtvBPN!o$h zai>S6TcSjX;v|w1DYA++e)IR;d(PQI9@gGxxc7d=B3Trxm|A3g_uez?v(G-m`tP;= zYc2J^{)_)T0iYsEu_h{kR(kRqJ#1(w>*8o9P@~4wO2cZjzfPbOC=yC3G`ip42hZDY zU*?sUUc%05v@tyP=%ZYE=pmkX{Bf+cXqC`Pqx$2^=gIL2`v-d*9v<@PPk)+AyAKWh z$e%`!&I=g^t@Edn{-6vBP#P2p8486_D)%>^hgN_>>y)=wpcFcviy0kSDbU)WwVba~ zGLBj+v@$5IP+FmtlI^uZ<^Cum%cLVpu0=|a0>p%G8|-`wyyxiP03STY7z_$yjI@#4 zHO69$A^*rHqK1E}d}`3S^G25ome*V92g6vFJ0mxE&Zk@1uKeC`6W&(R%BRnt`98Sz zw)`>>lp)24BGTTv&dw*Fq^`I5r~mlBMyZOw_SgO@)>>YD^;N$3r7v;u(nI`Tzx6dv zj*ocw(I@!A7rwy5Pkah%G>eqzPEJs>IZDC*_}~Axyz>25xNzYD&RPx+8%|G7*t)n& zOwjp`ciy?im0LFm9t>4~{>B&h~}Y3I>~@279me)ZSH8EPxf z_}R%3Tl1Rjtu5sC3UofOWh?4=mG{?FGso`kMN*9H?(XpTGf#1G_aeXWm9Oygzxa!6 z?QAjInlqozryba&JRZmcSrMD^i&`Oi3+}?blOXj9V1taX2}McR zcEKZ$KEhK^JW-2#cVcbe}9iRe)JYU`4gYUcY(#SWo#2CP!=R^Z=O>^;6f9HClfi^#tlt97NZA=zmge8stio5s0^Y7522uNV z)1co$2p7lp2O1LYWfl)*?-EML| z=M1WJF>v0SCJEYj_lr_25CBOm5h;fL*v4pdf*1nYZ3bq2KU12b&im%gQTkc>9p!t9 zpe%J=qm1Pje(9G;UB}*y>l_{)^3r#{MYmjV?aCD{Y;AFN@e^FTzDKicIX*e&l~>yCDHwYoHw|A4u)$Hud**`eo=(yqZ#B+4KU~Bs!7R#j=7nEgd zYnRJcui?80RD=+a>o2N304)JRo|zldTR7I#XFpRGv7=94z=M~)tTXuWtQwi^8#lBX z06L$6hs9bWZTUdxJjU6qOUya9tJ&~mmYfpYcvl%@-Scdm0#gk{=&b>&SQ^AL-)&TijuO5f zMP=6qKulnCZ~cieu5G$5y{+S8APISeDwMV0D$o{X439kdB#%7(G?%t#y!qxEJn{IG zeCbPHWb4fvoSmL=bbNxkX?f@JRSpjKsjCwnefSYxdf`Q$e m_f9xloN;t=Lh_!f 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 qSFBC2Jh8dD(P5}-K3P4H1 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 literal 0 HcmV?d00001 diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FrameProcessorTestRunner.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FrameProcessorTestRunner.java index 173bc45d84..1240eade1f 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FrameProcessorTestRunner.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FrameProcessorTestRunner.java @@ -62,10 +62,12 @@ public final class FrameProcessorTestRunner { private float pixelWidthHeightRatio; private @MonotonicNonNull ColorInfo inputColorInfo; private @MonotonicNonNull ColorInfo outputColorInfo; + private @C.TrackType int inputTrackType; /** Creates a new instance with default values. */ public Builder() { pixelWidthHeightRatio = DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO; + inputTrackType = C.TRACK_TYPE_VIDEO; } /** @@ -168,6 +170,16 @@ public final class FrameProcessorTestRunner { this.outputColorInfo = outputColorInfo; return this; } + /** + * Sets the input track type. See {@link FrameProcessor.Factory#create}. + * + *

The default value is {@link C#TRACK_TYPE_VIDEO}. + */ + @CanIgnoreReturnValue + public Builder setInputTrackType(@C.TrackType int inputTrackType) { + this.inputTrackType = inputTrackType; + return this; + } public FrameProcessorTestRunner build() throws FrameProcessingException { checkStateNotNull(testId, "testId must be set."); @@ -182,7 +194,8 @@ public final class FrameProcessorTestRunner { effects == null ? ImmutableList.of() : effects, pixelWidthHeightRatio, inputColorInfo == null ? ColorInfo.SDR_BT709_LIMITED : inputColorInfo, - outputColorInfo == null ? ColorInfo.SDR_BT709_LIMITED : outputColorInfo); + outputColorInfo == null ? ColorInfo.SDR_BT709_LIMITED : outputColorInfo, + inputTrackType); } } @@ -211,7 +224,8 @@ public final class FrameProcessorTestRunner { ImmutableList effects, float pixelWidthHeightRatio, ColorInfo inputColorInfo, - ColorInfo outputColorInfo) + ColorInfo outputColorInfo, + @C.TrackType int inputTrackType) throws FrameProcessingException { this.testId = testId; this.videoAssetPath = videoAssetPath; @@ -226,7 +240,7 @@ public final class FrameProcessorTestRunner { DebugViewProvider.NONE, inputColorInfo, outputColorInfo, - C.TRACK_TYPE_VIDEO, + inputTrackType, /* releaseFramesAutomatically= */ true, MoreExecutors.directExecutor(), new FrameProcessor.Listener() { @@ -278,6 +292,19 @@ public final class FrameProcessorTestRunner { } }, frameProcessor.getInputSurface()); + return endFrameProcessingAndGetImage(); + } + + public Bitmap processImageFrameAndEnd(Bitmap inputBitmap) throws Exception { + frameProcessor.setInputFrameInfo( + new FrameInfo.Builder(inputBitmap.getWidth(), inputBitmap.getHeight()) + .setPixelWidthHeightRatio(pixelWidthHeightRatio) + .build()); + frameProcessor.queueInputBitmap(inputBitmap, C.MICROS_PER_SECOND, /* frameRate= */ 1); + return endFrameProcessingAndGetImage(); + } + + private Bitmap endFrameProcessingAndGetImage() throws Exception { frameProcessor.signalEndOfInput(); Thread.sleep(FRAME_PROCESSING_WAIT_MS);