public class ScriptIntrinsicColorMatrix extends ScriptIntrinsic
Element.F32_4(android.support.v8.renderscript.RenderScript)
, multiplying the
result by the 4x4 color matrix as performed by
rsMatrixMultiply() and writing it to the output after
conversion back to Element.U8_4(android.support.v8.renderscript.RenderScript)
.Script.Builder, Script.FieldBase, Script.FieldID, Script.InvokeID, Script.KernelID, Script.LaunchOptions
Modifier | Constructor and Description |
---|---|
protected |
ScriptIntrinsicColorMatrix(long id,
RenderScript rs) |
Modifier and Type | Method and Description |
---|---|
static ScriptIntrinsicColorMatrix |
create(RenderScript rs,
Element e)
Create an intrinsic for applying a color matrix to an
allocation.
|
void |
forEach(Allocation ain,
Allocation aout)
Invoke the kernel and apply the matrix to each cell of ain and copy to
aout.
|
void |
forEach(Allocation ain,
Allocation aout,
Script.LaunchOptions opt)
Invoke the kernel and apply the matrix to each cell of input
Allocation and copy to the output Allocation . |
Script.KernelID |
getKernelID()
Get a KernelID for this intrinsic kernel.
|
void |
setAdd(Float4 f)
Set the value to be added after the color matrix has been
applied.
|
void |
setAdd(float r,
float g,
float b,
float a)
Set the value to be added after the color matrix has been
applied.
|
void |
setColorMatrix(Matrix3f m)
Set the color matrix which will be applied to each cell of the image.
|
void |
setColorMatrix(Matrix4f m)
Set the color matrix which will be applied to each cell of
the image.
|
void |
setGreyscale()
Set a color matrix to convert from RGB to luminance.
|
void |
setRGBtoYUV()
Set the matrix to convert from RGB to YUV with a direct copy of the 4th
channel.
|
void |
setYUVtoRGB()
Set the matrix to convert from YUV to RGB with a direct copy of the 4th
channel.
|
bindAllocation, createFieldID, createInvokeID, createKernelID, forEach, forEach, forEach, forEach, invoke, invoke, isIncSupp, reduce, setIncSupp, setTimeZone, setVar, setVar, setVar, setVar, setVar, setVar, setVar, setVar
protected ScriptIntrinsicColorMatrix(long id, RenderScript rs)
public static ScriptIntrinsicColorMatrix create(RenderScript rs, Element e)
Element.U8_4(android.support.v8.renderscript.RenderScript)
rs
- The RenderScript contexte
- Element type for intputs and outputspublic void setColorMatrix(Matrix4f m)
m
- The 4x4 matrix to set.public void setColorMatrix(Matrix3f m)
m
- The 3x3 matrix to set.public void setAdd(Float4 f)
f
- The float4 value to be added.public void setAdd(float r, float g, float b, float a)
r
- The red add value.g
- The green add value.b
- The blue add value.a
- The alpha add value.public void setGreyscale()
public void setYUVtoRGB()
public void setRGBtoYUV()
public void forEach(Allocation ain, Allocation aout)
ain
- Input allocationaout
- Output allocationpublic void forEach(Allocation ain, Allocation aout, Script.LaunchOptions opt)
Allocation
and copy to the output Allocation
.
If the vector size of the input is less than four, the
remaining components are treated as zero for the matrix
multiply.
If the output vector size is less than four, the unused
vector components are discarded.ain
- Input allocationaout
- Output allocationopt
- LaunchOptions for clippingpublic Script.KernelID getKernelID()