fast_blur (GdkPixbuf * in, GdkPixbuf * output, gfloat sx,
           gfloat sy, RsvgIRect boundarys, RsvgFilterPrimitiveOutput op)
{
    gint kx, ky;
    guchar *intermediate;

    kx = floor (sx * 3 * sqrt (2 * M_PI) / 4 + 0.5);
    ky = floor (sy * 3 * sqrt (2 * M_PI) / 4 + 0.5);

    if (kx < 1 && ky < 1)
        return;

    intermediate = g_new (guchar, MAX (kx, ky));

    box_blur (in, output, intermediate, kx, ky, boundarys, op);
    box_blur (output, output, intermediate, kx, ky, boundarys, op);
    box_blur (output, output, intermediate, kx, ky, boundarys, op);

    g_free (intermediate);
}
fast_blur (GdkPixbuf * in, GdkPixbuf * output, gfloat sx,
           gfloat sy, RsvgIRect boundarys, RsvgFilterPrimitiveOutput op)
{
    gint kx, ky;
    guchar *intermediate;

    kx = floor (sx * 3 * sqrt (2 * M_PI) / 4 + 0.5);
    ky = floor (sy * 3 * sqrt (2 * M_PI) / 4 + 0.5);

    if (kx < 1 && ky < 1)
        return;

    intermediate = g_new (guchar, MAX (kx, ky));

    box_blur (in, output, intermediate, kx, ky, boundarys, op);
    box_blur (output, output, intermediate, kx, ky, boundarys, op);
    box_blur (output, output, intermediate, kx, ky, boundarys, op);

    g_free (intermediate);
}