Merge "Allow single channel and float convolve."

This commit is contained in:
Jason Sams
2013-06-19 01:24:07 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 1 deletions

View File

@@ -48,7 +48,10 @@ public final class ScriptIntrinsicConvolve3x3 extends ScriptIntrinsic {
*/
public static ScriptIntrinsicConvolve3x3 create(RenderScript rs, Element e) {
float f[] = { 0, 0, 0, 0, 1, 0, 0, 0, 0};
if (!e.isCompatible(Element.U8_4(rs))) {
if (!e.isCompatible(Element.U8(rs)) &&
!e.isCompatible(Element.U8_4(rs)) &&
!e.isCompatible(Element.F32(rs)) &&
!e.isCompatible(Element.F32_4(rs))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
int id = rs.nScriptIntrinsicCreate(1, e.getID(rs));

View File

@@ -48,6 +48,13 @@ public final class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
* @return ScriptIntrinsicConvolve5x5
*/
public static ScriptIntrinsicConvolve5x5 create(RenderScript rs, Element e) {
if (!e.isCompatible(Element.U8(rs)) &&
!e.isCompatible(Element.U8_4(rs)) &&
!e.isCompatible(Element.F32(rs)) &&
!e.isCompatible(Element.F32_4(rs))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
int id = rs.nScriptIntrinsicCreate(4, e.getID(rs));
return new ScriptIntrinsicConvolve5x5(id, rs);