Knowledge / Film and Television Production / Post-production finishing: colour grading and DI

Post-production finishing: colour grading and DI

Film and Television Production (BA / B.Sc) · Post-production · free study notes for exams, placements and interviews

In short

Colour grading is the controlled alteration of brightness, contrast, colour balance and saturation of each shot so that a film or series reads correctly, cuts together seamlessly and carries the intended mood. The Digital Intermediate (DI) is the whole finishing pipeline around it — scanning or ingesting camera originals at full resolution, conforming them to the offline edit, grading, adding titles and finishing effects, and mastering out to theatrical, broadcast and OTT deliverables. It matters because the DI master is the single legal and commercial source from which every release copy, including the CBFC censor copy, is made. In Indian universities it is examined in post-production and digital cinematography papers; in industry it is the core skill of colourists and DI assistants at Prasad, Annapurna, Prime Focus/DNEG, Famous Studios, Pixion, Qube and every OTT finishing house.

Explained

What DI is, and the shape of the pipeline

Colour fundamentals a colourist must hold

The grading tools, in the order they are used

  1. Primary grade — affects the whole frame: lift/shadows, gamma/midtones, gain/highlights, offset (printer lights), contrast + pivot, saturation, colour temperature/tint, log wheels (shadow, midtone, highlight) which are more surgical on log material.
  2. Curves — custom tone curve, plus Hue vs Hue, Hue vs Sat, Hue vs Lum, Lum vs Sat; the standard tool to desaturate Indian skin-tone yellows or tame a saffron that clips.
  3. Secondary grade — isolates a region: HSL qualifier (a key on hue/sat/luma, used for skin, sky, costume), power window (circle, linear, polygon, curve, gradient) with softness and tracking across the shot, and matte/alpha from VFX.
  4. Node graph / layer stack — Resolve uses nodes (serial, parallel, layer, key, outside); Baselight uses layers. Order matters: a saturation change before a qualifier shifts the key.
  5. Effects inside the grade — grain (film grain plates or synthetic), halation/bloom, glow, vignette, sharpening, denoise (temporal/spatial), blur, sky replacement, beauty/skin softening, lens distortion, stabilisation, speed changes.
  6. LUTs — 1D LUT (per-channel tone only) and 3D LUT (full colour mapping, typically 17³, 33³ or 65³ lattice with tetrahedral interpolation), as .cube or .3dl. Use a LUT as a *starting* transform, not as a grade; it clips what lies outside its input range.
  7. ASC CDL — a ten-number interchange format (slope, offset, power per channel + saturation) that moves a look between on-set, editorial and DI without carrying a LUT.

Colour management: ACES and the alternatives

Mastering, deliverables and the Indian release chain

Grading as craft: matching, looks and limits

Key points

Formulas and examples

Rec.709 luma: Y = 0.2126 R + 0.7152 G + 0.0722 B — R, G, B linear or display-referred, 0–1 normalised
ASC CDL per channel: out = (in × slope + offset)power, clamped to 0–1; slope ≈ gain, offset ≈ lift, power ≈ gamma
CDL saturation: out = Y + sat × (in − Y), Y = Rec.709 luma of the pixel
Lift / gamma / gain: out = ((in × gain) + lift)1/γ
Gamma / EOTF: L = Vγ (display light L from signal V); Rec.709 camera OETF is piecewise with an ≈0.45 power
Exposure in stops: stops = log₂(E₂ / E₁); 1 stop = ×2 light = 0.301 density units
Cineon 10-bit log: density D = 0.002 × (CV − 95); black at CV 95, 90% diffuse white at CV 685
Colour temperature shift: mired = 10⁶ / T(K); filter/gel strength = mired(target) − mired(source)
3D LUT size: entries = N³ for an N-point cube; file floats = 3 × N³
Uncompressed frame size (bytes): width × height × channels × bits ÷ 8
Data rate: frame size × fps; total storage = data rate × duration
HDR headroom (stops): log₂(peak nits ÷ diffuse-white nits)

Example 1 — applying an ASC CDL value. Pixel red channel in = 0.500, slope = 1.20, offset = −0.05, power = 0.90. 0.500 × 1.20 = 0.600 → 0.600 − 0.05 = 0.550 → 0.5500.90. ln 0.550 = −0.5978; × 0.90 = −0.5381; e−0.5381 = 0.584. The pixel is lifted from 0.500 to 0.584.

Example 2 — saturation without shifting luma. R = 0.60, G = 0.40, B = 0.30, saturation = 1.40. Y = 0.2126(0.60) + 0.7152(0.40) + 0.0722(0.30) = 0.1276 + 0.2861 + 0.0217 = 0.4353. R′ = 0.4353 + 1.4(0.60 − 0.4353) = 0.4353 + 0.2306 = 0.666 G′ = 0.4353 + 1.4(−0.0353) = 0.386 B′ = 0.4353 + 1.4(−0.1353) = 0.246 Check: 0.2126(0.666) + 0.7152(0.386) + 0.0722(0.246) = 0.435 — luma preserved, as intended.

Example 3 — reading a Cineon/log scan. A face sits at code value 445; 90% white is 685. ΔCV = 685 − 445 = 240 → ΔD = 240 × 0.002 = 0.480 density. Stops below white = 0.480 ÷ 0.301 = 1.59 stops, i.e. about 30% of white — a correctly exposed mid-tone face. Total 0–1023 range = 1023 × 0.002 = 2.046 D ÷ 0.301 ≈ 6.8 stops carried by the encoding.

Example 4 — DI storage for an Indian feature. 2K DPX (2048 × 1556, 10-bit RGB) = 2048 × 1556 × 3 × 10 ÷ 8 = 11.95 MB per frame. At 24 fps: 11.95 × 24 = 286.8 MB/s ≈ 1.03 TB per hour. A 150-minute feature = 2.5 × 1.03 = 2.58 TB for one pass of the conformed DI — and a real project needs camera originals, VFX versions, renders and backup, so 4–6× that is budgeted. Frame count = 150 × 60 × 24 = 216,000 frames; at an average shot length of 4 s that is about 2,250 shots. At 25 shots graded per hour, the first pass alone is 90 suite-hours — roughly eleven 8-hour days before client changes.

FormatResolution / depthPer frameRate @24 fpsPer hour
DPX 10-bit log2048×1556 RGB11.95 MB287 MB/s1.03 TB
DPX 10-bit log4096×2160 RGB33.18 MB796 MB/s2.87 TB
EXR half-float (uncompressed)4096×2160 RGB53.08 MB1,274 MB/s4.59 TB
ProRes 422 HQ1920×1080, ~220 Mbit/s—27.5 MB/s99 GB
DCP (JPEG 2000, DCI max)2K/4K, 250 Mbit/s—31.25 MB/s112.5 GB

Example 5 — white balance and HDR headroom. Tungsten source 3200 K, daylight target 5600 K: mired 10⁶/3200 = 312.5; 10⁶/5600 = 178.6. Shift needed = 178.6 − 312.5 = −133.9 mired, which is approximately a full CTB correction — a grade can finish the last few mired, but a 134-mired error baked into 8-bit footage will show noise in the blue channel. HDR master at 1,000 cd/m² peak with BT.2408 diffuse white at 203 cd/m²: headroom = log₂(1000 ÷ 203) = log₂(4.93) = 2.30 stops reserved for speculars and light sources above white.

SDR gradeHDR grade (PQ)
ContainerRec.709Rec.2100 / Rec.2020 primaries
EOTFBT.1886 ≈ γ2.4ST 2084 PQ (absolute)
Reference white100 cd/m²~203 cd/m² diffuse
Peak100 cd/m²1,000–4,000 cd/m² mastering
DeliverableProRes/IMF SDRDolby Vision / HDR10 + trim pass

Where it is used

Interview questions

Common mistakes

Related topics

Video production and editing · VFX: compositing, rotoscoping and matchmoving · Subtitling and dubbing · Cinematography: exposure, lighting and lenses · Digital cinema formats, codecs and DCP mastering · Sound mixing and loudness standards for delivery

Open in the Knowledge reader →Find jobs →