Executable transform logic
Unlike a fixed lookup table, DCTL can calculate output values with code and can expose user controls when the author defines them.
DCTL is not one fixed colour effect. It is a Resolve FX host for custom DaVinci Color Transform Language code. The selected script can be a technical colour transform, creative look, gamut tool, diagnostic utility or another pixel operation — so the real behaviour is defined by the DCTL you load.
What DCTL actually is
The DCTL Resolve FX provides the host and final Blend control. The actual maths, expected colour space, optional UI and purpose come from the selected DCTL/DCTLE. Two tools loaded through the same DCTL panel can therefore behave completely differently.
Unlike a fixed lookup table, DCTL can calculate output values with code and can expose user controls when the author defines them.
DCTL is commonly used for colour-space maths, tone/gamut shaping, film-style tools and other colour operations.
A DCTL can also visualise clipping, false colour, gamut limits or other analytical information rather than create a final look.
The same code can be correct in one signal state and wrong in another. Input/output assumptions matter as much as the visible slider values.
Inspector controls
With NONE selected the panel contains almost nothing because there is no DCTL-specific interface to show. Once a script is loaded, Resolve can expose whatever supported controls that script defines.
The DCTL field selects the specific DCTL file executed by this Resolve FX. NONE means no custom transform is selected: the DCTL FX shell may remain on the node, but no useful transform from DCTL code is being applied. After a script is selected, the panel can expose additional sliders, checkboxes, combo boxes or other controls defined by that particular DCTL author.
DCTL has no universal fixed parameter set comparable to Contrast Pop. One script may be a technical colour-space transform with no user controls, another a film-look tool with exposure, contrast and gamut controls, and another a diagnostic false-colour or gamut checker. After choosing a DCTL, follow the documentation for that specific tool rather than carrying settings over from another script.
Blend mixes the selected DCTL result with the node's original state. A value of 1.000 gives the full DCTL result; lower values reduce it. Blend cannot repair a wrong input colour space, bad node order or an unsuitable DCTL — it is only the final mix of an already computed result.
DCTL vs LUT
Executable code can calculate transforms, branch on conditions, expose controls and implement operations that do not fit naturally into a finite 3D lookup table. Open .dctl source can be inspected and edited; encrypted .dctle protects the author's code.
A LUT stores precomputed input-to-output mappings and interpolates between table points. It can be excellent for a known colour transform or look, but it does not provide the same programmable logic or script-defined UI model as DCTL.
Production workflow
The key is to treat the script as a signal-processing contract. Do not assume its colour space, range, purpose or mixing behaviour from the filename alone.
Do not treat every .dctl as a generic look. Establish whether it is a technical transform, creative look, utility, diagnostic overlay or another pixel operation, and read its expected input/output conditions.
A DCTL written for DaVinci Wide Gamut/Intermediate should not be casually placed after a Rec.709 output transform, and a display-referred tool should not automatically be moved into scene-referred space. Node placement follows the script contract.
Choose the tool in the DCTL dropdown. If additional controls appear, reset or document defaults first. The host panel is only a container; the selected script defines the actual operation and controls.
Use the appropriate scopes and known reference images. For a technical transform, verify neutrals, primaries, clipping and gamut behaviour; for a creative tool, compare bypass and ensure it is not breaking the technical pipeline.
Custom code can react strongly to out-of-range values, highlights, noise or unusual channel combinations. Scrub the clip and test difficult frames, not just the hero frame on which the look was tuned.
Creative DCTLs can often be mixed down safely. A technical conversion is different: partially blending a transform with its input may create a signal that belongs to neither colour space. Follow the script's documentation rather than using Blend automatically.
Common failures
A tool authored for DWG/Intermediate may produce extreme saturation, contrast or clipping when fed Rec.709, camera log or another state. Verify the script contract before touching Blend.
Mixing only part of a colour-space conversion can create an undefined intermediate signal. Global Blend is not automatically a creative intensity slider for every DCTL.
A DCTL that already includes an input/output transform can be doubled by RCM, ACES, CST or a LUT. Trace the node tree and project colour management before judging the DCTL itself.
If the dropdown still reads NONE, no custom script has been selected. Install or refresh the DCTL list, then choose the intended tool before expecting script-specific parameters or image changes.
DCTL cannot be described by one fixed algorithm because the DCTL Resolve FX is a host for custom DaVinci Color Transform Language code. NONE means that no transform is selected; once a DCTL is chosen, the node behaviour is defined by that script, from colour-space conversion and tone/gamut shaping to creative looks or diagnostic overlays.
| Layer | What it means | How to verify |
|---|---|---|
| DCTL selector | Selects an installed .dctl/.dctle. NONE means no custom code is selected and no script-specific transform is being executed. | If the intended tool is absent, check the LUT folder, Update Lists/refresh and that particular file's compatibility. |
| Script-defined UI | Additional sliders, checkboxes and menus exist only if the selected DCTL declares them; there is no universal control set. | Verify defaults, ranges and units against the author's documentation rather than another DCTL. |
| Input signal state | The colour space, gamma/transfer, range and other assumptions for which the script maths was authored. | Trace upstream RCM/ACES/CST/LUT stages and confirm that the node receives the expected signal. |
| Output semantics | The result may remain in the working space, move to another space, become display-referred or represent a diagnostic view. | Downstream nodes must expect that exact output; a diagnostic DCTL normally should not remain in the final render chain. |
| Global Blend | Mixes the DCTL output with the node's original state after the script has been evaluated. | Use it only when partial mixing is semantically valid; do not automatically reduce Blend on a technical conversion. |
| .dctl / .dctle | .dctl is readable source; .dctle is an encrypted form that hides the source code. Both can appear to the user as selectable DCTL tools. | Do not infer the signal contract from whether the source is open or encrypted; that is a distribution choice, not the transform's purpose. |
Likely cause: The DCTL is receiving the wrong gamut/gamma/range for which it was authored.
Fix: Check the upstream transform chain and the author's expected input; do not compensate for the mismatch with Primaries or Blend.
Likely cause: The file is not in the active LUT folder, the list has not been refreshed, or the file/version is incompatible.
Fix: Open the LUT folder from Resolve, place the file there, run Update Lists/refresh and restart Resolve if needed.
Likely cause: The DCTL already includes part of the input/output conversion that the pipeline applies again.
Fix: Determine the DCTL's exact input/output semantics and keep each transform only once in the chain.
Likely cause: A colour-space/tone transform that should be applied as a complete operation is being partially mixed.
Fix: Return Blend to 1.000 and control the look downstream; reduce Blend only when that specific DCTL is designed for creative mixing.
DCTL has no universal node-tree position. A technical input transform may belong near the start, a working-space look in the middle, a display-referred output/utility near the end, while a diagnostic overlay may be enabled only temporarily. The single rule is that the signal entering the node must match the code's expectations.
For technical DCTLs use Waveform/RGB Parade/Vectorscope and, where appropriate, CIE Chromaticity together with known test/reference images. Judge creative DCTLs perceptually with bypass as well, and verify diagnostic DCTL thresholds/false-colour conditions against their documented scale.
RCM/ACES do not make a DCTL automatically correct or incorrect. In a managed project you must know where input mapping, timeline working-space processing and output mapping occur. Place the DCTL relative to those stages according to its input/output assumptions, otherwise you can create a duplicate transform or process in the wrong space.
explicit conversion between colour-space/gamma descriptions, including tone/gamut mapping
node-level input/output through the standardised ACES transform set
conversion between white points / illuminants through a CAT model
compressing hue/saturation/luminance variation around a selected Target Color
temporal matching of unwanted brightness/white-balance drift around a chosen reference and analysis region
selective increase or reduction of local contrast at a chosen structure scale and within a controlled tonal range
depth-weighted reduction of smog/airlight/haze through a simulated depth matte and coupled colour/contrast correction
suppression of reflected red/green/blue screen spill after the subject has already been isolated by key/matte/roto
spatial display of exposure zones through camera-matched or creative false-colour mapping and a legend
final hard-clipping of chromaticities to a specified delivery/QC gamut boundary
tone/gamut remapping through luminance roll-off, saturation compression/clip and OOTF without a separate input/output colour-space conversion
simple independent inversion of Red/Green/Blue/Alpha channels for creative and technical channel/key operations
AI-assisted SDR→HDR mapping with an explicit input/output signal contract, Middle Gray, target peak luminance and creative shaping
procedural Pan/Tilt/Rotation/Zoom motion with waveform, randomness, pauses and blanking handling
creative optical-look effect combining spatial diffusion, coloured Tone Lights, tonal protection, a falloff mask and a LUT-compatible subset
procedural texture/look effect combining blur/colour drift, vignette, changing dirt and up to five scratches with motion/flicker
procedural film-style texture with gauge presets, grain geometry, composite modes, tonal/RGB weighting and final mix
integrated scene-referred film-emulation environment combining a baked-in Blackmagic film response, colour shaping, halation/bloom/grain/flicker/gate weave and a LUT-compatible subset
dedicated temporal exposure modulation with tonal flicker modes, RGB selection, smoothness, randomness, pauses and a deterministic seed
film-style highlight scatter using an isolation matte, chromatic dye-layer reflections, secondary glow and optional grain
creative shadow/highlight colour separation through Natural/Strong/Custom modes, Pivot, Hue Angle, neutral protection and colour-space overrides
edge framing and visual-attention control through Basic/Advanced geometry, position, colour and compositing
solid-colour generation for Layer Mixer, masks, fills and simple colour washes
RCM/ACES, working space and correct transform placement in the pipeline.
When native CST is preferable to a custom DCTL for a transparent technical conversion.
Objective validation of transforms, clipping, gamut and channel balance.
How to isolate a DCTL on a dedicated node and document its position in the chain.
Panel names are cross-checked against the Resolve 21 screenshots already shown on each page. Where Blackmagic does not publish proprietary implementation math, the article describes documented signal semantics and observable behaviour rather than inventing an algorithm.
FAQ
DCTL is DaVinci Color Transform Language. In practical Resolve use it is a way to run custom colour/image-processing code as part of the grading pipeline.
That is the host shell before a script is selected. NONE means no DCTL transform is active. Once Resolve sees installed DCTL/DCTLE files and you select one, script-defined controls may appear if that tool provides them.
No. A LUT is fundamentally a lookup table of precomputed mappings, while a DCTL is executable transform code and can implement mathematical operations, conditions and optional UI controls. Both can be used for colour transforms, but their capabilities and behaviour are different.
.dctl is readable/editable source text. .dctle is an encrypted DCTL form used when the author wants to distribute the transform without exposing the source code. Resolve can use both when they are installed in the proper location.
The version-safe method is to let Resolve open its own LUT folder: Project Settings → Color Management → Lookup Tables → Open LUT Folder. Copy the DCTL/DCTLE there or into a subfolder, then refresh the lists or restart Resolve if necessary.
There is no universal position. A scene-referred transform, a display-referred look and a diagnostic overlay can require completely different placement. The correct position is defined by the DCTL's expected input and output signal state.
Next steps
Previous FX
The previous Color FX has a fixed local-contrast model. DCTL is different: the selected script defines the operation itself.
Understand scene-referred, display-referred and transform placement before loading a DCTL with strict colour-space assumptions.
Validate technical transforms and diagnostics instead of trusting the viewer alone.
Next FX
Continue with the depth-aware atmospheric correction used to reduce smog, airlight and haze.