RgbAdjustment


@UnstableApi
class RgbAdjustment : RgbMatrix


Scales the red, green, and blue color channels of a frame.

Summary

Nested types

A builder for RgbAdjustment instances.

Public functions

FloatArray<Float>!
getMatrix(presentationTimeUs: Long, useHdr: Boolean)

Returns the 4x4 RGB transformation matrix to apply to the color values of each pixel in the frame with the given timestamp.

Boolean
isNoOp(inputWidth: Int, inputHeight: Int)

Returns whether a GlEffect applies no change at every timestamp.

Inherited functions

From androidx.media3.effect.GlEffect
abstract GlShaderProgram!
toGlShaderProgram(context: Context!, useHdr: Boolean)

Returns a GlShaderProgram that applies the effect.

From androidx.media3.effect.RgbMatrix
BaseGlShaderProgram!
toGlShaderProgram(context: Context!, useHdr: Boolean)

Returns a GlShaderProgram that applies the effect.

Public functions

getMatrix

fun getMatrix(presentationTimeUs: Long, useHdr: Boolean): FloatArray<Float>!

Returns the 4x4 RGB transformation matrix to apply to the color values of each pixel in the frame with the given timestamp.

Parameters
presentationTimeUs: Long

The timestamp of the frame to apply the matrix on.

useHdr: Boolean

If true, colors will be in linear RGB BT.2020. If false, colors will be in linear RGB BT.709. Must be consistent with useHdr in toGlShaderProgram.

Returns
FloatArray<Float>!

The RgbMatrix to apply to the frame.

isNoOp

fun isNoOp(inputWidth: Int, inputHeight: Int): Boolean

Returns whether a GlEffect applies no change at every timestamp.

This can be used as a hint to skip this instance.

Parameters
inputWidth: Int

The input frame width, in pixels.

inputHeight: Int

The input frame height, in pixels.