2 * Copyright 2011-2017 Blender Foundation
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 /* Templated common declaration part of all CPU kernels. */
19 void KERNEL_FUNCTION_FULL_NAME(filter_divide_shadow)(int sample,
29 int buffer_pass_stride,
30 int buffer_denoising_offset);
32 void KERNEL_FUNCTION_FULL_NAME(filter_get_feature)(int sample,
41 int buffer_pass_stride,
42 int buffer_denoising_offset);
44 void KERNEL_FUNCTION_FULL_NAME(filter_detect_outliers)(int x, int y,
45 ccl_global float *image,
46 ccl_global float *variance,
47 ccl_global float *depth,
48 ccl_global float *output,
52 void KERNEL_FUNCTION_FULL_NAME(filter_combine_halves)(int x, int y,
60 void KERNEL_FUNCTION_FULL_NAME(filter_construct_transform)(float* buffer,
71 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_calc_difference)(int dx,
75 float *difference_image,
82 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_blur)(float *difference_image,
88 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_calc_weight)(float *difference_image,
94 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_update_output)(int dx,
96 float *difference_image,
104 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_construct_gramian)(int dx,
106 float *difference_image,
119 void KERNEL_FUNCTION_FULL_NAME(filter_nlm_normalize)(float *out_image,
124 void KERNEL_FUNCTION_FULL_NAME(filter_finalize)(int x,