|
Blender
V2.93
|
Go to the source code of this file.
Macros | |
| #define | load4_a(buf, ofs) (*((float4 *)((buf) + (ofs)))) |
| #define | load4_u(buf, ofs) load_float4((buf) + (ofs)) |
Functions | |
| ccl_device_inline void | kernel_filter_nlm_calc_difference (int dx, int dy, const float *ccl_restrict weight_image, const float *ccl_restrict variance_image, const float *ccl_restrict scale_image, float *difference_image, int4 rect, int stride, int channel_offset, int frame_offset, float a, float k_2) |
| ccl_device_inline void | kernel_filter_nlm_blur (const float *ccl_restrict difference_image, float *out_image, int4 rect, int stride, int f) |
| ccl_device_inline void | nlm_blur_horizontal (const float *ccl_restrict difference_image, float *out_image, int4 rect, int stride, int f) |
| ccl_device_inline void | kernel_filter_nlm_calc_weight (const float *ccl_restrict difference_image, float *out_image, int4 rect, int stride, int f) |
| ccl_device_inline void | kernel_filter_nlm_update_output (int dx, int dy, const float *ccl_restrict difference_image, const float *ccl_restrict image, float *temp_image, float *out_image, float *accum_image, int4 rect, int channel_offset, int stride, int f) |
| ccl_device_inline void | kernel_filter_nlm_construct_gramian (int dx, int dy, int t, const float *ccl_restrict difference_image, const float *ccl_restrict buffer, float *transform, int *rank, float *XtWX, float3 *XtWY, int4 rect, int4 filter_window, int stride, int f, int pass_stride, int frame_offset, bool use_time) |
| ccl_device_inline void | kernel_filter_nlm_normalize (float *out_image, const float *ccl_restrict accum_image, int4 rect, int w) |
| #define load4_a | ( | buf, | |
| ofs | |||
| ) | (*((float4 *)((buf) + (ofs)))) |
Definition at line 19 of file filter_nlm_cpu.h.
| #define load4_u | ( | buf, | |
| ofs | |||
| ) | load_float4((buf) + (ofs)) |
Definition at line 20 of file filter_nlm_cpu.h.
| ccl_device_inline void kernel_filter_nlm_blur | ( | const float *ccl_restrict | difference_image, |
| float * | out_image, | ||
| int4 | rect, | ||
| int | stride, | ||
| int | f | ||
| ) |
Definition at line 71 of file filter_nlm_cpu.h.
References high(), load4_a, low(), make_float4, max, min, round_down(), stride, int4::w, int4::x, x, int4::y, y, y1, and int4::z.
Referenced by filter_nlm_blur().
| ccl_device_inline void kernel_filter_nlm_calc_difference | ( | int | dx, |
| int | dy, | ||
| const float *ccl_restrict | weight_image, | ||
| const float *ccl_restrict | variance_image, | ||
| const float *ccl_restrict | scale_image, | ||
| float * | difference_image, | ||
| int4 | rect, | ||
| int | stride, | ||
| int | channel_offset, | ||
| int | frame_offset, | ||
| float | a, | ||
| float | k_2 | ||
| ) |
Definition at line 22 of file filter_nlm_cpu.h.
References Freestyle::a, Freestyle::c, clamp(), KDL::diff(), kernel_assert, load4_a, load4_u, make_float4, min, sqr(), stride, int4::w, int4::x, x, int4::y, y, and int4::z.
Referenced by filter_nlm_calc_difference().
| ccl_device_inline void kernel_filter_nlm_calc_weight | ( | const float *ccl_restrict | difference_image, |
| float * | out_image, | ||
| int4 | rect, | ||
| int | stride, | ||
| int | f | ||
| ) |
Definition at line 130 of file filter_nlm_cpu.h.
References fast_expf4(), load4_a, make_float4, max, nlm_blur_horizontal(), round_down(), stride, int4::w, int4::x, x, int4::y, y, and int4::z.
Referenced by filter_nlm_calc_weight().
| ccl_device_inline void kernel_filter_nlm_construct_gramian | ( | int | dx, |
| int | dy, | ||
| int | t, | ||
| const float *ccl_restrict | difference_image, | ||
| const float *ccl_restrict | buffer, | ||
| float * | transform, | ||
| int * | rank, | ||
| float * | XtWX, | ||
| float3 * | XtWY, | ||
| int4 | rect, | ||
| int4 | filter_window, | ||
| int | stride, | ||
| int | f, | ||
| int | pass_stride, | ||
| int | frame_offset, | ||
| bool | use_time | ||
| ) |
Definition at line 181 of file filter_nlm_cpu.h.
References buffer, coord_to_local_index(), high(), kernel_filter_construct_gramian(), low(), max, min, rect_clip(), stride, sum(), t, transform(), TRANSFORM_SIZE, int4::w, int4::x, x, XTWX_SIZE, XTWY_SIZE, int4::y, y, and int4::z.
Referenced by filter_nlm_construct_gramian().
| ccl_device_inline void kernel_filter_nlm_normalize | ( | float * | out_image, |
| const float *ccl_restrict | accum_image, | ||
| int4 | rect, | ||
| int | w | ||
| ) |
Definition at line 239 of file filter_nlm_cpu.h.
References int4::w, w(), int4::x, x, int4::y, y, and int4::z.
Referenced by filter_nlm_normalize().
| ccl_device_inline void kernel_filter_nlm_update_output | ( | int | dx, |
| int | dy, | ||
| const float *ccl_restrict | difference_image, | ||
| const float *ccl_restrict | image, | ||
| float * | temp_image, | ||
| float * | out_image, | ||
| float * | accum_image, | ||
| int4 | rect, | ||
| int | channel_offset, | ||
| int | stride, | ||
| int | f | ||
| ) |
Definition at line 144 of file filter_nlm_cpu.h.
References blender::compositor::active, load4_a, load4_u, make_int4, mask(), nlm_blur_horizontal(), round_down(), stride, int4::w, int4::x, x, int4::y, y, and int4::z.
Referenced by filter_nlm_update_output().
| ccl_device_inline void nlm_blur_horizontal | ( | const float *ccl_restrict | difference_image, |
| float * | out_image, | ||
| int4 | rect, | ||
| int | stride, | ||
| int | f | ||
| ) |
Definition at line 93 of file filter_nlm_cpu.h.
References blender::compositor::active, KDL::diff(), high(), load4_a, load4_u, low(), make_float4, make_int4, mask(), max, min, rcp, round_down(), stride, int4::w, int4::x, x, int4::y, y, and int4::z.
Referenced by kernel_filter_nlm_calc_weight(), and kernel_filter_nlm_update_output().