summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2019-07-15 15:36:34 +0200
committerTomas Farago <sensej007@email.cz>2020-02-05 10:16:26 +0100
commitda6a854a6759bbc2dc1c83bb23f5a2d154a68619 (patch)
treefcbf59377363a7873483eb96128f5a44ce65577d
parent4539cb2452c5651023286483ce4b6e142cca742e (diff)
downloadufo-filters-da6a854a6759bbc2dc1c83bb23f5a2d154a68619.tar.gz
ufo-filters-da6a854a6759bbc2dc1c83bb23f5a2d154a68619.tar.bz2
ufo-filters-da6a854a6759bbc2dc1c83bb23f5a2d154a68619.tar.xz
ufo-filters-da6a854a6759bbc2dc1c83bb23f5a2d154a68619.zip
NLM: improve memory access pattern
-rw-r--r--src/kernels/nlm.cl8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/kernels/nlm.cl b/src/kernels/nlm.cl
index 852c90c..0f1cbcd 100644
--- a/src/kernels/nlm.cl
+++ b/src/kernels/nlm.cl
@@ -39,8 +39,8 @@ dist (read_only image2d_t input,
coeff /= wsize * wsize;
}
- for (int i = -radius; i < radius + 1; i++) {
- for (int j = -radius; j < radius + 1; j++) {
+ for (int j = -radius; j < radius + 1; j++) {
+ for (int i = -radius; i < radius + 1; i++) {
tmp = read_imagef (input, sampler, (float2) ((p.x + i) / width, (p.y + j) / height)).x -
read_imagef (input, sampler, (float2) ((q.x + i) / width, (q.y + j) / height)).x;
if (window_coeffs) {
@@ -75,8 +75,8 @@ nlm_noise_reduction (read_only image2d_t input,
float total_weight = 0.0f;
float pixel_value = 0.0f;
- for (int i = x - search_radius; i < x + search_radius + 1; i++) {
- for (int j = y - search_radius; j < y + search_radius + 1; j++) {
+ for (int j = y - search_radius; j < y + search_radius + 1; j++) {
+ for (int i = x - search_radius; i < x + search_radius + 1; i++) {
d = dist (input, sampler, (float2) (x + 0.5f, y + 0.5f), (float2) (i + 0.5f, j + 0.5f),
patch_radius, width, height, h_2, variance, window_coeffs);
weight = exp (-d);