OpenFX support for post processing


I plan to do a quick film project. I want to edit video and add some effects using Blender. I noticed there was nothing in Blender to help with noise removal in the live action footage. Support for commonly used operations like salt and pepper removal seems like a very useful addition. I believe a plugin framework for post processing, called OpenFX, can help.

Other commercial visual effects software support OpenFX so its users can leverage OpenFX plugins. Since these OFX plugins are intended to be leveraged in different applications, is there a reason not to support it in Blender?

I am also a developer. One of my interests is in image processing and I would enjoy contributing this feature. Before I get started,

Is the Blender Foundation open to adding support for OpenFX?

Do you have any tips before I get started writing the code? What is the best way to support it? Should I treat it like a ‘renderer’ or just a new compositor node? Sergey pointed me to an article about adding new compositor nodes.

I definitely plan to segregate the new support using the traditional techniques that I see in the Blender source and build systems. You will be able to turn it off if you do not want it.


best is for compositor or sequencer
ask ton about this. he can help you

Major issue is that Blender doesn’t have framework to deal with temporal assets (changes to the image over time). Where the most successful noise reduction requires you to compare previous frames Blender cannot do it.

I wish you all the best as this is a feature Blender really needs.

I believe the OpenFX framework is intended to act as a causal filter, where only the current frame is provided, and previous frames may be accumulated by filters if temporal filtering is required. Accumulating memory in the filter might be a problem as we are entering the days of 4K resolution. I’m just guessing really. I need to try to implement the OpenFX support to know for sure if it assumes only a single frame is provided. You bring up a good point, and it might be useful to have a framework that can support non-causal filtering. Non-causal filtering might be beyond the current design of OpenFX. Maybe future versions of OpenFX, if the current version does not, will support non-causal filtering.

I don’t know what the Blender foundation thinks of OpenFX support. There have been others inquiring in the past thought I doubt anyone wanted to actually code it in. I would really support this but I think you need to catch up with Campbell Barton or Ton on the mail lists.

Hey cyrfer have you seen the GSoC for VSE? proposal seems to include changes to OpenCL handling. Is that of interest to your project?

Hey Cyrfer, are you still working on this? Just an interested user who also thinks OpenFX in Blender would be very useful…

I was working on this (OpenFX compositor nodes) a while back but needed some functionality from Lucas’ pynodes branch and then promptly forgot about it while waiting for it to get merged into trunk. Since then everything that’s needed is in trunk thanks to OSL and/or pynodes, now it’s just a matter of finding some time to track down that old patch and figure out what I was trying to do…probably need to figure out how the compositor pipeline works again since it’s kind of complicated.

Haven’t looked at the new and improved VSE yet but I’m sure it wouldn’t be too hard to plug them in if/when I get the base lib stuff working.

Squee!!! with delight.

I’d also like to add a Squee!