Files
test/source/blender/sequencer/intern/cache/final_image_cache.hh
Campbell Barton 3ec7748485 Cleanup: spelling in comments (make check_spelling_*)
Also replace term "playhead" with "current-frame".
2025-05-15 10:13:23 +10:00

41 lines
1.2 KiB
C++

/* SPDX-FileCopyrightText: 2025 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup sequencer
*
* Cache of final rendered frames.
* - Keyed by (timeline frame, view_id).
* - When full, cache eviction policy is to remove frames furthest
* from the current-frame, biasing towards removal of
* frames behind the current-frame.
* - Invalidated fairly often while editing, basically whenever any
* strip overlapping that frame changes.
*/
#pragma once
struct ImBuf;
struct Strip;
struct Scene;
namespace blender::seq {
void final_image_cache_put(Scene *scene, float timeline_frame, int view_id, ImBuf *image);
ImBuf *final_image_cache_get(Scene *scene, float timeline_frame, int view_id);
void final_image_cache_invalidate_frame_range(Scene *scene,
const float timeline_frame_start,
const float timeline_frame_end);
void final_image_cache_clear(Scene *scene);
void final_image_cache_destroy(Scene *scene);
bool final_image_cache_evict(Scene *scene);
size_t final_image_cache_get_image_count(const Scene *scene);
} // namespace blender::seq