mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-24 10:09:32 -06:00
Problem: the Media Browser listed .dpx files and After Effects imports DPX and Cineon scans (stills and numbered sequences), but import refused them: nothing could decode either format, and .cin was not even an image to the browser, so its runs never grouped into sequences. Fix: a small pure-Rust reader written from the public SMPTE 268M and Kodak Cineon specifications (crates/media/src/dpx.rs): luma, RGB, RGBA and ABGR at 8/10/12/16 bits, 10-bit filled method A/B, 12-bit in 16-bit words, both byte orders, lines padded to 32-bit words, unrotated orientations and the pixel aspect ratio; the codec names the transfer (log, linear, ...) and code values are shown as stored. RLE, signed, float, Y'CbCr, packed 10/12-bit and transposed files are refused with a clear error; every header field is bounds-checked and the data length verified before allocating. Probe and frame decode use it first; is_importable, the Media Browser kinds and the import dialog list .dpx/.cin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>