TuttleOFX
1
|
00001 #include "TurboJpegWriterPlugin.hpp" 00002 #include "TurboJpegWriterProcess.hpp" 00003 #include "TurboJpegWriterDefinitions.hpp" 00004 00005 #include <boost/gil/gil_all.hpp> 00006 00007 namespace tuttle { 00008 namespace plugin { 00009 namespace turboJpeg { 00010 namespace writer { 00011 00012 TurboJpegWriterPlugin::TurboJpegWriterPlugin( OfxImageEffectHandle handle ) 00013 : WriterPlugin( handle ) 00014 { 00015 _paramPremult = fetchBooleanParam( kParamPremultiplied ); 00016 _paramQuality = fetchIntParam ( kParamQuality ); 00017 _paramSubsampling = fetchChoiceParam ( kParamSubsampling ); 00018 _paramOptimization = fetchChoiceParam ( kParamOptimization ); 00019 } 00020 00021 TurboJpegWriterProcessParams TurboJpegWriterPlugin::getProcessParams( const OfxTime time ) 00022 { 00023 TurboJpegWriterProcessParams params; 00024 00025 params.filepath = getAbsoluteFilenameAt( time ); 00026 params.quality = this->_paramQuality->getValue(); 00027 params.premult = this->_paramPremult->getValue(); 00028 params.optimization = static_cast< ETurboJpegOptimization >( _paramOptimization->getValue() ); 00029 params.subsampling = static_cast< ETurboJpegSubsampling >( _paramSubsampling->getValue() ); 00030 return params; 00031 } 00032 00033 /** 00034 * @brief The overridden render function 00035 * @param[in] args Rendering parameters 00036 */ 00037 void TurboJpegWriterPlugin::render( const OFX::RenderArguments &args ) 00038 { 00039 WriterPlugin::render( args ); 00040 doGilRender<TurboJpegWriterProcess>( *this, args ); 00041 } 00042 00043 } 00044 } 00045 } 00046 }