FileDocCategorySizeDatePackage
GroupTest.javaAPI DocAndroid 5.1 API3110Thu Mar 12 22:22:54 GMT 2015com.android.rs.image

GroupTest

public class GroupTest extends TestBase

Fields Summary
private android.renderscript.ScriptIntrinsicConvolve3x3
mConvolve
private android.renderscript.ScriptIntrinsicColorMatrix
mMatrix
private android.renderscript.Allocation
mScratchPixelsAllocation1
private android.renderscript.ScriptGroup
mGroup
private int
mWidth
private int
mHeight
private boolean
mUseNative
Constructors Summary
public GroupTest(boolean useNative)

        mUseNative = useNative;
    
Methods Summary
public voidcreateTest(android.content.res.Resources res)

        mWidth = mInPixelsAllocation.getType().getX();
        mHeight = mInPixelsAllocation.getType().getY();

        mConvolve = ScriptIntrinsicConvolve3x3.create(mRS, Element.U8_4(mRS));
        mMatrix = ScriptIntrinsicColorMatrix.create(mRS, Element.U8_4(mRS));

        float f[] = new float[9];
        f[0] =  0.f;    f[1] = -1.f;    f[2] =  0.f;
        f[3] = -1.f;    f[4] =  5.f;    f[5] = -1.f;
        f[6] =  0.f;    f[7] = -1.f;    f[8] =  0.f;
        mConvolve.setCoefficients(f);

        Matrix4f m = new Matrix4f();
        m.set(1, 0, 0.2f);
        m.set(1, 1, 0.9f);
        m.set(1, 2, 0.2f);
        mMatrix.setColorMatrix(m);

        Type.Builder tb = new Type.Builder(mRS, Element.U8_4(mRS));
        tb.setX(mWidth);
        tb.setY(mHeight);
        Type connect = tb.create();

        if (mUseNative) {
            ScriptGroup.Builder b = new ScriptGroup.Builder(mRS);
            b.addKernel(mConvolve.getKernelID());
            b.addKernel(mMatrix.getKernelID());
            b.addConnection(connect, mConvolve.getKernelID(), mMatrix.getKernelID());
            mGroup = b.create();
        } else {
            mScratchPixelsAllocation1 = Allocation.createTyped(mRS, connect);
        }
    
public voidrunTest()

        mConvolve.setInput(mInPixelsAllocation);
        if (mUseNative) {
            mGroup.setOutput(mMatrix.getKernelID(), mOutPixelsAllocation);
            mGroup.execute();
        } else {
            mConvolve.forEach(mScratchPixelsAllocation1);
            mMatrix.forEach(mScratchPixelsAllocation1, mOutPixelsAllocation);
        }