FileDocCategorySizeDatePackage
ScriptIntrinsicConvolve5x5.javaAPI DocAndroid 5.1 API4276Thu Mar 12 22:22:42 GMT 2015android.renderscript

ScriptIntrinsicConvolve5x5

public final class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic
Intrinsic for applying a 5x5 convolve to an allocation.

Fields Summary
private final float[]
mValues
private Allocation
mInput
Constructors Summary
private ScriptIntrinsicConvolve5x5(long id, RenderScript rs)


         
        super(id, rs);
    
Methods Summary
public static android.renderscript.ScriptIntrinsicConvolve5x5create(RenderScript rs, Element e)
Supported elements types are {@link Element#U8}, {@link Element#U8_2}, {@link Element#U8_3}, {@link Element#U8_4}, {@link Element#F32}, {@link Element#F32_2}, {@link Element#F32_3}, and {@link Element#F32_4} The default coefficients are.

[ 0, 0, 0, 0, 0 ]

[ 0, 0, 0, 0, 0 ]

[ 0, 0, 1, 0, 0 ]

[ 0, 0, 0, 0, 0 ]

[ 0, 0, 0, 0, 0 ]

param
rs The RenderScript context
param
e Element type for intputs and outputs
return
ScriptIntrinsicConvolve5x5

        if (!e.isCompatible(Element.U8(rs)) &&
            !e.isCompatible(Element.U8_2(rs)) &&
            !e.isCompatible(Element.U8_3(rs)) &&
            !e.isCompatible(Element.U8_4(rs)) &&
            !e.isCompatible(Element.F32(rs)) &&
            !e.isCompatible(Element.F32_2(rs)) &&
            !e.isCompatible(Element.F32_3(rs)) &&
            !e.isCompatible(Element.F32_4(rs))) {
            throw new RSIllegalArgumentException("Unsuported element type.");
        }

        long id = rs.nScriptIntrinsicCreate(4, e.getID(rs));
        return new ScriptIntrinsicConvolve5x5(id, rs);

    
public voidforEach(Allocation aout)
Apply the filter to the input and save to the specified allocation.

param
aout Output allocation. Must match creation element type.

        forEach(0, (Allocation) null, aout, null);
    
public voidforEach(Allocation aout, Script.LaunchOptions opt)
Apply the filter to the input and save to the specified allocation.

param
aout Output allocation. Must match creation element type.
param
opt LaunchOptions for clipping

        forEach(0, (Allocation) null, aout, null, opt);
    
public Script.FieldIDgetFieldID_Input()
Get a FieldID for the input field of this intrinsic.

return
Script.FieldID The FieldID object.

        return createFieldID(1, null);
    
public Script.KernelIDgetKernelID()
Get a KernelID for this intrinsic kernel.

return
Script.KernelID The KernelID object.

        return createKernelID(0, 2, null, null);
    
public voidsetCoefficients(float[] v)
Set the coefficients for the convolve. The convolve layout is

[ 0, 1, 2, 3, 4 ]

[ 5, 6, 7, 8, 9 ]

[ 10, 11, 12, 13, 14 ]

[ 15, 16, 17, 18, 19 ]

[ 20, 21, 22, 23, 24 ]

param
v The array of coefficients to set

        FieldPacker fp = new FieldPacker(25*4);
        for (int ct=0; ct < mValues.length; ct++) {
            mValues[ct] = v[ct];
            fp.addF32(mValues[ct]);
        }
        setVar(0, fp);
    
public voidsetInput(Allocation ain)
Set the input of the blur. Must match the element type supplied during create.

param
ain The input allocation.

        mInput = ain;
        setVar(1, ain);