×

Terminal Output

  • Welcome
  • Standards Discussion
  • Contact
  • Ofx small
  • Welcome
    • Why a Standard?
    • For Implementers
    • Association Business
  • API Documentation
    • API Reference
    • Programming Reference
    • Programming Guide
  • Standards Discussion
  • Contact
Back to standard change list


Modifying Plugin Properties After Description Proposed

Standard version: 1.4

Minor Change

RE:Vision would like an host to test Plugin Instances part

 

 

Suggested Solution For Plugin Instances

The following properties, currently only settable in the describe actions, should be dynamically setable in an instance.

  • kOfxImageEffectPropSupportsTiles

  • kOfxImageEffectOpenGLRenderSupported

 

For example a plugin might support tiles in CPU but not in GPU

For example an host might be GPU centric but a driver comes up and break plug-in implementation on GPU, at least plug-in can be selected by user to render CPU.

Feature Request has been broken in two - parameter hint moved to next version

 

Host that support these 2 processing modes should allow an effect to change their mind in Instance Changed.

For plug-ins, it is safer to attach such state changes to a parameter so there is not a synch issue with render threads.

We might need at some point a way for host to communicate user has selected to render GPU or CPU sort of things. This is different. 

 

Pierre:  "

Right now it's what we do: (sorry for a bit of non pure OFX here)

gPropHost        = (OfxPropertySuiteV1 *)    gHost->fetchSuite(gHost->host, kOfxPropertySuite, 1);  // gHost is cached here on Loading of plugin

In InstanceChanged:

OfxPropertySetHandle effectProps;
mEffectHost->getPropertySet(effect, &effectProps);  // OfxImageEffectHandle  effect is passed by host
gPropHost->propSetString(effectProps, kOfxImageEffectPropOpenGLRenderSupported, 0, "true"); // or false is how we envision switching state


When setting to true we also do this (assuming it's not set):
        // we support all the OpenGL bit depths
        gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 0, kOfxBitDepthByte);
        gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 1, kOfxBitDepthShort);
        gPropHost->propSetString(effectProps, kOfxOpenGLPropPixelDepth, 2, kOfxBitDepthFloat);
       // and assuming host will convert to 32b float -  kOfxBitDepthHalf - as we don't handle it  (we could for IO, butsame as host, see no advantage today to us)

"

 

Back to standard change list


Discussion

No comments on this change yet

Back to standard change list
  • OFX @ Github
  • Association Information

Copyright ©2023 The Open Effects Association