TuttleOFX  1
Jpeg2000WriterPlugin.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_JPEG2000_WRITER_PLUGIN_HPP_
00002 #define _TUTTLE_PLUGIN_JPEG2000_WRITER_PLUGIN_HPP_
00003 
00004 #include "Jpeg2000WriterDefinitions.hpp"
00005 #include <tuttle/plugin/context/WriterPlugin.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace jpeg2000 {
00010 namespace writer {
00011 
00012 struct Jpeg2000ProcessParams
00013 {
00014         std::string           _filepath; ///< filepath
00015         ETuttlePluginBitDepth _bitDepth;         ///< Precision (in bits)
00016         int                   _cineProfil;       ///< Cinema Profile
00017         bool                  _lossless;        ///< Lossless compression
00018 };
00019 
00020 /**
00021  * @brief Jpeg2000 plugin
00022  */
00023 class Jpeg2000WriterPlugin : public WriterPlugin
00024 {
00025 public:
00026     Jpeg2000WriterPlugin( OfxImageEffectHandle handle );
00027 
00028 public:
00029         Jpeg2000ProcessParams getProcessParams(const OfxTime time);
00030 
00031         void changedParam( const OFX::InstanceChangedArgs &args, const std::string &paramName );
00032 
00033         void render( const OFX::RenderArguments &args );
00034 
00035 protected:
00036         OFX::ChoiceParam    *_paramCineProfil;
00037         OFX::BooleanParam   *_paramLossless;
00038 };
00039 
00040 }
00041 }
00042 }
00043 }
00044 
00045 #endif