diff --git a/source/blender/sequencer/intern/render.cc b/source/blender/sequencer/intern/render.cc index aef77028f8f..04c3ae918cc 100644 --- a/source/blender/sequencer/intern/render.cc +++ b/source/blender/sequencer/intern/render.cc @@ -923,7 +923,8 @@ static ImBuf *seq_render_effect_strip_impl(const SeqRenderData *context, for (i = 0; i < 3; i++) { /* Speed effect requires time remapping of `timeline_frame` for input(s). */ if (input[0] && seq->type == SEQ_TYPE_SPEED) { - float target_frame = seq_speed_effect_target_frame_get(scene, seq, timeline_frame, i); + int target_frame = floor( + seq_speed_effect_target_frame_get(scene, seq, timeline_frame, i)); ibuf[i] = seq_render_strip(context, state, input[0], target_frame); } else { /* Other effects. */ diff --git a/source/blender/sequencer/intern/strip_time.cc b/source/blender/sequencer/intern/strip_time.cc index 9a3fde5bbd7..e46baee71b7 100644 --- a/source/blender/sequencer/intern/strip_time.cc +++ b/source/blender/sequencer/intern/strip_time.cc @@ -62,10 +62,11 @@ float SEQ_give_frame_index(const Scene *scene, Sequence *seq, float timeline_fra float frame_index; float sta = SEQ_time_start_frame_get(seq); float end = SEQ_time_content_end_frame_get(scene, seq) - 1; - const float frame_index_max = seq->len - 1; + float frame_index_max = seq->len - 1; if (seq->type & SEQ_TYPE_EFFECT) { end = SEQ_time_right_handle_frame_get(scene, seq); + frame_index_max = end - sta; } if (end < sta) {