TuttleOFX  1
TurboJpegWriterPlugin.cpp
Go to the documentation of this file.
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 }