summaryrefslogtreecommitdiffstats
path: root/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java')
-rw-r--r--graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java50
1 files changed, 43 insertions, 7 deletions
diff --git a/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java b/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java
index 242623b..8599426 100644
--- a/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java
+++ b/graphics/java/android/renderscript/ScriptIntrinsicConvolve5x5.java
@@ -19,22 +19,31 @@ package android.renderscript;
import android.util.Log;
/**
- * @hide
+ * Intrinsic for applying a 5x5 convolve to an allocation.
+ *
**/
-public class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
- private float[] mValues = new float[25];
+public final class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
+ private final float[] mValues = new float[25];
private Allocation mInput;
- ScriptIntrinsicConvolve5x5(int id, RenderScript rs) {
+ private ScriptIntrinsicConvolve5x5(int id, RenderScript rs) {
super(id, rs);
}
/**
- * Supported elements types are float, float4, uchar, uchar4
+ * Supported elements types are {@link Element#U8_4}
*
+ * The default coefficients are.
+ * <code>
+ * <p> [ 0, 0, 0, 0, 0 ]
+ * <p> [ 0, 0, 0, 0, 0 ]
+ * <p> [ 0, 0, 1, 0, 0 ]
+ * <p> [ 0, 0, 0, 0, 0 ]
+ * <p> [ 0, 0, 0, 0, 0 ]
+ * </code>
*
- * @param rs
- * @param e
+ * @param rs The Renderscript context
+ * @param e Element type for intputs and outputs
*
* @return ScriptIntrinsicConvolve5x5
*/
@@ -44,11 +53,31 @@ public class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
}
+ /**
+ * Set the input of the blur.
+ * Must match the element type supplied during create.
+ *
+ * @param ain The input allocation.
+ */
public void setInput(Allocation ain) {
mInput = ain;
bindAllocation(ain, 1);
}
+ /**
+ * Set the coefficients for the convolve.
+ *
+ * The convolve layout is
+ * <code>
+ * <p> [ 0, 1, 2, 3, 4 ]
+ * <p> [ 5, 6, 7, 8, 9 ]
+ * <p> [ 10, 11, 12, 13, 14 ]
+ * <p> [ 15, 16, 17, 18, 19 ]
+ * <p> [ 20, 21, 22, 23, 24 ]
+ * </code>
+ *
+ * @param v The array of coefficients to set
+ */
public void setCoefficients(float v[]) {
FieldPacker fp = new FieldPacker(25*4);
for (int ct=0; ct < mValues.length; ct++) {
@@ -58,6 +87,13 @@ public class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
setVar(0, fp);
}
+ /**
+ * Apply the filter to the input and save to the specified
+ * allocation.
+ *
+ * @param aout Output allocation. Must match creation element
+ * type.
+ */
public void forEach(Allocation aout) {
forEach(0, null, aout, null);
}