TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_RAWREADERPROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_RAWREADERPROCESS_HPP_ 00003 00004 #include <tuttle/plugin/ImageGilProcessor.hpp> 00005 00006 #include <libraw/libraw.h> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace raw { 00011 namespace reader { 00012 00013 /** 00014 * 00015 */ 00016 template<class View> 00017 class RawReaderProcess : public ImageGilProcessor<View> 00018 { 00019 typedef float Scalar; 00020 public: 00021 RawReaderProcess( RawReaderPlugin& instance ); 00022 00023 void setup( const OFX::RenderArguments& args ); 00024 void preProcess(); 00025 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00026 00027 View& readImage( View& dst, const std::string& filepath ); 00028 00029 private: 00030 RawReaderPlugin& _plugin; ///< Rendering plugin 00031 RawReaderProcessParams<Scalar> _params; 00032 00033 LibRaw _rawProcessor; 00034 libraw_iparams_t& _p1; 00035 libraw_image_sizes_t& _size; 00036 libraw_colordata_t& _color; 00037 libraw_thumbnail_t& _thumbnail; 00038 libraw_imgother_t& _p2; 00039 libraw_output_params_t& _out; 00040 00041 }; 00042 00043 } 00044 } 00045 } 00046 } 00047 00048 #include "RawReaderProcess.tcc" 00049 00050 #endif