DaVinci Resolve DCTL and OFX Plugins

I recommend constructing a workflow using DCTLs first, as there are more options, and when it’s working as intended the plugin can be upgraded to accommodate needs. The plugin is effectively a user-friendly interface (albeit limited) for the DCTL collection, and will have new features added as time goes on, but power users will get better performance, modularity, and more choices when using DCTLs instead.

@chuckyboilo I’d tend to agree with Paul about explicitly piecing together the proper chain using DCTL nodes for now. As he mentions, there are more options and you are able to be sure of each piece in the chain. (The Rec709 D60sim ODT should be available that way, too).

In general, I would exercise caution using any of this in any important productions just yet. That’s not to take away from the absolutely incredible amount of work that @Paul_Dore has already done on this, but I would just recommend some more testing and development before full trust. When I finish with my current workload, I certainly plan on doing my own testing so that I’ll be able to be conversant on the intricacies and caveats of using these new tools.

This entire thread is fantastic progress in usability of ACES in Resolve and holds a lot of promise for a very user friendly approach to help users have more flexibility moving forward. Let’s keep up the positive forward momentum!!

Thanks @Paul_Dore and @sdyer

Pardon my lack of technical knowledge… but how would I go about using the DCTLs? The folder has allot of files but they all end with a « .h » extension. Not sure on how I’m supposed to use them.

Thanks!

You don’t do anything with the .h files except copy them with the whole folder structure into your Resolve LUT folder. They are library files which define functions which the main DCTL files use. This makes the .dctl files smaller and more readable, as the functions which are used many times in different .dctls don’t need to be repeated in all of them.

UPDATE: Sorry, I realise now that there are no “main DCTL files” as such. There is the one ACES_Sample.dctl which shows you how a DCTL should be constructed using the library functions. Duplicate that, and edit each copy to perform a particular operation or sequence of operations. So a simple DCTL to build the entire ACES base processing (in DaVinci YRGB mode, so you are doing everything yourself) for ALEXA EI800 LogC would use only these lines:

#include "ACES_LIB/ACES_IDT.h"
#include "ACES_LIB/ACES_RRT.h"
#include "ACES_LIB/ACES_ODT.h"

__DEVICE__ float3 transform(int p_Width, int p_Height, int p_X, int p_Y, float p_R, float p_G, float p_B)
{

float3 aces = make_float3(p_R, p_G, p_B);

aces = IDT_Alexa_v3_logC_EI800(aces);

aces = RRT(aces);

aces = ODT_Rec709_D60sim_100nits_dim(aces);

return aces;

}

Thanks for the follow up.

It seems that I’m way out of my league here. I tried editing the DCTL but it seems that I lack the technical knowledge to understand how to correctly do this. I understand the premise but cannot implement.

@nick: could you post an example DCTL (the ALEXA IE 800 LOGc)? Maybe this will help me understand how to go about editing the DCTL.

So far, for people like me, the plugin would be the best option. But I would really like to be able to work the DCTLs.

Anywhere I could get some documentation or a crash course?

EDIT: I also tried to export a DCTL directly from the plugin and that gave me an error message when trying to apply it back on a node.

Thanks!

He already did exactly that in his last post.

I also tried to export a DCTL directly from the plugin and that gave me an error message when trying to apply it back on a node.

Have you read carefully the instructions in the 1st post and the one that introduced the DCTL export option? For the DCTLs to work properly you need Resolve 15 Studio. The ACES_DCTL folder (containing ACES_Sample.dctl and ACES_LIB folder) goes into the same LUT directory as regular 3D LUTs. Copy Nick’s example code and paste it into a blank text file, change the extension to .dctl, and place it inside the ACES_DCTL folder.

Again, please read carefully the preceding posts, as you’re likely to find the answers to your questions have already been supplied.

Thanks @Paul_Dore!

Jorge

I read the first post when you started the thread. I was unable to get to testing before Monday. That detail must of slipped my mind after started to test the plugin in 14. Sorry for not running thru the instructions properly. I’ve been working on a workflow for months (that was at a dead end) and I was very excited about your plugin.

Did test in Beta 15 and it works. This really opens up a new world for us… The DCTL took a few seconds to load… Is this expected as it is looking up the all the different files?

Thanks again for the great work. I’d be willing to contribute in any way to help you with development.

Cheers!

1 Like

Hi to all,

I’ve tested extensively the DCTLs scripts and they will quite useful in R15. Especially, considering that (for now) all of the edit created titles, transitions etc… go thru the ACES pipeline unmanaged.

I did not find any bugs or any performance problems associated with the use of the DCTLs. There is some caveats if the user is not well versed in understanding ACES as you could potentially grade outside or before ACES and induce errors.

That being said. It’s seems pretty solid!

Cheers!

Hi, I tried to install the OFX plugin, I place it in the Macintosh HD/Library/OFX/Plugins Folder, but it wont appear in the OpenFX Library in Resolve.
I run Resolve 14.3 on a Mac Pro 2013 (AMD CARDS) with High Sierra installed.
I tried to install also some of the other Plugins you created, and I had the same result. Only the MATTE one is working. Is my version of Resolve?
Thanks in advance Paul

Most of the newer plugins (including ACES OFX) are Cuda only. Most of the legacy plugins are OpenCL compatible. The more advanced features of the new plugins will only work with Cuda, so no plans to attempt further cross compatibility in the near future.

Ok, thanks for the quick replay Paul! Great work by the way!

The ACES DCTL collection has been updated to the official ACES 1.1 release.

New files:

ACES_LIB/ACES_ODT/ODT_P3DCI_D60sim_48nits.h
ACES_LIB/ACES_ODT/InvODT_P3DCI_D60sim_48nits.h

ACES_LIB/ACES_UTILITIES/DolbyPQ_to_HLG_1000nits.h
ACES_LIB/ACES_UTILITIES/HLG_to_DolbyPQ_1000nits.h

ACES_LIB/ACES_LMT/LMT_BlueLightArtifactFix.h (formerly LMT_FixHighlightImageArtifacts.h)

Updated files:

ACES_Sample.dctl
ACES_LIB/ACES_LMT.h
ACES_LIB/ACES_ODT.h
ACES_LIB/ACES_Utilities_Color.h
ACES_LIB/ACES_RRT_Common.h
ACES_LIB/ACES_OutputTransforms.h

The LEGAL_RANGE and SURROUND options are now enabled in the new Output Transform functions.

ACES 1.1 DCTL

2 Likes

Has anyone successfully gotten these running on a Macbook Pro?

I have a Mid-2014 MBP with 16GB RAM and a GeForce 750M. I can get them working if I use the Nvidia web driver and cuda, but I keep running into a major problem. When using DCTL or the OFX Plugin Resolve will suddenly suck all my computer resources and basically lock the machine up. There have been a few instances where I was able to quit resolve and the computer came back, but it’s very annoying.

This happens under both Resolve 14 and 15 so I’m thinking it’s related to the Nvidia Driver. Any thoughts would be greatly appreciated.

FYI … also the OFX plugin doesn’t seem to be working for me in Resolve 14 Studio. Not sure what the issue is there.

I believe this has been asked and answered multiple times in this thread. The plugin requires Resolve 15 since it calls on the DCTL with #include statements.

@sdyer Below is the quote from @Paul_Dore that the OFX plugin should work in Resolve Lite and Studio in both 14 and 15.

The point that was addressed was @chuckyboilo trying to export DCTL out of the plugin in Resolve 14. That obviously doesn’t work because DCTL in Resolve 14 doesn’t support #include statements but I believe the plugin itself should still work on Nvidia systems with Resolve 14 based on @Paul_Dore previous comments.

Thanks @Paul_Dore

GPU Driver Version: 355.11.10.10.35.101
CUDA Driver Version: 396.148
MacOs Version : 10.13.5 (17F77)

Are you running the Nvidia Web Driver or just the stock MacOS GPU driver? Resolve doesn’t seem to recognize my GPU as Cuda capable with the stock MacOS GPU driver.

Thanks again for the confirmation!

Odd … followed the instructions above and it fixed in the “Update Required” issue when using the mac GPU driver, but Resolve still complained about not being able to find a CUDA compatible GPU. It seems to work as long as I use the Nvidia driver.

My set-up is specifically suited for compiling plugins for Resolve, hence the CUDA 8.0.90 driver. Otherwise I would probably use the most up to date versions (provided they work). The throttling issue is something worth approaching either Apple or Blackmagic Design about.