Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Parborg <darkdefende@gmail.com>2021-06-07 19:12:57 +0300
committerJeroen Bakker <jeroen@blender.org>2021-06-30 10:37:43 +0300
commit02a6be544324d6d42e2bbf2c8dca89169961ce2d (patch)
tree6320bffce3a949ef4fd10d6bbbbf7023f26e69d0 /source/blender/imbuf/intern
parent7eb3e77b94f51bdeee719425ec4a533f662c5edd (diff)
Fix: Wrong logic for checking if we can reuse decoded frame
We should only check if the new pts value lies inside the duration of the current frame.
Diffstat (limited to 'source/blender/imbuf/intern')
-rw-r--r--source/blender/imbuf/intern/anim_movie.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 4b5da22227b..21c7df277dd 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -1076,7 +1076,8 @@ static int64_t ffmpeg_get_pts_to_search(struct anim *anim,
static bool ffmpeg_pts_matches_last_frame(struct anim *anim, int64_t pts_to_search)
{
if (anim->pFrame && anim->cur_frame_final) {
- return labs(anim->cur_pts - pts_to_search) < anim->pFrame->pkt_duration;
+ int64_t diff = pts_to_search - anim->cur_pts;
+ return diff >= 0 && diff < anim->pFrame->pkt_duration;
}
return false;