Search in sources :

Example 26 with FrameFormat

use of android.filterfw.core.FrameFormat in project android_frameworks_base by ParanoidAndroid.

the class SimpleFrame method setGenericObjectValue.

@Override
protected void setGenericObjectValue(Object object) {
    // Update the FrameFormat class
    // TODO: Take this out! FrameFormats should not be modified and convenience formats used
    // instead!
    FrameFormat format = getFormat();
    if (format.getObjectClass() == null) {
        setFormatObjectClass(object.getClass());
    } else if (!format.getObjectClass().isAssignableFrom(object.getClass())) {
        throw new RuntimeException("Attempting to set object value of type '" + object.getClass() + "' on " + "SimpleFrame of type '" + format.getObjectClass() + "'!");
    }
    // Set the object value
    mObject = object;
}
Also used : FrameFormat(android.filterfw.core.FrameFormat)

Example 27 with FrameFormat

use of android.filterfw.core.FrameFormat in project android_frameworks_base by ParanoidAndroid.

the class BitmapOverlayFilter method process.

@Override
public void process(FilterContext context) {
    // Get input frame
    Frame input = pullInput("image");
    FrameFormat inputFormat = input.getFormat();
    // Create output frame
    Frame output = context.getFrameManager().newFrame(inputFormat);
    // Create program if not created already
    if (mProgram == null || inputFormat.getTarget() != mTarget) {
        initProgram(context, inputFormat.getTarget());
    }
    if (mBitmap != null) {
        Frame frame = createBitmapFrame(context);
        // Process
        Frame[] inputs = { input, frame };
        mProgram.process(inputs, output);
        frame.release();
    } else {
        output.setDataFromFrame(input);
    }
    // Push output
    pushOutput("image", output);
    // Release pushed frame
    output.release();
}
Also used : FrameFormat(android.filterfw.core.FrameFormat) Frame(android.filterfw.core.Frame) NativeFrame(android.filterfw.core.NativeFrame)

Example 28 with FrameFormat

use of android.filterfw.core.FrameFormat in project android_frameworks_base by ParanoidAndroid.

the class BitmapSource method setupPorts.

@Override
public void setupPorts() {
    // Setup output format
    FrameFormat outputFormat = ImageFormat.create(ImageFormat.COLORSPACE_RGBA, FrameFormat.TARGET_UNSPECIFIED);
    // Add output port
    addOutputPort("image", outputFormat);
}
Also used : MutableFrameFormat(android.filterfw.core.MutableFrameFormat) FrameFormat(android.filterfw.core.FrameFormat)

Example 29 with FrameFormat

use of android.filterfw.core.FrameFormat in project android_frameworks_base by ParanoidAndroid.

the class BlackWhiteFilter method process.

@Override
public void process(FilterContext context) {
    // Get input frame
    Frame input = pullInput("image");
    FrameFormat inputFormat = input.getFormat();
    // Create program if not created already
    if (mProgram == null || inputFormat.getTarget() != mTarget) {
        initProgram(context, inputFormat.getTarget());
    }
    // Create output frame
    Frame output = context.getFrameManager().newFrame(inputFormat);
    // Process
    mProgram.process(input, output);
    // Push output
    pushOutput("image", output);
    // Release pushed frame
    output.release();
}
Also used : FrameFormat(android.filterfw.core.FrameFormat) Frame(android.filterfw.core.Frame) NativeFrame(android.filterfw.core.NativeFrame)

Example 30 with FrameFormat

use of android.filterfw.core.FrameFormat in project android_frameworks_base by ParanoidAndroid.

the class CropRectFilter method process.

@Override
public void process(FilterContext context) {
    // Get input frame
    Frame input = pullInput("image");
    FrameFormat inputFormat = input.getFormat();
    // Create output frame
    FrameFormat outputFormat = ImageFormat.create(mOutputWidth, mOutputHeight, ImageFormat.COLORSPACE_RGBA, FrameFormat.TARGET_GPU);
    Frame output = context.getFrameManager().newFrame(outputFormat);
    // Create program if not created already
    if (mProgram == null || inputFormat.getTarget() != mTarget) {
        initProgram(context, inputFormat.getTarget());
    }
    // Check if the frame size has changed
    if (inputFormat.getWidth() != mWidth || inputFormat.getHeight() != mHeight) {
        updateSourceRect(inputFormat.getWidth(), inputFormat.getHeight());
    }
    // Process
    mProgram.process(input, output);
    // Push output
    pushOutput("image", output);
    // Release pushed frame
    output.release();
}
Also used : MutableFrameFormat(android.filterfw.core.MutableFrameFormat) FrameFormat(android.filterfw.core.FrameFormat) Frame(android.filterfw.core.Frame) NativeFrame(android.filterfw.core.NativeFrame)

Aggregations

FrameFormat (android.filterfw.core.FrameFormat)270 Frame (android.filterfw.core.Frame)198 MutableFrameFormat (android.filterfw.core.MutableFrameFormat)39 NativeFrame (android.filterfw.core.NativeFrame)25 GLFrame (android.filterfw.core.GLFrame)18 ShaderProgram (android.filterfw.core.ShaderProgram)12 Quad (android.filterfw.geometry.Quad)12 FrameManager (android.filterfw.core.FrameManager)6 Point (android.filterfw.geometry.Point)6 Bitmap (android.graphics.Bitmap)6 Paint (android.graphics.Paint)6 CachedFrameManager (android.filterfw.core.CachedFrameManager)1