Blender  V2.93
Macros | Functions
filter_features.h File Reference

Go to the source code of this file.

Macros

#define ccl_get_feature(buffer, pass)   (buffer)[(pass)*pass_stride]
 
#define FOR_PIXEL_WINDOW
 
#define END_FOR_PIXEL_WINDOW
 
#define DESIGN_ROW_ADD(I, F)    design_row_add(design_row, rank, transform, stride, I, F, num_features);
 

Functions

ccl_device_inline void filter_get_features (int3 pixel, const ccl_global float *ccl_restrict buffer, float *features, bool use_time, const float *ccl_restrict mean, int pass_stride)
 
ccl_device_inline void filter_get_feature_scales (int3 pixel, const ccl_global float *ccl_restrict buffer, float *scales, bool use_time, const float *ccl_restrict mean, int pass_stride)
 
ccl_device_inline void filter_calculate_scale (float *scale, bool use_time)
 
ccl_device_inline float3 filter_get_color (const ccl_global float *ccl_restrict buffer, int pass_stride)
 
ccl_device_inline void design_row_add (float *design_row, int rank, const ccl_global float *ccl_restrict transform, int stride, int row, float feature, int transform_row_stride)
 
ccl_device_inline void filter_get_design_row_transform (int3 p_pixel, const ccl_global float *ccl_restrict p_buffer, int3 q_pixel, const ccl_global float *ccl_restrict q_buffer, int pass_stride, int rank, float *design_row, const ccl_global float *ccl_restrict transform, int stride, bool use_time)
 

Macro Definition Documentation

◆ ccl_get_feature

#define ccl_get_feature (   buffer,
  pass 
)    (buffer)[(pass)*pass_stride]

Definition at line 19 of file filter_features.h.

◆ DESIGN_ROW_ADD

#define DESIGN_ROW_ADD (   I,
  F 
)     design_row_add(design_row, rank, transform, stride, I, F, num_features);

◆ END_FOR_PIXEL_WINDOW

#define END_FOR_PIXEL_WINDOW
Value:
} \
pixel_buffer += buffer_w - (high.x - low.x); \
} \
}
__forceinline ssef low(const avxf &a)
Definition: util_avxf.h:277
__forceinline ssef high(const avxf &a)
Definition: util_avxf.h:281

Definition at line 32 of file filter_features.h.

◆ FOR_PIXEL_WINDOW

#define FOR_PIXEL_WINDOW
Value:
for (int frame = 0; frame < tile_info->num_frames; frame++) { \
pixel.z = tile_info->frames[frame]; \
pixel_buffer = buffer + (low.y - rect.y) * buffer_w + (low.x - rect.x) + \
frame * frame_stride; \
for (pixel.y = low.y; pixel.y < high.y; pixel.y++) { \
for (pixel.x = low.x; pixel.x < high.x; pixel.x++, pixel_buffer++) {
__kernel void ccl_constant KernelData ccl_global void ccl_global char ccl_global int ccl_global char ccl_global unsigned int ccl_global float * buffer

Definition at line 24 of file filter_features.h.

Function Documentation

◆ design_row_add()

ccl_device_inline void design_row_add ( float design_row,
int  rank,
const ccl_global float *ccl_restrict  transform,
int  stride,
int  row,
float  feature,
int  transform_row_stride 
)

Definition at line 107 of file filter_features.h.

References stride, and transform().

◆ filter_calculate_scale()

ccl_device_inline void filter_calculate_scale ( float scale,
bool  use_time 
)

Definition at line 87 of file filter_features.h.

References max, and sqrtf.

Referenced by kernel_filter_construct_transform().

◆ filter_get_color()

ccl_device_inline float3 filter_get_color ( const ccl_global float *ccl_restrict  buffer,
int  pass_stride 
)

Definition at line 100 of file filter_features.h.

References buffer, ccl_get_feature, and make_float3.

Referenced by kernel_filter_construct_gramian().

◆ filter_get_design_row_transform()

ccl_device_inline void filter_get_design_row_transform ( int3  p_pixel,
const ccl_global float *ccl_restrict  p_buffer,
int3  q_pixel,
const ccl_global float *ccl_restrict  q_buffer,
int  pass_stride,
int  rank,
float design_row,
const ccl_global float *ccl_restrict  transform,
int  stride,
bool  use_time 
)

◆ filter_get_feature_scales()

ccl_device_inline void filter_get_feature_scales ( int3  pixel,
const ccl_global float *ccl_restrict  buffer,
float scales,
bool  use_time,
const float *ccl_restrict  mean,
int  pass_stride 
)

◆ filter_get_features()

ccl_device_inline void filter_get_features ( int3  pixel,
const ccl_global float *ccl_restrict  buffer,
float features,
bool  use_time,
const float *ccl_restrict  mean,
int  pass_stride 
)

Definition at line 38 of file filter_features.h.

References buffer, ccl_get_feature, fabsf, int3::x, int3::y, and int3::z.

Referenced by kernel_filter_construct_transform().