Rework internals of how VSE caching is done. Primarily to make all the caching logic more understandable from development point of view, but also has several user visible implications (more details in the PR): - Simpler and fewer caching UI options, - Disk cache is gone (primary reason: proxies are kinda the same thing), - VSE cache size set in preferences is actual size used for VSE caches now (previously caching stopped as soon as whole Blender used that much memory, even if some memory usage was not about VSE at all), - Certain scenarios of cache invalidation are faster now. Pull Request: https://projects.blender.org/blender/blender/pulls/137926
30 lines
688 B
C++
30 lines
688 B
C++
/* SPDX-FileCopyrightText: 2004 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
/** \file
|
|
* \ingroup sequencer
|
|
*/
|
|
|
|
struct Scene;
|
|
struct Strip;
|
|
|
|
namespace blender::seq {
|
|
|
|
struct RenderData;
|
|
|
|
/**
|
|
* Start or resume prefetching.
|
|
*/
|
|
void seq_prefetch_start(const RenderData *context, float timeline_frame);
|
|
void seq_prefetch_free(Scene *scene);
|
|
bool seq_prefetch_job_is_running(Scene *scene);
|
|
void seq_prefetch_get_time_range(Scene *scene, int *r_start, int *r_end);
|
|
|
|
Scene *prefetch_get_original_scene(const RenderData *context);
|
|
Scene *prefetch_get_original_scene_and_strip(const RenderData *context, const Strip *&strip);
|
|
|
|
} // namespace blender::seq
|