DCTLs and Resolve OFX

Hey Color Comrades

Not a DCTL but still quite cool, and very handy - I just posted in another thread a node-based tool I constructed for a new mini-course i'm writing.

The Sat_DEValueator
It emulates density in a very clean, powerful (up to 1100% strength) and versatile way
LINK to post with pics and explanations

hope you find useful

Hector

Original YRGB (works in RCM too)
original.jpeg
100% DeValueator
Devaluator - strength 100%.jpeg
200% DeValueator
Devaluator - strength 200% .jpeg

400% DeValueator with Custom Mixer set to SoftLight
Devaluator - strength 400% with Softlight.jpeg

reference - Mononodes Density 100% & 200%
Mono 100% 709.jpeg

Mono 200% 709.jpeg
ColorSlice 100% Density
Color Slice 100% rec709.jpeg
 
Hector,

here's my question from the other thread:

Does anything (under the hood) speak against using Sat_DEValueator on group (or even timeline) nodes?

Results translate very well across footage and are really good!

And I might just have a solution your minimalistic node tree will deeply dig ;)

Ooh, exciting! :)
 
Last edited:
Hector,

here's my question from the other thread:

Does anything (under the hood) speak against using Sat_DEValueator on group (or even timeline) nodes?

Results translate very well across footage and are really good!



Ooh, exciting! :)

lol

it's not exactly the same question

but maybe this will help.

You asked about using Sat_DeValueator in a neater, minimalistic node tree
Generally speaking - Nothing prevents from using it across many clips in any manner (just tried your "Timeline-Grade" idea on a completely random timeline and I was surprised by how nicely it works)

However, it's not as handy like having it deal with a specific hue in a specific clip

In the picture you see the whole tool compounded, without the need to go in.
and a disconnected shared node of the Custom-Mixer
DeValueator.jpg
which you get by right-clicking the Custom Mixer before compounding the whole thing and changing it to a shared node
that you then add, disconnected in your node tree - when unlocked, it will control the Custom Mixer just as well.

Since this is probably a "circumstantial" feature - you'll have to re-save a new shared node upon every different look - or it will affect other clips.
But you can even feed a matte to the compounded Custom Mixer - to target a specific selection, hue or range
in the screenshot i'm targeting just pure reds
Screenshot 2024-10-30 at 15.41.41.jpg


Hope this helps.

And I'm really happy you like the tool :)
 
Thanks Hector for the explanation.

This is a cleaner way but I also see the issue that you outline of having to save new shared nodes, which might make it harder for me to keep track. I think for now I'll use Sat_DeValueator on pre-group nodes, in my tests the adjustments (softlight composite mode and adjusting Key Output) translate very well across all shots within a scene.

I really like how fast and simple this gives me aesthetic results. Actually it is the best density/value tool for my aesthetic perception I've ever come across, so a big thank you again!
 
Last edited:
Similar to Davinci Resolve Intermediate treatment you could place a roll-off functionality in the DCTL itself. I just published a simple DCTL fuse - this concept also can be implemented in a DCTL LUT. Please Look here:
Hey, thanks for taking the time ! This seems like an interesting method and while it's not really what i was looking for (because this treatment would ultimately mean to manipulate input values in some arbitrary "display-state". It could work but that's not really the goal here), i'll keep it in mind for future development !

I ended up using some kind of "passthrough" function that looks something like :

Code:
if (rgb < 0)

{

rgb = rgb;

else

{

rgb = do something;

}

Which serves only to output negative values as they were at input so they can get decoded smoothly by any DRT further down the line. From my tests it doesn't seem to cause any issues but if i'm wrong i'll be happy to read from someone more experienced with DCTLs !
 
I really like how fast and simple this gives me aesthetic results. Actually it is the best density/value tool for my aesthetic perception I've ever come across, so a big thank you again!

I missed this somehow :)
Thanks you Michael!
With all the options available - even having one Colorist that appreciates my method enough to call it the "best he came across" - is quite awesome.

More to come soon
 
Thank you for coding and sharing this DCTL, it is a very interesting tool! I gave it a try and here are my preliminary findings:

0. CAS_Sharp should work better in Linear, according to AMD's documentation.
1. CAS_Sharp works better than ordinary sharpening with high-contrast areas - lights, tree branches with sky background, etc. They are not oversharpened and have less haloes.
2. CAS_Sharp does not work as well with small details. It ehnances noise and compression artefacts in the footage very well. Therefore, noise reduction is needed if the footage is noisy.
3. CAS_Sharp is not as "powerful" as ordinary sharpening.
4. CAS_Sharp produces artefacts on the pure black parts of the image. For example, blanking turns white.


CAS_Sharp has three sliders: Contrast, Shift, and Global Blend.

Contrast - increases or decreases amount of contrast between selected areas. Good contrast values - 0.100 to 0.400. Values over 0.800 produce nasty artefacts.

Shift - selects areas to which contrast applies. You can think about them as frequency bands. Shift 1 - smallest details, noise. Shift 10 - biggest details, face features. Good Shift values - 1 to 4. Bigger values tend to produce haloes around high contrast edges.

Global Blend - blends the result with the image. Blend won't fix artefacts of cranked contrast, or haloes at Shift 6 and above. Good Global Blend values - 0.6 for Shift 4, 0.9 for Shift 1.

If I misunderstood something, I would be thankful for the corrections and critique!
Dear Martin, Fedor, Thatcher, thanks so much for your CAS implementation and iterations. It gives me exactly a kind of precises sharpness I was looking for for a long time. Since I found myself reaching for multiple CAS instances in parallel nodes. I decided to update the CAS DCTL with a Multiband mode.
 

Attachments

  • CAS_Sharp_MultiBand_V1.3.txt
    4.1 KB · Views: 71
DCTL development question.

I just sat down to write a new DCTL and discovered that Resolve v20 now caches the DCTLs at startup, so if you want to do any coding you have to reload Resolve every time you make a tweak to your code.
This is completely at odds with how I code, especially considering I frequently make mistakes that would cause things not to run, so I'd make one change at a time and if it broke the script I'd know exactly what I had done that broke it. Even if I didn't break things ever, trying to code a look development tool without feedback is incredibly unintuitive!

Does anyone have any tips or suggestions for iterative DCTL development now?
In the DCTL Plugin, there’s reload button and debug dialog for users for development.
 
Hey everyone!
I just ported the original OFX suite from @Paul Dore to MacOS arm64 for all the M-series devices (should also cleanly install on Intel macs). I also made a .pkg installer so that it's easier for all of you and you do not have to compile anything or similar. Hope this helps✌

 
Hey everyone!
I just ported the original OFX suite from @Paul Dore to MacOS arm64 for all the M-series devices (should also cleanly install on Intel macs). I also made a .pkg installer so that it's easier for all of you and you do not have to compile anything or similar. Hope this helps✌

Any chance for windows users, or it alreday works?
 
Back
Top