17 #ifndef __DENOISING_H__
18 #define __DENOISING_H__
29 #include <OpenImageIO/imageio.h>
102 const std::vector<string> &channelnames,
103 const std::vector<string> &neighbor_channelnames);
133 bool load(
const string &in_filepath,
string &
error);
vector< unique_ptr< ImageInput > > in_neighbors
bool parse_channels(const ImageSpec &in_spec, string &error)
bool read_neighbor_pixels(int neighbor, const DenoiseImageLayer &layer, float *input_pixels)
bool load_neighbors(const vector< string > &filepaths, const vector< int > &frames, string &error)
vector< DenoiseImageLayer > layers
bool load(const string &in_filepath, string &error)
bool save_output(const string &out_filepath, string &error)
void read_pixels(const DenoiseImageLayer &layer, float *input_pixels)
DenoiseTask(Device *device, Denoiser *denoiser, int frame, const vector< int > &neighbor_frames)
map< int, device_vector< float > * > output_pixels
bool acquire_tile(Device *device, Device *tile_device, RenderTile &tile)
bool load_input_pixels(int layer)
device_vector< float > input_pixels
void map_neighboring_tiles(RenderTileNeighbors &neighbors, Device *tile_device)
vector< int > neighbor_frames
void create_task(DeviceTask &task)
void unmap_neighboring_tiles(RenderTileNeighbors &neighbors)
thread_mutex output_mutex
Denoiser(DeviceInfo &device_info)
#define CCL_NAMESPACE_END
static void error(const char *str)
struct blender::compositor::@172::@174 task
vector< int > input_to_image_channel
bool match_channels(int neighbor, const std::vector< string > &channelnames, const std::vector< string > &neighbor_channelnames)
bool detect_denoising_channels()
vector< int > output_to_image_channel
vector< vector< int > > neighbor_input_to_image_channel
vector< string > channels
vector< int > layer_to_image_channel
CCL_NAMESPACE_BEGIN typedef std::mutex thread_mutex