Skip to content

Extracts Color Decision Lists (CDLs) from any Edit Decision List (EDL) coming from video editorial, thus allowing VFX and post-production software to share on-set color-correction decision throughout the imaging pipeline, even for non-interoperable software.

License

Notifications You must be signed in to change notification settings

r0b0tAnthony/edl2cdl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edl2cdl

This tool is for converting color-correction metadata for advanced theatrical/television workflows, as it relates to a conversion tool for the ASC Color Decision List (CDL) metadata: the Academy Award® Technological Achievement winning invention by the American Society of Cinematography (ASC) Science and Technology Committee for representation and transportation of cinematographic-quality “color grading” information ― from on-set to postproduction. More information at the bottom of the present document.

edl2cdl reads the CDL metadata embedded, as comments, in the editing events of a CMX3600-like Edit Decision List file (EDL). Every CDL is named after and differentiated by an identifier called “CCCid” that is read after each EDL event's ClipName or Locator comment-field (so be sure to include it as comment in your EDL). The tool then converts the CDL metadata into either one of three XML-based variants of the ASC CDL file formats:

  • A series of Color Decision List files, each containing SOP+saturation metadata for one individual color decision (CDL, .cdl file extension). This is also the default output format of edl2cdl.
  • A single Color Correction Collection file (CCC, .ccc file extension) containing all the color decisions in the original EDL.
  • A series of Color Correction files, each containing SOP+saturation metadata for one individual color decision (CC, .cc file extension). This is not really a standard ASC CDL file format, but is effectively what is supported by many software applications with lighter implementations of CDL (e.g. The Foundry Nuke ).

Since the original ClipName or Locator name is transformed into a CCCid and the on-set color-correction usually includes just one version/grade per clip shot, no multiple CDLs are extracted from a single ClipName/TapeName.

Usage

To Create Individual CDL Files

python edl2cdl.py -i file.edl -o path/to/folder

This will name each CDL file after the corresponding edit event in the EDL.

To Create A Color Correction Collection, a group of CCs in a single file.

python edl2cdl.py -i file.edl -o path/to/file.ccc -f ccc

To Create Individual CC Files

python edl2cdl.py -i file.edl -o path/to/folder -f cc

This will name each CC file after the corresponding edit event in the EDL.

Change Edit Event Marker

By default edl2cdl uses FROM CLIP NAME comment to determine edit events. edl2cdl also supports using Locator/LOC comment as edit events. To use LOC as an edit event pass -e loc along with the rest of the command.

python edl2cdl.py -i file.edl -o path/to/folder -e loc

Need Help

To get all available options and flags for edl2cdl use the help(-h) flag.

python edl2cdl.py -h

Details on ASC CDL

Each “color decision”, i.e. a so-called “primary” color grading operator mimicking 35mm film color-timing and telecine operations and affecting the whole frame or sequence of frames, is represented by a 10-tuple of floating point values divided in 3+3+3+1 numbers: (sR, sG, sB), (oR, oG, oB), (pR, pG, pB) and S.

The s's are "slope" values, the o's are "offset" values, the p's are "power" values (each triplet containing a different value for the raster image's Red-, Green- and Blue-component codevalues); the capital S is a "saturation" parameter. The first 9 floats are also called a "SOP" after their triplets' initials, and their mapping formula is, invariably for all three RGB channels (where x is the input-color codevalue and y the output-color's): y = (s·x + o)^p.

CDL operators are pseudo-invertible, as long as the SOP operations (each individually invertible) are applied in reverse orders). Yet CDLs are not "algebraically closed", as neither every primary color-correction can be represented by a CDL, nor every CDL can be inverted by another CDL. So the set of all the CDLs forms a semigroup.

In order to emulate film color-timing/grading operations, SOP values should be applied ‘on top’ of a scene-referred image colorimetry preferably encoded using a “logarithmic” transfer characteristic or similar tone curve. Examples of digital colour spaces (in the RGB model) with such characteristics are: ACEScc, ARRI Log.C, Kodak Cineon Printing Density (CPD), REDlogFilm, Panasonic V-Log, Sony S-Log3, Film Log.E/Log.D. Please refer to the ASC CDL Wikipedia page for further description and references.

About

Extracts Color Decision Lists (CDLs) from any Edit Decision List (EDL) coming from video editorial, thus allowing VFX and post-production software to share on-set color-correction decision throughout the imaging pipeline, even for non-interoperable software.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%