GithubHelp home page GithubHelp logo

natrongithub / openfx-misc Goto Github PK

View Code? Open in Web Editor NEW
287.0 30.0 91.0 31.52 MB

Miscellaneous OFX / OpenFX / Open Effects plugins

License: GNU General Public License v2.0

Shell 0.08% C 14.41% Makefile 0.96% C++ 78.05% Python 0.94% GLSL 5.18% CMake 0.39%

openfx-misc's Introduction

OpenFX-Misc GPL2 License Open Hub Build Status Coverity Scan Build Status

Miscellaneous OFX / OpenFX / Open Effects plugins.

These plugins were primarily developped for Natron, but may be used with other OpenFX hosts.

More information about OpenFX Hosts, OpenFX Plugins (commercial or free), and OpenFX documentation can be found at http://devernay.free.fr/hacks/openfx/.

Downloads

Source

To compile openfx-misc from source, see the Installation section below. There is no official source release: the openfx-misc source repository is composed of a stable set of plugins, and new plugins are introduced as beta features until they are considered stable.

Binaries

Windows binaries compiled with Visual Studio 2017 (which should be compatible with most OpenFX hosts including DaVinci Resolve) are available as part of the openfx-misc project on AppVeyor.

Windows binaries compiled with MinGW MinGW-w64 are available as part of the portable Natron binary distributions for Windows.

License

Copyright (C) 2018-2020 The Natron Developers

Copyright (C) 2013-2018 INRIA

openfx-misc is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

openfx-misc is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with openfx-misc. If not, see http://www.gnu.org/licenses/gpl-2.0.html

Contents

Below is a short description of each plugin. The title of each section is the plugin grouping (the OpenFX host may classify plugins by grouping).

Image

  • CheckerBoardOFX: Generate an image with a checkerboard
  • ColorBarsOFX: Generate an image with SMPTE color bars
  • ColorWheelOFX: Generate an image with a color wheel
  • ConstantOFX: Generate an image with a uniform color
  • SolidOFX: Generate an image with a uniform opaque color

Draw

  • Rand: Generate a random field of noise.
  • NoiseCImg: Generate different kinds of noise.
  • PlasmaCImg: Generate plasma noise.
  • RadialOFX: Radial ramp.
  • RampOFX: Draw a ramp between 2 edges.
  • RectangleOFX: Draw a rectangle.
  • RotoOFX: Create masks and shapes. Requires a host with mask editing capabilities (such as Natron).

Time

  • AppendClipOFX: Put one clip after another.
  • Deinterlace: Deinterlace input stream.
  • FrameBlendOFX: Blend frames.
  • FrameHoldOFX: Hold a frame, or subsample the input frames.
  • FrameRangeOFX: Change the frame range of a clip. Useful with AppendClip
  • RetimeOFX: Change the timing of the input clip.
  • SlitScan: Per-pixel retiming.
  • TimeOffsetOFX: Move the input clip forward or backward in time.
  • TimeBlurOFX: Average frames over a fractional shutter period.
  • NoTimeBlurOFX: Round fractional frames to integer values.
  • TimeBufferRead/TimeBufferWrite: Read from an buffer written during a previous render.

Channel

  • ShuffleOFX: Rearrange channels from one or two inputs, and convert to a different bit depth (on hosts that support it).

Color

  • ClampOFX: Clamp values to a given interval.
  • ColorCorrectOFX: Adjusts the saturation, contrast, gamma, gain and offset of an image.
  • ColorLookupOFX: Apply a parametric lookup curve to each channel separately.
  • ColorSuppress: Remove a color/tint, or create a mask from that color.
  • EqualizeCImg: Equalize the histogram.
  • GradeOFX: Modify the tonal spread of an image from the white and black points.
  • HistEqCImg: Equalize the luminance histogram.
  • HSVToolOFX: Adjust hue, saturation and brightnes, or perform color replacement.
  • HueCorrectOFX: Apply hue-dependent color adjustments using lookup curves.
  • InvertOFX: Inverse the selected channels.
  • Log2LinOFX: Convert from/to the logarithmic space used by Cineon files
  • Math/AddOFX: Add a constant to the selected channels.
  • Math/ClipTestOFX: Draw zebra stripes on all pixels outside of the specified range.
  • Math/ColorMatrixOFX: Multiply the RGBA channels by an arbitrary 4x4 matrix.
  • Math/GammaOFX: Apply gamma function to the selected channels.
  • Math/MultiplyOFX: Multiply the selected channels by a constant.
  • PLogLinOFX: Convert between linear and log representations using the Josh Pines log conversion.
  • Quantize: Reduce the number of color levels with posterization or dithering.
  • SaturationOFX: Modify the color saturation of an image.
  • Threshold: Threshold the selected channels to bring them within the 0-1 range.
  • Transform/RGBToHSV and HSVToRGB: Convert to/from HSV color representation.
  • Transform/RGBToHSL and HSLToRGB: Convert to/from HSL color representation.
  • Transform/RGBToHSI and HSIToRGB: Convert to/from HSI color representation.
  • Transform/RGBToYCbCr601, YCbCrToRGB601, RGBToYCbCr709 and YCbCrToRGB709: Convert to/from YCbCr color representation.
  • Transform/RGBToYPbPr601, YPbPrToRGB601, RGBToYPbPr709 and YPbPrToRGB709: Convert to/from YPbPr color representation.
  • Transform/RGBToYUV601, YUVToRGB601, RGBToYUV709 and YUVToRGB709: Convert to/from YUV color representation.
  • Transform/RGB709ToLab and LabToRGB709: Convert to/from Lab color representation.
  • Transform/RGB709ToXYZ and XYZToRGB709: Convert to/from XYZ color representation.
  • VectorToColor: Convert x and y vector components to a color representation.

Filter

  • BlurCImg: Blur input stream by a quasi-Gaussian or Gaussian filter (recursive implementation), or compute derivatives.
  • ChromaBlurCImg: Blur the chrominance components (usually to prep strongly compressed and chroma subsampled footage for keying).
  • DenoiseSharpen: Denoise and/or sharpen images using wavelet-based algorithms.
  • DilateCImg/ErodeCImg: Dilate/erode input stream by a rectangular structuring element of specified size and Neumann (a.k.a. nearest) boundary conditions.
  • DirBlurOFX: Directional blur.
  • Distance: Compute the distance from each pixel to the closest zero-valued pixel.
  • EdgeDetectCImg: Perform edge detection by computing the image gradient magnitude.
  • EdgeExtend: Fill a matte (i.e. a non-opaque color image with an alpha channel) by extending the edges of the matte.
  • ErodeBlurCImg: Erode or dilate a mask by smoothing.
  • ErodeSmoothCImg: Erode or dilate input stream using a normalized power-weighted filter.
  • GMICExpr: Quickly generate or process image from mathematical formula evaluated for each pixel.
  • GodRays: Average an image over a range of transforms, or create crepuscular rays.
  • InpaintCImg: Inpaint the areas indicated by the Mask input using patch-based inpainting.
  • Matrix3x3 and Matrix5x5: Apply a filter given by a 3x3 or 5x5 matrix.
  • Shadertoy: Apply a Shadertoy fragment shaders (multipass shaders are not supported).
  • SharpenCImg: Sharpen the input stream by enhancing its Laplacian.
  • SharpenInvDiffCImg: Sharpen selected images by inverse diffusion.
  • SharpenShockCImg: Sharpen selected images by shock filters.
  • SmoothAnisotropicCImg: Smooth/Denoise input stream using anisotropic PDE-based smoothing.
  • SmoothBilateralCImg: Blur input stream by bilateral filtering.
  • SmoothBilateralGuidedCImg: Apply joint/cross bilateral filtering on image A, guided by the intensity differences of image B.
  • SmoothGuidedCImg: Blur image, with the Guided Image filter.
  • SmoothMedianCImg: Apply a median filter to input images.
  • SmoothPatchBasedCImg: Denoise selected images by non-local patch averaging.
  • SmoothRollingGuidanceCImg: Filter out details under a given scale using the Rolling Guidance filter.
  • SoftenCImg: Soften the input stream by reducing its Laplacian.

Keyer

  • ChromaKeyerOFX: Apply chroma keying, as described in "Video Demystified" by Keith Jack.
  • Despill: Remove the unwanted color contamination of the foreground (spill) caused by the reflected color of the bluescreen/greenscreen, as described in "Digital Compositing for Film and Video" by Steve Wright.
  • DifferenceOFX: Produce a rough matte from the difference of two images.
  • HueKeyerOFX: Compute a key depending on hue value.
  • KeyerOFX: A collection of simple keyers.
  • MatteMonitor: A Matte Monitor, as described in "Digital Compositing for Film and Video" by Steve Wright.
  • PIK: A per-pixel color difference keyer that uses a mix operation instead of a max operation to combine the non-backing screen channels.
  • note that HSVToolOFX (in the "Color" section) can also be used as a keyer.

Merge

  • ContactSheetOFX: Make a contact sheet from several inputs or frames.
  • CopyRectangleOFX: Copies a rectangle from the input A to the input B in output.
  • DissolveOFX: Weighted average of two inputs.
  • KeyMixOFX: Copies A to B only where Mask is non-zero.
  • LayerContactSheetOFX: Make a contact sheet from layers.
  • MergeOFX: Pixel-by-pixel merge operation between the two inputs.
  • PreMultOFX/UnpremultOFX: Multiply/divide the selected channels by alpha (or another channel).
  • SwitchOFX: Lets you switch between any number of inputs.
  • TimeDissolve: Dissolve from input A to input B over time.

Transform

  • AdjustRoD: Enlarges the input image by a given amount of black and transparent pixels.
  • Card3DOFX: Transform and image as if it were projected on a 3D card.
  • CornerPinOFX and CornerPinMaskedOFX: Fit an image to another in translation, rotation, scale, and shear
  • CropOFX: Remove everything outside from the image of a rectangle.
  • IDistortOFX: Distort an image, based on a displacement map.
  • LensDistortionOFX: Apply nonlinear lens distortion.
  • MirrorOFX: Flip or flop the image.
  • PositionOFX: Translate image by an integer number of pixels.
  • Reformat: Convert image to a different image format and size.
  • SpriteSheet: Use an image as a sprite sheet.
  • STMapOFX: Move pixels around an image, based on a UVmap.
  • TrackerPM: Point tracker based on pattern matching using an exhaustive search within an image region.
  • TransformOFX and TransformMaskedOFX: Translate / Rotate / Scale a 2D image.

Views

These plugins are compatible with the Sony Vegas and Nuke multiview extensions.

  • JoinViewsOFX: JoinView inputs to make a stereo output.
  • OneViewOFX: Takes one view from the input.
  • Stereo/AnaglyphOFX: Make an anaglyph image out of the two views of the input.
  • Stereo/MixViewsOFX: Mix two views together.
  • Stereo/ReConvergeOFX: Shift convergence so that a tracked point appears at screen-depth.
  • Stereo/SideBySideOFX: Put the left and right view of the input next to each other.

Other

  • ImageStatisticsOFX: Compute statistics over an image or a rectangular area.
  • NoOpOFX: Copies the input to the output. Useful for inspecting the properties of input and output clips.
  • TestRenderOFX: Test some rendering features of the OFX host.

Notes & Caveats

What does the Roto plugin do?

If you use the Roto plugin in any other host than Natron, you will notice that it doesn't do much. Its role is just to provide an entry point for a host-based rotoscoping tool, which provides a roto mask to this plugin.

The default parameters are too small on DaVinci Resolve

This is because Resolve does not support the kOfxParamPropDefaultCoordinateSystem property. A solution was implemented in CornerPin (look for the comment "Some hosts (e.g. Resolve) may not support normalized defaults"), but the following plugins still have to be fixed:

  • CopyRectangle
  • Crop
  • HSVTool
  • ImageStatistics
  • ofxsGenerator
  • ofxsPositionInteract
  • ofxsTransformInteract
  • Position
  • ReConverge
  • TestPosition
  • TrackerPM

ColorLookup does not work on Nuke 8/9, DaVinci Resolve...

Although Nuke 8 & 9 claim via OpenFX that they support parametric parameters (i.e. adjustable parametric curves), these don't work (at least on OS X, and maybe on other platforms). The plugin appears in the plugin list, but cannot be instanciated. Nothing seems to happen, and the following message appears on the console (on OS X):

Exception thrown
  basic_string::_S_construct NULL not valid

The same happens with other plugins using parametric parameters, such as TuttleHistogramKeyer.

Parametric parameters work in older versions of Nuke (at least in Nuke 6 & 7).

DaVinci Resolve does not support parametric parameters.

Please file an issue if you think openfx-misc is doing something wrong, or you know of other hosts which have problems with parametric paremeters.

Although ColorCorrect uses parametric parameters, it can still be instanciated on Nuke 8 & 9 and on DaVinci Resolve, but the curve ranges are not adjustable (shadows are decreasing linearly from 0 to 0.09, and highlights are increasing linearly from 0.5 to 1.0).

Retime output does not contain motion blur, where is the "box" filter and the "shutter" parameter?

We should take the code from FrameBlend, simplify, and incorporate it in Retime.

Installation

These plugins are included in the binary distributions of Natron.

If you want to compile the plugins from source, you may either use the provided Unix Makefile, the Xcode project, or the Visual Studio project.

Getting the sources from github

To fetch the latest sources from github, execute the following commands:

git clone https://github.com/NatronGitHub/openfx-misc.git
cd openfx-misc
git submodule update -i -r

In order to get a specific tag, corresponding to a source release, do git tag -l to get the list of tags, and then git checkout tags/<tag_name> to checkout a given tag.

Unix/Linux/FreeBSD/OS X, using Makefiles

On Unix-like systems, the plugins can be compiled by typing in a terminal:

  • make [options] to compile as a single combined plugin (see below for valid options).
  • make nomulti [options] to compile as separate plugins (useful if only a few plugins are is needed, for example). make can also be executed in any plugin's directory.
  • make [options] CXXFLAGS_ADD=-fopenmp LDFLAGS_ADD=-fopenmp to compile with OpenMP support (available for CImg-based plugins and DenoiseSharpen).

The most common options are CONFIG=release to compile a release version, CONFIG=debug to compile a debug version. Or CONFIG=relwithdebinfo to compile an optimized version with debugging symbols.

Another common option is BITS=32for compiling a 32-bits version, BITS=64 for a 64-bits version, and BITS=Universal for a universal binary (OS X only).

See the file Makefile.masterin the toplevel directory for other useful flags/variables.

The compiled plugins are placed in subdirectories named after the configuration, for example Linux-64-realease for a 64-bits Linux compilation. In each of these directories, a *.bundle directory is created, which has to be moved to the proper place (/usr/OFX/Pluginson Linux, or /Library/OFX/Pluginson OS X), using a command like the following, with the same options used for compiling:

sudo make install [options]

OS X, using Xcode

The latest version of Xcode should be installed in order to compile this plugin.

Open the "Terminal" application (use spotlight, or browse /Applications/Utilities), and paste the following lines one-by-one (an administrator password will be asked for after the second line):

xcodebuild -configuration Release install
sudo mkdir /Library/OFX/Plugins
sudo mv /tmp/Misc.dst/Library/OFX/Plugins/Misc /Library/OFX/Plugins

The plugins may also be compiled by compiling the Xcode project called Misc.xcodeproj in the toplevel directory. The bundles produced by this project have to be moved to /Library/OFX/Plugins.

MS Windows, using Visual Studio

Compile using the provided Misc.vcxprojproject found in the Misc directory.

32-bits plugins should be installed in the directory c:\Program Files (x86)\Common Files\OFX\Plugin, 64-bits plugins should be installed in c:\Program Files\Common Files\OFX\Plugins.

Credits

The stereoscopic plugins Anaglyph, JoinViews, MixViews, OneView, ReConverge, SideBySide are by Frederic Devernay.

ColorLookup, Switch, TimeOffset, ChromaKeyer, Difference, Constant, Shuffle, Rectangle, Radial, HSVTool, ImageStatistics, CheckerBoard, Retime, SlitScan, ColorWheel, the color transform plugins and the CImg plugins are by Frederic Devernay.

Merge, ColorCorrect, Grade, Roto, Crop, CopyRectangle are by Alexandre Gauthier.

Transform and CornerPin are by Frederic Devernay and Alexandre Gauthier.

Deinterlace/yadif was first ported to OFX by George Yohng and rewritten by Frederic Devernay when yadif was relicensed to LGPL.

openfx-misc's People

Contributors

acolwell avatar bitdeli-chef avatar devernay avatar drchat avatar lexfrenchy avatar mrkepzie avatar olear avatar omaremaradev avatar rodlie avatar shrinks99 avatar yakoyakoyokuyoku avatar yomgui1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openfx-misc's Issues

Is the "presets" folder supposed to be included in packages?

Hello, I am the maintainer of the Arch Linux package for openfx-misc.
I noticed that the size of the package went up 33MB from version 2.1.9 (14,72 MiB) to 2.2.0 (48,27 MiB). The main size difference I found was because there is a folder called /usr/OFX/Plugins/Shadertoy.ofx.bundle/Contents/Resources/presets/ which has 33 MB of videos and pictures in it. Is this folder supposed to be included in the distribution packages?

ZDefocus plugin

inputs are:

  • a depth or disparity map
  • an image

parameters are:

  • boolean: is it depth or disparity?
  • boolean: is the focus distance set using a point interact or a scalar value?
  • double2D: point interact (disabled if focus is set using a value)
  • double: focus distance
  • depth of focus
  • number of focus slices
  • apperture shape (Gaussian apperture uses a fast blur)

Algorithm: create masks for each focus slice, blur premultiplied image+mask with the right blur radius (using convolve, for a nice bokeh effect), and merge over successively each blurred image from far to near focus slices, to handle occlusions correctly.

In draft mode, always use Gaussian blur

How to build under Windows ?

Hello, I'm unable to build under windows using the misc.vcxproj. I have missing file or missing ID. I already put the openfx folder ( from MrKepzie/openfx) in this directory, but it's not enougth.

Build as separate plugins under windows

There is a request to build as separate plugins rather than a single multibundle under windows, for use in other OFX hosts (Resolve, Fusion...). That way, plugins can be copied individually.
I don't have windows, so I cannot do it, but I can help if someone gets stuck on this.
Basically, you'll find all the information about what file is required for which plugin in the Unix Makefile found in each subdir of the source tree.

If someone does this, please contribute the vcxproj.

Plugins not appearing in Resolve

I'm currently using the Resolve 15 public beta to learn some video editing and I can across these plugins. I tried building them with Visual Studio 2017, but for some reason, that failed horribly, So I installed Natron to get the prebuilt binaries so I wouldn't need to figure out why the build didn't work. (I rarely venture into native development so it's all new to me, I wouldn't know where to start) I pulled the plugins that natron installed from "C:\Program Files\INRIA\Natron-2.3.12\Plugins\OFX\Natron", which were a bunch of *.ofx.bundle folders and I copied them to my "C:\Program Files\Common Files\OFX\Plugins" directory. After launching resolve I can't find the plugins anywhere. This is probably a problem that hopefully, has a simple fix that I'm not seeing.

The OFXPluginCache.xml file in my C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support dir also shows all off the bundles being detected, with an entry for every file.

DenoiseSharpen in other apps

Hi there,

I love DenoiseSharpen and I'm quite interested to use it in different apps, too.
So far I was able to copy the Misc.ofx bundled from Natron to make it work. For now I only tried it in Resolve (I have no other OFX-using Software except Resolve and Natron here, at work I'll test in Nuke), but had some issues and doesn't really work, unfortunately :(

I do understand that this is no priority, but I thought I'd still share it, in my eyes this greatly help the popularity :)
I'll list the things I noticed.

- denoise doesn't work
Ok that's the biggest one ... :) the denoise doesn't work. Even when the region locks (so the analysis "worked" (see below)) it doesn't denoise at all. Outputting Noise only will give a 100% black image. Changing values doesn't do anything. Doesn't matter if you are on YCbCr or RGB etc

- analysis doesn't always seem to work
Usually it should lock the region etc when you hit the button, but that doesn't always work, even when pressed repeatedly.

- default analysis-box is at 0:0 with a size of 1:1
The default position is the same as in Natron, but the size is not the input, it's 1 for each axis. This is no big issue, as you can type a bigger size and go from the (just grabbing is a bit hard because of the small preview window in Resolve)

The Sharpen function works flawless, no issue here.
My guess is that the analysis doesn't properly work, why ever that is.
For testing, I just applied the effect to a Serial Node, as you'd normally do it with OFX plugins.

I used the Misc.ofx.bundle from Natron 2.2.3 in DaVinci Resolve Studio 12.5.4
I'm on Windows 10 Pro

CRASHED AND DELETE PLUG...it's crazy?

hello devernay
i find dangerous...so
i added nodes:
-1 "noise" (NoiseOFX: Generate simple noise.)
-1 "plasma" (PlasmaCImg: Generate plasma noise.)
-1 viewer, linked number 2 (1 for noise, 2 for plasma)
-frame project from 1 to 10, frame range : 1 to 10
-play forward with continuous.
-i press 1 (play worked)
-i press 2 (play worked) after 4 seeconds is CRASHED..
-reopen Natron and windows said: plug plasma not found...
-i check plug "plasma" is disappeared..
i check folder of natron and plugs folders, is missed "plasma"...
this is crazy for delete file?!
natron :0f75b8a1ba0138799d85a065694f27bd21696a84.

you check it ok?

CImg + Misc OFX crash Fusion 16 on startup

Hi there,

when the Misc and CImg OFX are installed, Fusion 16 SAL crashes instantly; the splashscreen won't last a second.

There's a way to blacklist them so they won't be loaded on startup, then it will boot through.

Just in case someone needs to know :)

Best Regards

Install process/instructions needs to be much easier

The second sentence under the heading 'Installation' reads:

If you want to compile the plugins from source, you may either use the provided Unix Makefile, the Xcode project, or the Visual Studio project.

I can guarantee that a majority of potential users will scroll down, read that, go 'Huh?', and then eventually giving up after trying to understand the rest of the instructions for 5 minutes (I know I did, and I'm actually quite well-versed when it comes to nerdy computer stuff compared to most other people). I don't know how important it is to get these people onboard, but if you want them to use the software, you definitely need to make the installation process much easier (e.g, Create a dmg file for OS X) or make the installation instructions much easier (e.g., In which directory should I place the binaries? Wait, is 'a binary' the same thing as 'the source'? Can I move/delete the files after the installation process is complete? Do I need to move anything myself?).

MultiBundle

Hi Frédéric, thanks for the advice with regards to exporting text files. I managed to add script export to all 16 plugins. You mentioned before the idea of combining the plugins into a single bundle, and I've been trying to get that to work, but no joy so far. I've been using Misc folder in openfx-misc as an example, and the most recent updates of openfx and SupportExt, I'm still getting stuck. I think it's the GPU diversion that's causing the failure to compile, but I'm not sure.

Add New Layer/Plane OFX plugin (question)

I'm looking to, in both Nuke and Natron, have the plugin create a new layer and modify certain channels as it renders. Much like a Shuffle it will take some channels and pass them into our new layer while generating others based off of Int/Color params but the idea would be to auto-generate a new plane to work with and set it's initial data to be used down stream, committing it to the output. I have the render math but not the new layer to work with.

So far I have a heavily modified Shuffle that's not quite giving me the right params in either app so I'm working on that. I've looked into the makeNatronCustomChannel() as well as run through the ReadOIIO a few times but am having difficulty understanding just what the string syntax/layout should be for generating a new layer in the app.

When would be the best time to create the channel as well? As far I can tell from ReadOIIO it's on the file being changed which makes sense but I'm looking to just have it start with that layer made by the plugin.

Any info/questions/feedback is greatly appreciated!
Cheers,
Michael McCartney

missing node: Reformat

An optimized reformat should be implemented as a separable filter:

  • Interpolate on the lines first, the on the columns.

Gaussian and Lanczos filters can be implemented efficiently in that situation.

Add Testing plugins

We need testing plugins:

  • 4 plugins which support all combinations of tiles and multiresolution
  • a plugin which doesn't support renderscale
  • a plugin which give different images at each renderscale
  • a plugin which returns isIdentity=true on the left side of the image, false on the right side (for testing isIdentity's renderwindow)
  • a buggy plugin which write garbage in the output image outside of their renderWindow
  • a plugin which returns infinite region of interest for any renderWindow
  • a plugin with infinite RoD

missing node: Keyer/Difference

Difference produces a matte from the difference of two input images.

Inputs:
A is the background without the subject (clean plate)
B is the subject with the background

RGB is copied from B, the difference (Euclidean distance in Linear RGB space? or in Lab space, maybe?) is output to alpha, after applying offset + gain

Parameters:
offset
gain

(un)premult option for color correction nodes

The color correction nodes, i.e. ColorCorrect, Grade and Invert, should have an (un)premult option (a boolean + a channel name). When this option is checked, the values are divided by the selected channel before correction, and re-multiplied afterwards.
This should be done before masking and mixing.
The selected premult channel should not be affected by the color transform at all.

Missing node: CopyRectangle

Should have a lot in common with the "Crop" plugin. Why not implement the two plugins in the same source?

cimg makefile does not use c++11

it leads to errors like those:
./CImg.h:5333:14: error: ‘log2’ is not a member of ‘std’
return std::log2(x);
./CImg.h:5319:14: error: ‘atanh’ is not a member of ‘std’
return std::atanh(x);
./CImg.h:5310:14: error: ‘asinh’ is not a member of ‘std’
return std::asinh(x);

it can be fixed by adding this line into CImg/Makefile
CXXFLAGS += -std=c++11

Convolve node

FFT-based convolution
By default, Filter is centered on the project window, but we will also add an "auto-center" option

SlitScan node

A slitscan node that permits:

  • traditional slitscan a la Douglas Trumbull
  • per-pixel retiming using an optional retime map

Parameters would be gain and offset for the retime map, an "absolute" ckeckbox, and a frame range (automatically set when the default vertical ramp is used as the retime map)

A placeholder plugin is in the SlitScan directory

TestOpenGLRender Error

Hello
i try to compile the Test folder with make but it seems to be that there is an error in the TestOpenGLRender.h in line 1223

my IDE cant find the args.openGLEnabled which should be defined in ofxsImageEffect.h

any idea how to solve this problem?

CImg: Build fails on git --archive (firewall issue?)

https://github.com/devernay/openfx-misc/blob/master/CImg/Makefile#L46

Build fails with "connection refused" if firewall blocks port 9418, I opened the port but now get:

make[1]: Entering directory `/root/natron-linux/tmp/openfx-misc/CImg'
git archive --remote=git://git.code.sf.net/p/gmic/source f99ec436e44134d4974340a862cdfb159b0961f5:src CImg.h | tar xf -
remote: fatal: Not a valid object name
remote: git upload-archive: archiver died with error
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

A submodule would maybe be a better solution?

Transform & CornerPin: live preview

We may implement live preview for transform nodes.

Live preview requires a lot more of opengl code, because the preview should not trigger a render (which may have motion blur, etc.). It's feasible, though (fetch the image and texture-map it with projective texture mapping).

Unfortunately there's officially no way to fetch an image from an OpenFX Interact:

Images may be fetched from an attached clip in the following situations...

I think of two ways to get the texture:

  • cache the last source image rendered with kOfxPropIsInteractive set to true, (or should we use kOfxImageEffectPropInteractiveRenderStatus ?) and use that as texture for the live preview
  • trigger a kOfxActionInstanceChanged with kOfxChangeUserEdited, by setting a special value (a secret pushbutton maybe) when the button is pressed. But when we setValue from an interact, is it kOfxChangeUserEdited or kOfxChangePluginEdited, @MrKepzie?

Any help/advice on this issue is welcome.

See also MrKepzie/Natron#34

Natron 2.2.5 doesn't load new OFX-misc Plugins

Hi,
I'm not being able to load custom OFX plugins in Natron based on the openfx-misc plugins.
In previous releases I could manage to do this several times without problems.
I use Ubuntu command line, with GNU Make 4.1, and Natron 2.2.5

I made a clean test:

git clone https://github.com/devernay/openfx-misc.git
cd openfx-misc
git submodule update -i -r

I rename Invert folder to ¨CustomPlugin¨, renamed also within the makefile, and CustomPlugin.cpp.
In the code just changed the Grouping and Identifier lines , to load the plugin in a new group called ¨CustomPlugin¨:

#define kPluginName "CustomPlugin"
#define kPluginGrouping "NewGroup"
#define kPluginDescription "Load OFX plugin"
#define kPluginIdentifier "net.sf.openfx.CustomPlugin"

I´m building the plugins from linux terminal> make CONFIG=release BITS=64
In Natron, in Preferences/Plugins I added the path to the created folder Linux-64-release .

The last days i´ve been trying to do this in many different ways, but Natron doesn´t load the new plugin in a new group.
Previous releases didn't show this issue.

DenoiseSharpen

Hi there!
Just used DenoiseSharpen today for the first time, wow, excellent! I don't know if I'm in the right place to post suggestions but if so, may I suggest some developments?

  • the ability to visually see next to each other the luminance, the chrominance channels (Cb, Cr) and the denoised footage.
  • the ability to see high, mid, and low frequencies in each frequency components (Y, Cb, Cr). Ideally a quad view with the denoised/sharpened result on top left or right corner + black and white views of high, mid, and low frequencies.
  • when changing a value in any of the settings, a before and after toggle visualisation.

Many thanks

Ramp/rectangle/radial node ability to add/remove color stops

As discussed with Fred via email, some functionality should be added to the ramp/rectangle/radial nodes, where one can add or remove colour stops for more complex ramps, etc.

If it doesn't already exist in the code somewhere, it would also be good to easily choose between different ramp shapes (ie: linear; radial; circular; etc.).

In compositing, ramps are one of the 'Swiss Army' knives of tools, allowing all sorts of ease in making quick mattes, to overlaying colour washes, etc. The ability to animate colour stops and pretty much any other parameter, makes this a powerful part of any tool.

Thanks, for considering it!

Resolve does not set image properties, handle this

In all plugins that check the renderscale, do the same change as this: d2abda5

Explanation: when rendering thumbails, Resolve 15 calls render with a small renderscale, but images returned by clipGetImage do not have the renderscale and fielding properties set, thus render fails.

Build Fail on Mac

HERE'S WHAT HAPPEND:

=== BUILD TARGET Misc.ofx OF PROJECT Misc WITH CONFIGURATION Release ===

Check dependencies

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Deinterlace.o Deinterlace/Deinterlace.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Deinterlace.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Deinterlace.dia -c /Users/kwixson/Downloads/openfx-misc-master/Deinterlace/Deinterlace.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Deinterlace.o
/Users/kwixson/Downloads/openfx-misc-master/Deinterlace/Deinterlace.cpp:76:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Anaglyph.o Anaglyph/Anaglyph.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Anaglyph.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Anaglyph.dia -c /Users/kwixson/Downloads/openfx-misc-master/Anaglyph/Anaglyph.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Anaglyph.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/Anaglyph/Anaglyph.cpp:75:
/Users/kwixson/Downloads/openfx-misc-master/Anaglyph/Anaglyph.h:41:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ChromaKeyer.o ChromaKeyer/ChromaKeyer.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ChromaKeyer.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ChromaKeyer.dia -c /Users/kwixson/Downloads/openfx-misc-master/ChromaKeyer/ChromaKeyer.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ChromaKeyer.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/ChromaKeyer/ChromaKeyer.cpp:73:
/Users/kwixson/Downloads/openfx-misc-master/ChromaKeyer/ChromaKeyer.h:41:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CornerPin.o CornerPin/CornerPin.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CornerPin.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CornerPin.dia -c /Users/kwixson/Downloads/openfx-misc-master/CornerPin/CornerPin.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CornerPin.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/CornerPin/CornerPin.cpp:87:
/Users/kwixson/Downloads/openfx-misc-master/CornerPin/CornerPin.h:40:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ColorCorrect.o ColorCorrect/ColorCorrect.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ColorCorrect.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ColorCorrect.dia -c /Users/kwixson/Downloads/openfx-misc-master/ColorCorrect/ColorCorrect.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/ColorCorrect.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/ColorCorrect/ColorCorrect.cpp:73:
/Users/kwixson/Downloads/openfx-misc-master/ColorCorrect/ColorCorrect.h:76:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Constant.o Constant/Constant.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Constant.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Constant.dia -c /Users/kwixson/Downloads/openfx-misc-master/Constant/Constant.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Constant.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/Constant/Constant.cpp:73:
/Users/kwixson/Downloads/openfx-misc-master/Constant/Constant.h:76:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Crop.o Crop/Crop.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Crop.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Crop.dia -c /Users/kwixson/Downloads/openfx-misc-master/Crop/Crop.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/Crop.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/Crop/Crop.cpp:72:
/Users/kwixson/Downloads/openfx-misc-master/Crop/Crop.h:40:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

CompileC build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CopyRectangle.o CopyRectangle/CopyRectangle.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/kwixson/Downloads/openfx-misc-master
export LANG=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wno-bool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DNDEBUG=1 -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_TUTTLE -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility-inlines-hidden -Wno-sign-conversion -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-generated-files.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-own-target-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-all-target-headers.hmap -iquote /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Misc.ofx-project-headers.hmap -I/Users/kwixson/Downloads/openfx-misc-master/build/Release/include -Iopenfx/include -Iopenfx/Support/include -Iopenfx/Support/Plugins/include -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources/x86_64 -I/Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/DerivedSources -F/Users/kwixson/Downloads/openfx-misc-master/build/Release -MMD -MT dependencies -MF /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CopyRectangle.d --serialize-diagnostics /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CopyRectangle.dia -c /Users/kwixson/Downloads/openfx-misc-master/CopyRectangle/CopyRectangle.cpp -o /Users/kwixson/Downloads/openfx-misc-master/build/Misc.build/Release/Misc.ofx.build/Objects-normal/x86_64/CopyRectangle.o
In file included from /Users/kwixson/Downloads/openfx-misc-master/CopyRectangle/CopyRectangle.cpp:72:
/Users/kwixson/Downloads/openfx-misc-master/CopyRectangle/CopyRectangle.h:40:10: fatal error: 'ofxsImageEffect.h' file not found

include "ofxsImageEffect.h"

     ^

1 error generated.

TrackerPM: optimizations

  • The pattern as well as pattern weights should be extracted once, in setupAndProcess(), to avoid numerous calls to getPixelAddress. Pattern extraction should tolerate patterns that go outside of the image (just set weight to 0 for these pixels). If the weights are 0 everywhere, tracking should be aborted.
  • The processor should have two versions (use a boolean template argument): masked (if there is a weighting mask and it's not equal to the same value at every pixel) and non-masked (no weighting mask or weights are uniform).

Cache plugin

Nuke and Digital Fusion both gave caching nodes. Based on Natron's caching engine, will such nodes be necessary? Will we have the ability to set our own scratch cache disk location.

This function would be useful if you want to have a large disk+memory cache for a specific node which does heavy computations (e.g. disparity map or motion vectors), and possibly keep the contents of the cache between Natron session. See MrKepzie/Natron#89

We could even write it easily in a dedicated OpenFX plugin that does the job by itself. It may even be the easiest way to implement it (each time render() is called, it would use the cache to store/retrieve the rendered image). That OpenFX plugin would rely on kOfxImagePropUniqueIdentifier being properly set, but unfortunately not all OFX hosts implement it properly (Natron does).

It will severely affect performance, that's why it should only be used with nodes that do heavy computation.

I know how to implement memory-mapping on linux and OSX, I still need to check how to do it so that it also works on Windows. Without using Qt or boost, if possible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.