456 const int devid =
g->devid;
458 const int width =
g->width;
460 const int channels =
g->channels;
461 const size_t bpp =
sizeof(float) * channels;
462 cl_mem dev_temp1 =
g->dev_temp1;
463 cl_mem dev_temp2 =
g->dev_temp2;
465 const int blocksize =
g->blocksize;
466 const int bwidth =
g->bwidth;
467 const int bheight =
g->bheight;
472 for(
int k = 0;
k <
MIN(channels, 4);
k++)
474 Labmax[
k] =
g->max[
k];
475 Labmin[
k] =
g->min[
k];
478 int kernel_gaussian_column = -1;
479 int kernel_gaussian_transpose = -1;
483 kernel_gaussian_column =
g->global->kernel_gaussian_column_1c;
484 kernel_gaussian_transpose =
g->global->kernel_gaussian_transpose_1c;
486 else if(channels == 4)
488 kernel_gaussian_column =
g->global->kernel_gaussian_column_4c;
489 kernel_gaussian_transpose =
g->global->kernel_gaussian_transpose_4c;
494 size_t origin[] = { 0, 0, 0 };
496 size_t local[] = { blocksize, blocksize, 1 };
500 float a0, a1, a2, a3, b1, b2, coefp, coefn;
501 compute_gauss_params(
g->sigma,
g->order, &a0, &a1, &a2, &a3, &b1, &b2, &coefp, &coefn);
505 if(err != CL_SUCCESS)
return err;
526 if(err != CL_SUCCESS)
return err;
539 if(err != CL_SUCCESS)
return err;
562 if(err != CL_SUCCESS)
return err;
576 if(err != CL_SUCCESS)
return err;
580 if(err != CL_SUCCESS)
return err;