diff --git a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java index 86b789ce67..ed926ee4ff 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java @@ -211,25 +211,14 @@ public final class DefaultVideoFrameProcessor implements VideoFrameProcessor { /** * {@inheritDoc} * - *

Using HDR {@code inputColorInfo} requires the {@code EXT_YUV_target} OpenGL extension. - * - *

Using HDR {@code inputColorInfo} or {@code outputColorInfo} requires OpenGL ES 3.0. + *

Using HDR {@code outputColorInfo} requires OpenGL ES 3.0. * *

If outputting HDR content to a display, {@code EGL_GL_COLORSPACE_BT2020_PQ_EXT} is * required, and {@link ColorInfo#colorTransfer outputColorInfo.colorTransfer} must be {@link * C#COLOR_TRANSFER_ST2084}. * - *

{@link Effect}s are applied on {@link C#COLOR_RANGE_FULL} colors with {@code null} {@link - * ColorInfo#hdrStaticInfo}. {@code inputColorInfo}'s {@link ColorInfo#hdrStaticInfo} and {@code - * outputColorInfo}'s {@link ColorInfo#colorRange} values are currently ignored, in favor of - * {@code null} and {@link C#COLOR_RANGE_FULL}, respectively. - * - *

If {@code inputColorInfo} or {@code outputColorInfo} {@linkplain ColorInfo#isTransferHdr} - * are HDR}, textures will use {@link GLES30#GL_RGBA16F} and {@link GLES30#GL_HALF_FLOAT}. - * Otherwise, textures will use {@link GLES20#GL_RGBA} and {@link GLES20#GL_UNSIGNED_BYTE}. - * - *

If {@code inputColorInfo} or {@code outputColorInfo} {@linkplain ColorInfo#isTransferHdr} - * are HDR}, color transfers must be enabled. + *

{@code outputColorInfo}'s {@link ColorInfo#colorRange} values are currently ignored, in + * favor of {@link C#COLOR_RANGE_FULL}. * *

If {@code outputColorInfo} {@linkplain ColorInfo#isTransferHdr is HDR}, the context will * be configured with {@link GlUtil#EGL_CONFIG_ATTRIBUTES_RGBA_1010102}. Otherwise, the context @@ -438,10 +427,25 @@ public final class DefaultVideoFrameProcessor implements VideoFrameProcessor { /** * {@inheritDoc} * + *

Using HDR {@link FrameInfo#colorInfo} requires OpenGL ES 3.0 and the {@code EXT_YUV_target} + * OpenGL extension. + * + *

{@link Effect}s are applied on {@link C#COLOR_RANGE_FULL} colors with {@code null} {@link + * ColorInfo#hdrStaticInfo}. + * + *

If either {@link FrameInfo#colorInfo} or {@code outputColorInfo} {@linkplain + * ColorInfo#isTransferHdr} are HDR}, textures will use {@link GLES30#GL_RGBA16F} and {@link + * GLES30#GL_HALF_FLOAT}. Otherwise, textures will use {@link GLES20#GL_RGBA} and {@link + * GLES20#GL_UNSIGNED_BYTE}. + * + *

If either {@link FrameInfo#colorInfo} or {@code outputColorInfo} {@linkplain + * ColorInfo#isTransferHdr} are HDR}, color transfers must {@linkplain + * Factory.Builder#setEnableColorTransfers be enabled}. + * *

The {@link FrameInfo}'s {@link ColorInfo} must not change between different calls to this * method. */ - // TODO: b/307952514: Remove this javadoc after FrameInfo.colorInfo may change between calls. + // TODO: b/307952514: After FrameInfo.colorInfo may change between calls, remove relevant javadoc. @Override public void registerInputStream( @InputType int inputType, List effects, FrameInfo frameInfo) {