Fix mistake in previous commit
Fix error in b4100ed377
`seq_retiming_evaluate()` returns range from 0 to 1, to which framerate
correction was applied. this is incorrect, and correction should be
applied to function input.
This commit is contained in:
@@ -144,8 +144,7 @@ float seq_retiming_evaluate(const Scene *scene, const Sequence *seq, const int f
|
||||
const float segment_fac = segment_frame_index / float(segment_length);
|
||||
|
||||
const float target_diff = next_handle->retiming_factor - previous_handle->retiming_factor;
|
||||
return previous_handle->retiming_factor +
|
||||
(target_diff * segment_fac) * seq_time_media_playback_rate_factor_get(scene, seq);
|
||||
return previous_handle->retiming_factor + (target_diff * segment_fac);
|
||||
}
|
||||
|
||||
SeqRetimingHandle *SEQ_retiming_add_handle(Scene *scene, Sequence *seq, const int timeline_frame)
|
||||
|
||||
@@ -86,13 +86,12 @@ float seq_give_frame_index(const Scene *scene, Sequence *seq, float timeline_fra
|
||||
|
||||
frame_index = max_ff(frame_index, 0);
|
||||
|
||||
frame_index *= seq_time_media_playback_rate_factor_get(scene, seq);
|
||||
|
||||
if (SEQ_retiming_is_active(seq)) {
|
||||
const float retiming_factor = seq_retiming_evaluate(scene, seq, frame_index);
|
||||
frame_index = retiming_factor * (length - 1);
|
||||
}
|
||||
else {
|
||||
frame_index *= seq_time_media_playback_rate_factor_get(scene, seq);
|
||||
}
|
||||
|
||||
/* Clamp frame index to strip content frame range. */
|
||||
frame_index = clamp_f(frame_index, 0, length);
|
||||
|
||||
Reference in New Issue
Block a user