Skip to content

OTIO import: map ImageSequenceReference clip trims into media frame space - #308

Open
soupkitchenfilms wants to merge 1 commit into
AcademySoftwareFoundation:mainfrom
soupkitchenfilms:pr/otio-imageseq-trim-rebase
Open

OTIO import: map ImageSequenceReference clip trims into media frame space#308
soupkitchenfilms wants to merge 1 commit into
AcademySoftwareFoundation:mainfrom
soupkitchenfilms:pr/otio-imageseq-trim-rebase

Conversation

@soupkitchenfilms

Copy link
Copy Markdown

xSTUDIO clip active ranges are media-native file frames, but OTIO source_range is expressed in the media reference's available_range space. Conforms anchored to absolute timecode (EDL/CSV-derived OTIOs where available_range.start_time is timecode-as-frames) import with trims ~1.2M frames outside the media — every clip shows wrong frames and cross-track record sync is lost.

This maps ImageSequenceReference trims through start_frame:

trim = start_frame + (source_start - available_start)

Identity whenever available_start == start_frame (xSTUDIO/NLE-authored OTIO), so existing behaviour is preserved; timecode-anchored conforms become frame-exact. Verified against a 25-clip, 4-track production conform (cut-in frames and record positions match the generating lineup exactly).

Happy to add a unit test if you can point me at the preferred harness for timeline import.

…pace

xSTUDIO clip active ranges are media-native file frames, but OTIO
source_range is expressed in the media reference's available_range space.
Conforms anchored to absolute timecode (EDL/CSV-derived OTIOs where
available_range.start_time is the timecode-as-frames of the first file
frame) imported with trims ~1.2M frames outside the media — every clip
displayed the wrong frames and cross-track record sync was lost.

Re-anchor ImageSequenceReference trims through start_frame:

    trim = start_frame + (source_start - available_start)

This collapses to the previous verbatim behaviour whenever
available_start == start_frame (xSTUDIO/NLE exports), and rescues
timecode-anchored conforms. Verified frame-exact against a 25-clip
4-track production conform (record positions and cut-in frames match the
generating lineup).

Signed-off-by: soupkitchenfilms <13426391+soupkitchenfilms@users.noreply.github.com>
@linux-foundation-easycla

Copy link
Copy Markdown

CLA Not Signed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant