diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteShaderProgram.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteShaderProgram.java index ffd172b481..90953a2e99 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteShaderProgram.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteShaderProgram.java @@ -70,7 +70,7 @@ import java.io.IOException; float maxInnerRadius, float outerRadius) throws VideoFrameProcessingException { - super(useHdr); + super(/* useHighPrecisionColorComponents= */ useHdr); checkArgument(minInnerRadius <= maxInnerRadius); checkArgument(maxInnerRadius <= outerRadius); this.minInnerRadius = minInnerRadius; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/BaseGlShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/BaseGlShaderProgram.java index 5e058211b5..972510619c 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/BaseGlShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/BaseGlShaderProgram.java @@ -51,14 +51,13 @@ public abstract class BaseGlShaderProgram implements GlShaderProgram { /** * Creates a {@code BaseGlShaderProgram} instance. * - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in linear RGB BT.709. + * @param useHighPrecisionColorComponents If {@code false}, uses colors with 8-bit unsigned bytes. + * If {@code true}, use 16-bit (half-precision) floating-point. * @param texturePoolCapacity The capacity of the texture pool. For example, if implementing a * texture cache, the size should be the number of textures to cache. */ - public BaseGlShaderProgram(boolean useHdr, int texturePoolCapacity) { - outputTexturePool = - new TexturePool(/* useHighPrecisionColorComponents= */ useHdr, texturePoolCapacity); + public BaseGlShaderProgram(boolean useHighPrecisionColorComponents, int texturePoolCapacity) { + outputTexturePool = new TexturePool(useHighPrecisionColorComponents, texturePoolCapacity); inputListener = new InputListener() {}; outputListener = new OutputListener() {}; errorListener = (frameProcessingException) -> {}; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ColorLutShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutShaderProgram.java index 4a34183b42..9647dd0bfe 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ColorLutShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutShaderProgram.java @@ -45,7 +45,7 @@ import java.io.IOException; */ public ColorLutShaderProgram(Context context, ColorLut colorLut, boolean useHdr) throws VideoFrameProcessingException { - super(useHdr); + super(/* useHighPrecisionColorComponents= */ useHdr); // TODO(b/246315245): Add HDR support. checkArgument(!useHdr, "ColorLutShaderProgram does not support HDR colors."); this.colorLut = colorLut; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java index bb740cffb9..67e4db14e4 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java @@ -417,7 +417,7 @@ import java.util.List; ImmutableList rgbMatrices, int outputColorTransfer, boolean useHdr) { - super(useHdr); + super(/* useHighPrecisionColorComponents= */ useHdr); this.glProgram = glProgram; this.outputColorTransfer = outputColorTransfer; this.matrixTransformations = matrixTransformations; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java index 05a89c9d80..78d5d9a0a4 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java @@ -40,7 +40,7 @@ import java.io.IOException; /** Creates a new instance. */ public FrameCacheGlShaderProgram(Context context, int capacity, boolean useHdr) throws VideoFrameProcessingException { - super(useHdr, capacity); + super(/* useHighPrecisionColorComponents= */ useHdr, capacity); try { this.copyProgram = diff --git a/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java index 5e436d91b9..7694d3fbf6 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java @@ -44,7 +44,7 @@ import java.io.IOException; */ public HslShaderProgram(Context context, HslAdjustment hslAdjustment, boolean useHdr) throws VideoFrameProcessingException { - super(useHdr); + super(/* useHighPrecisionColorComponents= */ useHdr); // TODO(b/241241680): Check if HDR <-> HSL works the same or not. checkArgument(!useHdr, "HDR is not yet supported."); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/OverlayShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/OverlayShaderProgram.java index 13b008d497..d32ef91d44 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/OverlayShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/OverlayShaderProgram.java @@ -54,7 +54,7 @@ import com.google.common.collect.ImmutableList; public OverlayShaderProgram( Context context, boolean useHdr, ImmutableList overlays) throws VideoFrameProcessingException { - super(useHdr); + super(/* useHighPrecisionColorComponents= */ useHdr); checkArgument(!useHdr, "OverlayShaderProgram does not support HDR colors yet."); // The maximum number of samplers allowed in a single GL program is 16. // We use one for every overlay and one for the video. diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlShaderProgram.java index b68b755e45..56ce05905e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlShaderProgram.java @@ -35,10 +35,10 @@ public abstract class SingleFrameGlShaderProgram extends BaseGlShaderProgram { /** * Creates a {@code SingleFrameGlShaderProgram} instance. * - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in linear RGB BT.709. + * @param useHighPrecisionColorComponents If {@code false}, uses colors with 8-bit unsigned bytes. + * If {@code true}, use 16-bit (half-precision) floating-point. */ - public SingleFrameGlShaderProgram(boolean useHdr) { - super(useHdr, /* texturePoolCapacity= */ 1); + public SingleFrameGlShaderProgram(boolean useHighPrecisionColorComponents) { + super(useHighPrecisionColorComponents, /* texturePoolCapacity= */ 1); } }