Crop


@UnstableApi
public final class Crop implements MatrixTransformation


Specifies a crop to apply in the vertex shader.

The background color of the output frame will be black, with alpha = 0 if applicable.

Summary

Public constructors

Crop(float left, float right, float bottom, float top)

Crops a smaller (or larger) frame, per normalized device coordinates (NDC), where the input frame corresponds to the square ranging from -1 to 1 on the x and y axes.

Public methods

Size
configure(int inputWidth, int inputHeight)

Configures the input and output dimensions.

Matrix
getMatrix(long presentationTimeUs)

Returns the 3x3 transformation Matrix to apply to the frame with the given timestamp.

boolean
isNoOp(int inputWidth, int inputHeight)

Returns whether a GlEffect applies no change at every timestamp.

Inherited methods

long

Returns the expected duration of the output stream when the effect is applied given a input durationUs.

abstract GlShaderProgram
toGlShaderProgram(Context context, boolean useHdr)

Returns a GlShaderProgram that applies the effect.

BaseGlShaderProgram
toGlShaderProgram(Context context, boolean useHdr)

Returns a GlShaderProgram that applies the effect.

float[]
getGlMatrixArray(long presentationTimeUs)

Returns the 4x4 transformation Matrix to apply to the frame with the given timestamp.

Public constructors

Crop

public Crop(float left, float right, float bottom, float top)

Crops a smaller (or larger) frame, per normalized device coordinates (NDC), where the input frame corresponds to the square ranging from -1 to 1 on the x and y axes.

left and bottom default to -1, and right and top default to 1, which corresponds to not applying any crop. To crop to a smaller subset of the input frame, use values between -1 and 1. To crop to a larger frame, use values below -1 and above 1.

Parameters
float left

The left edge of the output frame, in NDC. Must be less than right.

float right

The right edge of the output frame, in NDC. Must be greater than left.

float bottom

The bottom edge of the output frame, in NDC. Must be less than top.

float top

The top edge of the output frame, in NDC. Must be greater than bottom.

Public methods

configure

public Size configure(int inputWidth, int inputHeight)

Configures the input and output dimensions.

Must be called before getGlMatrixArray.

Parameters
int inputWidth

The input frame width, in pixels.

int inputHeight

The input frame height, in pixels.

Returns
Size

The output frame width and height, in pixels.

getMatrix

public Matrix getMatrix(long presentationTimeUs)

Returns the 3x3 transformation Matrix to apply to the frame with the given timestamp.

isNoOp

public boolean isNoOp(int inputWidth, int inputHeight)

Returns whether a GlEffect applies no change at every timestamp.

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

Parameters
int inputWidth

The input frame width, in pixels.

int inputHeight

The input frame height, in pixels.

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024

Get Android 16 on your eligible device.

Updated Jan 9, 2025

The official site for Android 16. Provides the Android SDK tools and API documentation.

Updated Dec 18, 2024