TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_TURBOJPEG_WRITER_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_TURBOJPEG_WRITER_PLUGIN_HPP_ 00003 00004 #include "TurboJpegWriterDefinitions.hpp" 00005 00006 #include <tuttle/plugin/context/WriterPlugin.hpp> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace turboJpeg { 00011 namespace writer { 00012 00013 struct TurboJpegWriterProcessParams 00014 { 00015 std::string filepath; 00016 ETurboJpegOptimization optimization; 00017 ETurboJpegSubsampling subsampling; 00018 int quality; 00019 int premult; 00020 }; 00021 00022 /** 00023 * @brief TurboJpeg plugin 00024 */ 00025 class TurboJpegWriterPlugin : public WriterPlugin 00026 { 00027 public: 00028 TurboJpegWriterPlugin( OfxImageEffectHandle handle ); 00029 00030 public: 00031 TurboJpegWriterProcessParams getProcessParams( const OfxTime time ); 00032 00033 void render( const OFX::RenderArguments &args ); 00034 00035 public: 00036 OFX::BooleanParam* _paramPremult; ///< premult output by alpha 00037 OFX::IntParam* _paramQuality; ///< quality / compression for jpeg 00038 OFX::ChoiceParam* _paramSubsampling; ///< select the subsampling method (4:4:4, 4:2:2, 4:2:0; Gray, 4:4:0) 00039 OFX::ChoiceParam* _paramOptimization; ///< TurboJpeg SIMD optimization 00040 }; 00041 00042 } 00043 } 00044 } 00045 } 00046 00047 #endif