use of android.filterfw.core.Frame in project android_frameworks_base by ParanoidAndroid.
the class OutputStreamTarget method process.
@Override
public void process(FilterContext context) {
Frame input = pullInput("data");
ByteBuffer data;
if (input.getFormat().getObjectClass() == String.class) {
String stringVal = (String) input.getObjectValue();
data = ByteBuffer.wrap(stringVal.getBytes());
} else {
data = input.getData();
}
try {
mOutputStream.write(data.array(), 0, data.limit());
mOutputStream.flush();
} catch (IOException exception) {
throw new RuntimeException("OutputStreamTarget: Could not write to stream: " + exception.getMessage() + "!");
}
}
use of android.filterfw.core.Frame in project android_frameworks_base by ParanoidAndroid.
the class RetargetFilter method process.
@Override
public void process(FilterContext context) {
// Get input frame
Frame input = pullInput("frame");
// Create output frame
Frame output = context.getFrameManager().duplicateFrameToTarget(input, mTarget);
// Push output
pushOutput("frame", output);
// Release pushed frame
output.release();
}
use of android.filterfw.core.Frame in project android_frameworks_base by ParanoidAndroid.
the class AutoFixFilter 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 (mShaderProgram == null || inputFormat.getTarget() != mTarget) {
initProgram(context, inputFormat.getTarget());
initParameters();
}
// Check if the frame size has changed
if (inputFormat.getWidth() != mWidth || inputFormat.getHeight() != mHeight) {
mWidth = inputFormat.getWidth();
mHeight = inputFormat.getHeight();
createHistogramFrame(context, mWidth, mHeight, input.getInts());
}
// Create output frame
Frame output = context.getFrameManager().newFrame(inputFormat);
// Process
Frame[] inputs = { input, mHistFrame, mDensityFrame };
mShaderProgram.process(inputs, output);
// Push output
pushOutput("image", output);
// Release pushed frame
output.release();
}
use of android.filterfw.core.Frame in project android_frameworks_base by ParanoidAndroid.
the class SepiaFilter 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());
initParameters();
}
// Process
mProgram.process(input, output);
// Push output
pushOutput("image", output);
// Release pushed frame
output.release();
}
use of android.filterfw.core.Frame in project android_frameworks_base by ParanoidAndroid.
the class SimpleImageFilter 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
updateProgramWithTarget(inputFormat.getTarget(), context);
// Process
mProgram.process(input, output);
// Push output
pushOutput("image", output);
// Release pushed frame
output.release();
}
Aggregations