Blender V4.3
proxy.cc File Reference
#include "MEM_guardedalloc.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_space_types.h"
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include <unistd.h>
#include "BKE_global.hh"
#include "BKE_image.hh"
#include "BKE_main.hh"
#include "BKE_scene.hh"
#include "WM_types.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "IMB_metadata.hh"
#include "SEQ_proxy.hh"
#include "SEQ_relations.hh"
#include "SEQ_render.hh"
#include "SEQ_sequencer.hh"
#include "SEQ_time.hh"
#include "multiview.hh"
#include "proxy.hh"
#include "render.hh"
#include "sequencer.hh"
#include "utils.hh"

Go to the source code of this file.

Classes

struct  SeqIndexBuildContext
 
struct  MultiViewPrefixVars
 

Functions

int SEQ_rendersize_to_proxysize (int render_size)
 
double SEQ_rendersize_to_scale_factor (int render_size)
 
bool seq_proxy_get_custom_file_filepath (Sequence *seq, char *filepath, const int view_id)
 
static bool seq_proxy_get_filepath (Scene *scene, Sequence *seq, int timeline_frame, eSpaceSeq_Proxy_RenderSize render_size, char *filepath, const int view_id)
 
bool SEQ_can_use_proxy (const SeqRenderData *context, const Sequence *seq, int psize)
 
ImBufseq_proxy_fetch (const SeqRenderData *context, Sequence *seq, int timeline_frame)
 
static void seq_proxy_build_frame (const SeqRenderData *context, SeqRenderState *state, Sequence *seq, int timeline_frame, int proxy_render_size, const bool overwrite)
 
static bool seq_proxy_multiview_context_invalid (Sequence *seq, Scene *scene, const int view_id, MultiViewPrefixVars *prefix_vars)
 
static int seq_proxy_context_count (Sequence *seq, Scene *scene)
 
static bool seq_proxy_need_rebuild (Sequence *seq, ImBufAnim *anim)
 
bool SEQ_proxy_rebuild_context (Main *bmain, Depsgraph *depsgraph, Scene *scene, Sequence *seq, GSet *file_list, ListBase *queue, bool build_only_on_bad_performance)
 
void SEQ_proxy_rebuild (SeqIndexBuildContext *context, wmJobWorkerStatus *worker_status)
 
void SEQ_proxy_rebuild_finish (SeqIndexBuildContext *context, bool stop)
 
void SEQ_proxy_set (Sequence *seq, bool value)
 
void seq_proxy_index_dir_set (ImBufAnim *anim, const char *base_dir)
 
void free_proxy_seq (Sequence *seq)
 

Function Documentation

◆ free_proxy_seq()

void free_proxy_seq ( Sequence * seq)

Definition at line 614 of file proxy.cc.

References StripProxy::anim, IMB_free_anim(), Strip::proxy, and Sequence::strip.

Referenced by SEQ_add_reload_new_file().

◆ SEQ_can_use_proxy()

bool SEQ_can_use_proxy ( const SeqRenderData * context,
const Sequence * seq,
int psize )

◆ seq_proxy_build_frame()

◆ seq_proxy_context_count()

static int seq_proxy_context_count ( Sequence * seq,
Scene * scene )
static

◆ seq_proxy_fetch()

◆ seq_proxy_get_custom_file_filepath()

◆ seq_proxy_get_filepath()

◆ seq_proxy_index_dir_set()

void seq_proxy_index_dir_set ( ImBufAnim * anim,
const char * base_dir )

◆ seq_proxy_multiview_context_invalid()

static bool seq_proxy_multiview_context_invalid ( Sequence * seq,
Scene * scene,
const int view_id,
MultiViewPrefixVars * prefix_vars )
static

Returns whether the file this context would read from even exist, if not, don't create the context.

Parameters
prefix_varsStores prefix variables for reuse, these variables are for internal use, the caller must not depend on them.
Note
This function must first a view_id of zero, to initialize prefix_vars for use with other views.

Definition at line 335 of file proxy.cc.

References BKE_main_blendfile_path_from_global(), BKE_scene_multiview_view_prefix_get(), BLI_access(), BLI_path_abs(), BLI_path_join, Strip::dirpath, MultiViewPrefixVars::ext, FILE_MAX, StripElem::filename, MultiViewPrefixVars::prefix, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, seq_multiview_name(), SEQ_TYPE_IMAGE, Sequence::strip, Strip::stripdata, Sequence::type, and Sequence::views_format.

Referenced by SEQ_proxy_rebuild_context().

◆ seq_proxy_need_rebuild()

static bool seq_proxy_need_rebuild ( Sequence * seq,
ImBufAnim * anim )
static

◆ SEQ_proxy_rebuild()

◆ SEQ_proxy_rebuild_context()

◆ SEQ_proxy_rebuild_finish()

void SEQ_proxy_rebuild_finish ( SeqIndexBuildContext * context,
bool stop )

◆ SEQ_proxy_set()

void SEQ_proxy_set ( Sequence * seq,
bool value )

◆ SEQ_rendersize_to_proxysize()

◆ SEQ_rendersize_to_scale_factor()