mirror of
https://github.com/storytold/filmcraft.git
synced 2026-10-14 19:26:59 -04:00
M8.8: colour management — sequence working space (Rec. 709 / Rec. 2100 PQ / HLG, wide gamut), Interpret Footage colour space, log/HDR decode with BT.2390 tone mapping, HDR export signalling, HDR scopes
- model: SequenceSettings::color (ColorPipeline: working space, wide gamut, Auto Tone Map Media; serde default Rec. 709) and Interpretation::color_space (override; None = metadata) - render::colorman: source colour space from the override or VUI/colr/MKV metadata, decode tables (camera log with super-whites, PQ, HLG + OOTF), gamut matrix, tone mapping into SDR working spaces, gamut mapping; working → SDR monitor transform at the top level (RenderOptions::working_output keeps working values for HDR export and scopes). Plain Rec. 709 media in a Rec. 709 sequence keeps the old fast path and stays on the GPU; managed layers and HDR/wide-gamut sequences composite on the CPU - export: H.264 and ProRes of a PQ/HLG sequence encode BT.2020 PQ/HLG and signal it: VUI / ProRes header, colr (nclx/nclc), and for PQ mdcv + clli boxes and H.264 SEI (payloadTypes 137/144); `sdr: true` (and render previews) export tone-mapped SDR. isobmff reads/writes mdcv and clli - commands: sequence.colorSettings (Sequence ▸ Color Management…), clip.interpretFootage (Clip ▸ Modify ▸ Interpret Footage…, Project panel context menu), color.spaces, media.colorInfo; dialogs with automation ids colorDialog.* - scopes: HDR sequences show a cd/m² waveform on a PQ scale (203 marked) and a BT.2020 vectorscope from the working-space render (scopes.hdrWaveform) - display-referred wide-gamut input is desaturated into gamut keeping in-gamut colours exactly; the soft compression is reserved for camera gamuts - tests: colorman unit tests, engine (interpret/undo, PQ working space values and display), goldens log_to_rec709 and hdr_tone_map (own renders + sidecars), export PQ/HLG × ProRes/H.264 read back by our demuxer and ffprobe (color_transfer/primaries/space, mastering display and content light side data), headless UI (dialogs, HDR scopes) - docs: architecture §5.2 (pipeline, HDR export, display colour management: no macOS EDR yet) Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
a7c1cfd956
commit
1653430c42
36 files changed
+1145
-46
No files matched your search
@@ -38,6 +38,8 @@ procedural demo footage (`crates/media/src/generators.rs`); no external media. R
|
||||
| `crates/golden/goldens/crop.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `crop`) from procedurally generated media | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/gaussian_blur.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `gaussian_blur`) from procedurally generated media | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/graphic_shapes.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `graphic_shapes`) from procedurally generated media and bundled OFL fonts | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/log_to_rec709.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `log_to_rec709`) from procedurally generated media re-encoded as S-Log3 | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/hdr_tone_map.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `hdr_tone_map`) from procedurally generated media re-encoded as Rec. 2100 PQ | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/graphic_title.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `graphic_title`) from procedurally generated media and bundled OFL fonts | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/lumetri_basic.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `lumetri_basic`) from procedurally generated media | MIT OR Apache-2.0 |
|
||||
| `crates/golden/goldens/text_burnin.png` | FilmCraft contributors | Original work: golden reference rendered by FilmCraft (crates/golden/tests/golden.rs, scene `text_burnin`) from procedurally generated media | MIT OR Apache-2.0 |
|
||||
|
||||
Reference in new issue
Block a user