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:
authorRichard Antalik <richardantalik@gmail.com>2021-03-02 14:13:21 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-03-02 14:23:04 +0300
commit88604b79b7d15f8aa86fbd2d23d58541aa927313 (patch)
treecdfe8e86e893f0d49f1eb72cd58a00c29fb1221a /source/blender/imbuf
parentbbb1936411a5f98f5a49ed0d63bcf1a547cbdb59 (diff)
FFmpeg: Improve scrubbing performance
Applying negative offset to seek position before scanning doesnn't have any effect. This change results in 1.5x faster seeking (random frame, average value) in sample file with 30 frame GOP length. If I am not mistaken, B frames can have pts that can be less than pts of I frame that must be decoded. Even in this case though, B frame packet will be stored after that I frame. In addition, preseek value is de facto hardcoded so seeking would fail if it could. This can be hard to spot though. Reviewed By: sergey Differential Revision: https://developer.blender.org/D10529
Diffstat (limited to 'source/blender/imbuf')
-rw-r--r--source/blender/imbuf/intern/anim_movie.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 28bf26aa343..d36c7bbe486 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -1149,7 +1149,7 @@ static ImBuf *ffmpeg_fetchibuf(struct anim *anim, int position, IMB_Timecode_Typ
}
}
else {
- pos = (int64_t)(position - anim->preseek) * AV_TIME_BASE / frame_rate;
+ pos = (int64_t)position * AV_TIME_BASE / frame_rate;
av_log(anim->pFormatCtx,
AV_LOG_DEBUG,