/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void AVReaderPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { avtranscoder::preloadCodecsAndFormats(); avtranscoder::Logger::setLogLevel( AV_LOG_QUIET ); desc.setLabels( "TuttleAVReader", "AVReader", "Audio Video reader" ); desc.setPluginGrouping( "tuttle/image/io" ); std::vector<std::string> supportedExtensions( avtranscoder::getInputExtensions() ); // Hack: Add basic video container extensions // as some versions of LibAV doesn't declare properly all extensions... supportedExtensions.push_back("mov"); supportedExtensions.push_back("avi"); supportedExtensions.push_back("mpg"); supportedExtensions.push_back("mkv"); supportedExtensions.push_back("flv"); supportedExtensions.push_back("m2ts"); // sort / unique std::sort(supportedExtensions.begin(), supportedExtensions.end()); supportedExtensions.erase( std::unique(supportedExtensions.begin(), supportedExtensions.end()), supportedExtensions.end() ); desc.setDescription( "Video reader based on AvTranscoder library\n\n" "Supported extensions: \n" + boost::algorithm::join( supportedExtensions, ", " ) ); // add the supported contexts desc.addSupportedContext( OFX::eContextReader ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // add supported extensions desc.addSupportedExtensions( supportedExtensions ); desc.setPluginEvaluation( 30 ); // plugin flags desc.setRenderThreadSafety( OFX::eRenderInstanceSafe ); desc.setHostFrameThreading( false ); desc.setSupportsMultiResolution( false ); desc.setSupportsMultipleClipDepths( true ); desc.setSupportsMultipleClipPARs( true ); desc.setSupportsTiles( kSupportTiles ); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void OpenImageIOReaderPluginFactory::describe(OFX::ImageEffectDescriptor& desc) { desc.setLabels("TuttleOpenImageIOReader", "OpenImageIOReader", "OpenImageIO file reader"); desc.setPluginGrouping("tuttle/image/io"); using namespace boost::assign; std::vector<std::string> supportedExtensions; supportedExtensions += "bmp", "cin", "dds", "dpx", "exr", "fits", "hdr", "ico", "j2k", "j2c", "jp2", "jpeg", "jpg", "jpe", "jfif", "jfi", "pbm", "pgm", "png", "pnm", "ppm", "pic", "psd", "rgbe", "sgi", "tga", "tif", "tiff", "tpic", "tx", "webp", "cr2"; desc.setDescription("OpenImageIO Reader" "\n\n" "Compression is only available for Exr format." "\n" "supported extensions: \n" + boost::algorithm::join(supportedExtensions, ", ")); // add the supported contexts desc.addSupportedContext(OFX::eContextReader); desc.addSupportedContext(OFX::eContextGenerator); desc.addSupportedContext(OFX::eContextGeneral); // add supported pixel depths desc.addSupportedBitDepth(OFX::eBitDepthFloat); desc.addSupportedBitDepth(OFX::eBitDepthUByte); desc.addSupportedBitDepth(OFX::eBitDepthUShort); // add supported extensions desc.addSupportedExtensions(supportedExtensions); desc.setPluginEvaluation(40); // plugin flags desc.setRenderThreadSafety(OFX::eRenderFullySafe); desc.setHostFrameThreading(false); desc.setSupportsMultiResolution(false); desc.setSupportsMultipleClipDepths(true); desc.setSupportsTiles(kSupportTiles); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void TurboJpegReaderPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { desc.setLabels( "TuttleTurboJpeg", "TurboJpeg", "Turbo Jpeg file reader" ); desc.setPluginGrouping( "tuttle/image/io" ); using namespace boost::assign; std::vector<std::string> supportedExtensions; supportedExtensions += "jpeg", "jpg", "jpe", "jfif", "jfi"; desc.setDescription( "Optimized JPEG File reader\n" "Plugin is used to read jpeg files.\n\n" "supported extensions: \n" + boost::algorithm::join( supportedExtensions, ", " ) ); // add the supported contexts, only filter at the moment desc.addSupportedContext( OFX::eContextReader ); desc.addSupportedContext( OFX::eContextGenerator ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // add supported extensions desc.addSupportedExtensions( supportedExtensions ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setHostFrameThreading( false ); desc.setSupportsMultiResolution( false ); desc.setSupportsMultipleClipDepths( true ); }
/** @brief The basic describe function, passed a plugin descriptor */ void WriteOIIOPluginFactory::describe(OFX::ImageEffectDescriptor &desc) { GenericWriterDescribe(desc); // basic labels desc.setLabels(kPluginName, kPluginName, kPluginName); desc.setPluginDescription("Write images using OpenImageIO.\n\n" "OpenImageIO supports writing the following file formats:\n" "BMP (*.bmp)\n" "Cineon (*.cin)\n" //"Direct Draw Surface (*.dds)\n" "DPX (*.dpx)\n" //"Field3D (*.f3d)\n" "FITS (*.fits)\n" "HDR/RGBE (*.hdr)\n" "Icon (*.ico)\n" "IFF (*.iff)\n" "JPEG (*.jpg *.jpe *.jpeg *.jif *.jfif *.jfi)\n" "JPEG-2000 (*.jp2 *.j2k)\n" "OpenEXR (*.exr)\n" "Portable Network Graphics (*.png)\n" "PNM / Netpbm (*.pbm *.pgm *.ppm)\n" "PSD (*.psd *.pdd *.psb)\n" //"Ptex (*.ptex)\n" "RLA (*.rla)\n" "SGI (*.sgi *.rgb *.rgba *.bw *.int *.inta)\n" "Softimage PIC (*.pic)\n" "Targa (*.tga *.tpic)\n" "TIFF (*.tif *.tiff *.tx *.env *.sm *.vsm)\n" "Zfile (*.zfile)\n\n" + oiio_versions()); #ifdef OFX_EXTENSIONS_TUTTLE const char* extensions[] = { "bmp", "cin", /*"dds",*/ "dpx", /*"f3d",*/ "fits", "hdr", "ico", "iff", "jpg", "jpe", "jpeg", "jif", "jfif", "jfi", "jp2", "j2k", "exr", "png", "pbm", "pgm", "ppm", "psd", "pdd", "psb", /*"ptex",*/ "rla", "sgi", "rgb", "rgba", "bw", "int", "inta", "pic", "tga", "tpic", "tif", "tiff", "tx", "env", "sm", "vsm", "zfile", NULL }; desc.addSupportedExtensions(extensions); desc.setPluginEvaluation(50); #endif }