diff options
author | Richard Antalik <richardantalik@gmail.com> | 2021-12-14 02:18:24 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2021-12-14 02:43:54 +0300 |
commit | b64750991334517a0d0cfc94c21d7276d5e5e833 (patch) | |
tree | 610cd4d2dda460f8060e464fee0a58afa4523827 /source/blender/sequencer/SEQ_relations.h | |
parent | 2a0a6a0541eaff06659a06ef18cac05e5674c844 (diff) |
Fix T93844: High memory usage during VSE preview
Since 88c02bf826df FFmpeg handles are freed if image is not displayed.
This change did not work correctly if strips are inside meta strip,
because overlap did not consider meta strip boundary, only strips inside
of meta strip.
Pass frame range to `sequencer_all_free_anim_ibufs`, if strip is inside
of meta strip, frame range is reduced to fit meta strip boundary, but if
meta strip is being edited, range must be set to +/-`MAXFRAME`,
otherwise playback performance would be too bad.
Diffstat (limited to 'source/blender/sequencer/SEQ_relations.h')
-rw-r--r-- | source/blender/sequencer/SEQ_relations.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/sequencer/SEQ_relations.h b/source/blender/sequencer/SEQ_relations.h index 3c3fe2fdd83..9571e826759 100644 --- a/source/blender/sequencer/SEQ_relations.h +++ b/source/blender/sequencer/SEQ_relations.h @@ -54,6 +54,9 @@ void SEQ_relations_invalidate_cache_in_range(struct Scene *scene, struct Sequence *seq, struct Sequence *range_mask, int invalidate_types); +/** + * Release FFmpeg handles of strips that are not currently displayed to minimize memory usage. + */ void SEQ_relations_free_all_anim_ibufs(struct Scene *scene, int timeline_frame); /** * A debug and development function which checks whether sequences have unique UUIDs. |