GithubHelp home page GithubHelp logo

sergiostrampelli / edl2cdl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from walter-arrighetti/edl2cdl

0.0 0.0 0.0 32 KB

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: GNU General Public License v3.0

Python 100.00%

edl2cdl's Introduction

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 Decition List file (EDL). Every CDL is named afer and differentiated by an identifier called “CCCid” that is read after each EDL event's ClipName 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 single Color Correction Collection file (CCC, .ccc file extension) containing all the color decisions in the original EDL. This is also the default output format of edl2cdl.
  • A series of Color Decision List files, each contaning SOP+saturation metadata for one individual color decision (CDL, .cdl file extension).
  • A series of Color Correction files, each contaning 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 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. The only parameter that can be passed is either --ccc (default if not explicitly defined) or --cdl or --cc to specify the corresponding output format. Other than that a first mandatory argument is the pathname of the input EDL file. Optionally a foldername or a filename can be specified as argument (the script intelligently parses the output pathname guessing its use according to different output format). Individual EDL/CC files are generated in a separate folder (that keeps the EDL name, without extension, by default); the single CCC file is by default generated in the same folder (and with the same name) of the EDL file. If a "REEL: reelname" line is present, the CDL/CC files are named after the reelname.

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 tonecurve. 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.

edl2cdl's People

Contributors

walter-arrighetti avatar sergiostrampelli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.