444 const int devid =
g->devid;
446 const int width =
g->width;
448 const int channels =
g->channels;
449 const size_t bpp =
sizeof(float) * channels;
450 cl_mem dev_temp1 =
g->dev_temp1;
451 cl_mem dev_temp2 =
g->dev_temp2;
453 const int blocksize =
g->blocksize;
454 const int bwidth =
g->bwidth;
455 const int bheight =
g->bheight;
460 for(
int k = 0;
k <
MIN(channels, 4);
k++)
462 Labmax[
k] =
g->max[
k];
463 Labmin[
k] =
g->min[
k];
466 int kernel_gaussian_column = -1;
467 int kernel_gaussian_transpose = -1;
471 kernel_gaussian_column =
g->global->kernel_gaussian_column_1c;
472 kernel_gaussian_transpose =
g->global->kernel_gaussian_transpose_1c;
474 else if(channels == 4)
476 kernel_gaussian_column =
g->global->kernel_gaussian_column_4c;
477 kernel_gaussian_transpose =
g->global->kernel_gaussian_transpose_4c;
482 size_t origin[] = { 0, 0, 0 };
484 size_t local[] = { blocksize, blocksize, 1 };
488 float a0, a1, a2, a3, b1, b2, coefp, coefn;
489 compute_gauss_params(
g->sigma,
g->order, &a0, &a1, &a2, &a3, &b1, &b2, &coefp, &coefn);
493 if(err != CL_SUCCESS)
return err;
514 if(err != CL_SUCCESS)
return err;
527 if(err != CL_SUCCESS)
return err;
550 if(err != CL_SUCCESS)
return err;
564 if(err != CL_SUCCESS)
return err;
568 if(err != CL_SUCCESS)
return err;