Skip to content

Instantly share code, notes, and snippets.

@promto-c
Created August 5, 2026 07:41
Show Gist options
  • Select an option

  • Save promto-c/7b084c18956b91b11ed10e6f9c8a3f6d to your computer and use it in GitHub Desktop.

Select an option

Save promto-c/7b084c18956b91b11ed10e6f9c8a3f6d to your computer and use it in GitHub Desktop.
ASC CDL file formats: .cc vs .ccc vs .cdl, with compact examples.

ASC CDL: .cc vs .ccc vs .cdl

All three formats store the same ASC CDL parameters:

  • Slope
  • Offset
  • Power
  • Saturation

For each RGB channel:

$$ y = (x \times \mathrm{Slope} + \mathrm{Offset})^{\mathrm{Power}} $$

Saturation is applied separately using the <SatNode> value.

Format XML root Example data Multiple corrections Typical use
.cc <ColorCorrection> SHOT_010 No One correction per file
.ccc <ColorCorrectionCollection> SHOT_010, SHOT_020 Yes Named correction collection
.cdl <ColorDecisionList> EVENT_001, EVENT_002 Yes List of color decisions

.cc — one correction

<ColorCorrection id="SHOT_010" xmlns="urn:ASC:CDL:v1.2">
    <SOPNode>
        <Slope>1.05 1.00 0.95</Slope>
        <Offset>0.01 0.00 -0.01</Offset>
        <Power>1.00 1.00 1.00</Power>
    </SOPNode>
    <SatNode>
        <Saturation>1.10</Saturation>
    </SatNode>
</ColorCorrection>
SHOT_010.cc → one correction

.ccc — correction collection

<ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
    <ColorCorrection id="SHOT_010">
        <SOPNode>
            <Slope>1.05 1.00 0.95</Slope>
            <Offset>0.01 0.00 -0.01</Offset>
            <Power>1.00 1.00 1.00</Power>
        </SOPNode>
        <SatNode>
            <Saturation>1.10</Saturation>
        </SatNode>
    </ColorCorrection>

    <ColorCorrection id="SHOT_020">
        <SOPNode>
            <Slope>0.95 1.00 1.05</Slope>
            <Offset>-0.01 0.00 0.01</Offset>
            <Power>1.02 1.00 0.98</Power>
        </SOPNode>
        <SatNode>
            <Saturation>0.90</Saturation>
        </SatNode>
    </ColorCorrection>
</ColorCorrectionCollection>
SHOT_010 → correction A
SHOT_020 → correction B

.cdl — color decision list

<ColorDecisionList xmlns="urn:ASC:CDL:v1.2">
    <ColorDecision>
        <ColorCorrection id="EVENT_001">
            <SOPNode>
                <Description>SHOT_010 normal appearance</Description>
                <Slope>1.05 1.00 0.95</Slope>
                <Offset>0.01 0.00 -0.01</Offset>
                <Power>1.00 1.00 1.00</Power>
            </SOPNode>
            <SatNode>
                <Saturation>1.10</Saturation>
            </SatNode>
        </ColorCorrection>
    </ColorDecision>

    <ColorDecision>
        <ColorCorrection id="EVENT_002">
            <SOPNode>
                <Description>SHOT_020 flashback</Description>
                <Slope>0.90 0.95 1.05</Slope>
                <Offset>-0.02 -0.01 0.01</Offset>
                <Power>1.10 1.05 0.95</Power>
            </SOPNode>
            <SatNode>
                <Saturation>0.70</Saturation>
            </SatNode>
        </ColorCorrection>
    </ColorDecision>
</ColorDecisionList>
EVENT_001 → correction for SHOT_010
EVENT_002 → correction for SHOT_020

Summary

.cc  → one ColorCorrection
.ccc → multiple named ColorCorrections
.cdl → multiple ColorDecisions, each containing a ColorCorrection

Both .ccc and .cdl can contain grades for multiple shots.

Neither format alone stores full editorial information such as source timecode, record timecode, reel, track, or transitions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment