use of android.filterfw.core.MutableFrameFormat in project android_frameworks_base by ParanoidAndroid.
the class FrameFormat method mutableCopy.
public MutableFrameFormat mutableCopy() {
MutableFrameFormat result = new MutableFrameFormat();
result.setBaseType(getBaseType());
result.setTarget(getTarget());
result.setBytesPerSample(getBytesPerSample());
result.setDimensions(getDimensions());
result.setObjectClass(getObjectClass());
result.mMetaData = mMetaData == null ? null : (KeyValueMap) mMetaData.clone();
return result;
}
use of android.filterfw.core.MutableFrameFormat in project android_frameworks_base by ParanoidAndroid.
the class ObjectFormat method fromClass.
public static MutableFrameFormat fromClass(Class clazz, int count, int target) {
// Create frame format
MutableFrameFormat result = new MutableFrameFormat(FrameFormat.TYPE_OBJECT, target);
result.setObjectClass(getBoxedClass(clazz));
if (count != FrameFormat.SIZE_UNSPECIFIED) {
result.setDimensions(count);
}
result.setBytesPerSample(bytesPerSampleForClass(clazz, target));
return result;
}
use of android.filterfw.core.MutableFrameFormat in project android_frameworks_base by ParanoidAndroid.
the class SurfaceTargetFilter method prepare.
@Override
public void prepare(FilterContext context) {
mGlEnv = context.getGLEnvironment();
// Create identity shader to render, and make sure to render upside-down, as textures
// are stored internally bottom-to-top.
mProgram = ShaderProgram.createIdentity(context);
mProgram.setSourceRect(0, 1, 1, -1);
mProgram.setClearsOutput(true);
mProgram.setClearColor(0.0f, 0.0f, 0.0f);
MutableFrameFormat screenFormat = ImageFormat.create(mScreenWidth, mScreenHeight, ImageFormat.COLORSPACE_RGBA, FrameFormat.TARGET_GPU);
mScreen = (GLFrame) context.getFrameManager().newBoundFrame(screenFormat, GLFrame.EXISTING_FBO_BINDING, 0);
// Set up cropping
updateRenderMode();
}
use of android.filterfw.core.MutableFrameFormat in project android_frameworks_base by ParanoidAndroid.
the class CropFilter method getOutputFormat.
@Override
public FrameFormat getOutputFormat(String portName, FrameFormat inputFormat) {
// Make sure output size is set to unspecified, as we do not know what we will be resizing
// to.
MutableFrameFormat outputFormat = inputFormat.mutableCopy();
outputFormat.setDimensions(FrameFormat.SIZE_UNSPECIFIED, FrameFormat.SIZE_UNSPECIFIED);
return outputFormat;
}
use of android.filterfw.core.MutableFrameFormat in project android_frameworks_base by ParanoidAndroid.
the class ToPackedGrayFilter method process.
@Override
public void process(FilterContext context) {
Frame input = pullInput("image");
FrameFormat inputFormat = input.getFormat();
FrameFormat outputFormat = convertInputFormat(inputFormat);
int ow = outputFormat.getWidth();
int oh = outputFormat.getHeight();
checkOutputDimensions(ow, oh);
mProgram.setHostValue("pix_stride", 1.0f / ow);
// Do the RGBA to luminance conversion.
MutableFrameFormat tempFrameFormat = inputFormat.mutableCopy();
tempFrameFormat.setDimensions(ow / 4, oh);
Frame temp = context.getFrameManager().newFrame(tempFrameFormat);
mProgram.process(input, temp);
// Read frame from GPU to CPU.
Frame output = context.getFrameManager().newFrame(outputFormat);
output.setDataFromFrame(temp);
temp.release();
// Push output and yield ownership.
pushOutput("image", output);
output.release();
}
Aggregations