Como usar o efeito de desfoque Renderscript sem artefatos?

fundo

Existem muitos lugares (incluindoaqui) para mostrar como usar o Renderscript para desfocar imagens, como:

@TargetApi(VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap renderScriptBlur(Context context, Bitmap srcBitmap, @FloatRange(from = 0.0f, to = 25.0f) float radius) {
    if (srcBitmap == null)
        return null;
    Bitmap outputBitmap = null;
    RenderScript rs = null;
    try {
        rs = RenderScript.create(context);
        outputBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.ARGB_8888);
        final Canvas canvas = new Canvas(outputBitmap);
        canvas.drawBitmap(srcBitmap, 0, 0, null);
        Allocation overlayAlloc = Allocation.createFromBitmap(rs, outputBitmap);
        ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        blur.setInput(overlayAlloc);
        blur.setRadius(radius);
        blur.forEach(overlayAlloc);
        overlayAlloc.copyTo(outputBitmap);
        return outputBitmap;
    } catch (Exception ex) {
        if (outputBitmap != null)
            outputBitmap.recycle();
        return srcBitmap;
    } finally {
        if (rs != null)
            rs.destroy();
    }
}
O problema

Geralmente funciona muito bem, mas ao usar algumas imagens e / ou configurações de raio, a imagem de saída possui artefatos que se parecem com linhas de digitalização:

O que eu tentei

Descobri que existem soluções de desfoque mais agradáveis (comoaqui), mas eles não usam o Renderscript e também são lentos e consomem memória.

Também tentei diminuir a imagem de entrada, mas a saída ainda possui artefatos de linhas de varredura.

Por fim, também relatei sobre isso,aqui.

A questão

É possível usar o Renderscript para desfocar imagens sem esses Artifcats? Há algo de errado com o que eu escrevi?

questionAnswers(3)

yourAnswerToTheQuestion