Define the endpoints before subtracting.

A timecode difference can describe the distance between two frame positions or the number of pictures included in a selection. Those quantities differ by one frame when both marked pictures are included. Before calculating a clip duration, record the exact frame rate, DF/NDF counting mode, source or sequence identity, and endpoint convention.

With an exclusive out, the out mark is the boundary immediately after the selection: count the in frame, stop before the out frame. This is a half-open range. With an inclusive out, the marked out picture is part of the selection. Adobe documents inclusive In/Out behaviour in Premiere: identical marks select one frame. Check the tool or interchange format rather than assuming every out value means the same thing. Adobe’s timecode entry reference.

Exclusive-out duration = out frame position − in frame position
Inclusive-out duration = out frame position − in frame position + 1

An offset measures a displacement. A count measures how many frames you have. Frame positions 1001 and 1240 are 239 frames apart, but an inclusive image sequence from 1001 through 1240 contains 240 pictures. A nonzero source origin does not add pictures to the selection.

A 24 fps clip, two valid answers.

Consider an in mark of 01:00:10:12 and an out mark of 01:00:14:06, both at exactly 24 fps. Convert each label to a frame position on the same zero-based count:

Frame position = ((hours × 3600 + minutes × 60 + seconds) × 24) + frames
In = 86,652 frames
Out = 86,742 frames
Difference = 90 frames
The endpoint convention determines the selection length
InterpretationPictures included24 fps duration
Out is the first excluded frame903.7500 s · 00:00:03:18
Out is the last included frame913.7917 s · 00:00:03:19

The exclusive selection ends on picture 01:00:14:05. The inclusive selection includes picture 01:00:14:06. Give a receiving editor both the convention and total frame count; “three seconds and eighteen frames” alone cannot explain a mismatched out mark.

Subtract picture counts across drop-frame boundaries.

For 29.97 DF, two labels are omitted at the start of each minute except every tenth minute. Pictures continue uninterrupted. Apple describes the transition from 00:00:59;29 to 00:01:00;02: those adjacent pictures are one frame apart. Treating the fields as ordinary base-30 numbers gives the wrong difference. Apple’s timecode technical note.

Convert both valid DF labels to a consistent frame count, subtract those counts, then apply the endpoint rule. For the conventional 30-count representation, let M = 60 × hours + minutes:

DF frame position = 30 × (3600 × hours + 60 × minutes + seconds) + frames
− 2 × (M − floor(M ÷ 10))

For example, 00:00:50;00 maps to 1,500 and 00:01:10;00 maps to 2,098. Their exclusive-out difference is 598 frames. At the exact playback rate 30000/1001, that is approximately 19.9533 physical seconds. An inclusive selection contains 599 frames. Do not accept nonexistent labels such as 00:01:00;00, or mix DF and NDF counts without interpreting each correctly. The drop-frame guide covers the counting pattern in more detail.

A wrap needs a known day boundary.

An out value smaller than the in value may mean a recording crossed the timecode wrap, a reset occurred, or the marks came from different sources. Establish continuity and the number of wraps from the recording log or metadata. Two labels alone cannot establish a date or distinguish a short overnight clip from a much longer interval.

For a confirmed next-day wrap at exactly 24 fps, the timecode cycle contains 24 × 60 × 60 × 24 = 2,073,600 frames. From 23:59:59:20 to next-day 00:00:00:10, the exclusive-out difference is (2,073,600 − 2,073,596) + 10 = 14 frames. An inclusive selection contains 15.

Use the cycle appropriate to the rate and counting mode. A fractional-rate timecode cycle is not automatically 86,400 elapsed seconds. Avid documents differing wrap behaviour between product versions, reinforcing the need to confirm the source system. Avid’s midnight timecode reference.

Mixed rates require a shared basis.

Do not subtract a source’s 24 fps label directly from a sequence’s 25 fps label. Establish the common origin, which clock or sequence the marks describe, and whether the workflow preserves source pictures or elapsed duration. Identical printed labels can identify different physical times.

A 240-frame selection plays for 10 seconds at 24 fps and 9.6 seconds at 25 fps if every picture is retained. Preserving 10 seconds at 25 fps instead requires 250 destination frames. That is a media conversion decision; arithmetic does not determine interpolation, cadence or audio treatment. Read frame-rate conversion before combining rate families.

Keep the assumptions with the result.

In Timecode Pro, select the correct format and counting mode before subtracting the marks. Inspect the frame count and apply any inclusive-out adjustment deliberately. Retain the source, rate and endpoint convention with the result in your production notes.

The physical playback seconds above are calculated from frame count divided by exact fps. The app’s established preset comparisons and nominal-seconds behaviour remain distinct; a comparison display at a fractional rate should not automatically be read as stopwatch time. Timecode Pro calculates values and does not process media.

Technical references

Worked examples are calculated here from the stated rates and endpoint conventions. Decimal seconds are rounded only for presentation.