Blender  V3.3
Functions
strip_relations.c File Reference
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_session_uuid.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "IMB_imbuf.h"
#include "SEQ_iterator.h"
#include "SEQ_prefetch.h"
#include "SEQ_relations.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "effects.h"
#include "image_cache.h"
#include "utils.h"

Go to the source code of this file.

Functions

bool SEQ_relation_is_effect_of_strip (const Sequence *effect, const Sequence *input)
 
static bool seq_relations_check_depend (const Scene *scene, Sequence *seq, Sequence *cur)
 
static void sequence_do_invalidate_dependent (Scene *scene, Sequence *seq, ListBase *seqbase)
 
static void sequence_invalidate_cache (Scene *scene, Sequence *seq, bool invalidate_self, int invalidate_types)
 
static bool seq_relations_find_and_invalidate_metas (Scene *scene, Sequence *invalidated_seq, Sequence *meta_seq)
 
void SEQ_relations_invalidate_cache_in_range (Scene *scene, Sequence *seq, Sequence *range_mask, int invalidate_types)
 
void SEQ_relations_invalidate_cache_raw (Scene *scene, Sequence *seq)
 
void SEQ_relations_invalidate_cache_preprocessed (Scene *scene, Sequence *seq)
 
void SEQ_relations_invalidate_cache_composite (Scene *scene, Sequence *seq)
 
void SEQ_relations_invalidate_dependent (Scene *scene, Sequence *seq)
 
static void invalidate_scene_strips (Scene *scene, Scene *scene_target, ListBase *seqbase)
 
void SEQ_relations_invalidate_scene_strips (Main *bmain, Scene *scene_target)
 
static void invalidate_movieclip_strips (Scene *scene, MovieClip *clip_target, ListBase *seqbase)
 
void SEQ_relations_invalidate_movieclip_strips (Main *bmain, MovieClip *clip_target)
 
void SEQ_relations_free_imbuf (Scene *scene, ListBase *seqbase, bool for_render)
 
static void sequencer_all_free_anim_ibufs (const Scene *scene, ListBase *seqbase, int timeline_frame, const int frame_range[2])
 
void SEQ_relations_free_all_anim_ibufs (Scene *scene, int timeline_frame)
 
static Sequencesequencer_check_scene_recursion (Scene *scene, ListBase *seqbase)
 
bool SEQ_relations_check_scene_recursion (Scene *scene, ReportList *reports)
 
bool SEQ_relations_render_loop_check (Sequence *seq_main, Sequence *seq)
 
void SEQ_relations_sequence_free_anim (Sequence *seq)
 
void SEQ_relations_session_uuid_generate (struct Sequence *sequence)
 
static bool get_uuids_cb (Sequence *seq, void *user_data)
 
void SEQ_relations_check_uuids_unique_and_report (const Scene *scene)
 
struct SequenceSEQ_find_metastrip_by_sequence (ListBase *seqbase, Sequence *meta, Sequence *seq)
 
bool SEQ_exists_in_seqbase (const Sequence *seq, const ListBase *seqbase)
 

Function Documentation

◆ get_uuids_cb()

static bool get_uuids_cb ( Sequence seq,
void user_data 
)
static

◆ invalidate_movieclip_strips()

static void invalidate_movieclip_strips ( Scene scene,
MovieClip clip_target,
ListBase seqbase 
)
static

◆ invalidate_scene_strips()

static void invalidate_scene_strips ( Scene scene,
Scene scene_target,
ListBase seqbase 
)
static

◆ SEQ_exists_in_seqbase()

bool SEQ_exists_in_seqbase ( const Sequence seq,
const ListBase seqbase 
)

Definition at line 463 of file strip_relations.c.

References LISTBASE_FOREACH, SEQ_TYPE_META, and Sequence::seqbase.

Referenced by SEQ_edit_move_strip_to_meta().

◆ SEQ_find_metastrip_by_sequence()

struct Sequence* SEQ_find_metastrip_by_sequence ( ListBase seqbase,
struct Sequence meta,
struct Sequence seq 
)

Return immediate parent meta of sequence.

Definition at line 444 of file strip_relations.c.

References ListBase::first, Sequence::next, NULL, and Sequence::seqbase.

Referenced by do_adjustment_impl().

◆ SEQ_relation_is_effect_of_strip()

bool SEQ_relation_is_effect_of_strip ( const Sequence effect,
const Sequence input 
)

◆ seq_relations_check_depend()

static bool seq_relations_check_depend ( const Scene scene,
Sequence seq,
Sequence cur 
)
static

◆ SEQ_relations_check_scene_recursion()

bool SEQ_relations_check_scene_recursion ( Scene scene,
ReportList reports 
)

◆ SEQ_relations_check_uuids_unique_and_report()

void SEQ_relations_check_uuids_unique_and_report ( const Scene scene)

◆ seq_relations_find_and_invalidate_metas()

static bool seq_relations_find_and_invalidate_metas ( Scene scene,
Sequence invalidated_seq,
Sequence meta_seq 
)
static

◆ SEQ_relations_free_all_anim_ibufs()

void SEQ_relations_free_all_anim_ibufs ( struct Scene scene,
int  timeline_frame 
)

Release FFmpeg handles of strips that are not currently displayed to minimize memory usage.

Definition at line 305 of file strip_relations.c.

References MAXFRAME, NULL, scene, SEQ_editing_get(), Editing::seqbase, and sequencer_all_free_anim_ibufs().

Referenced by SEQ_render_give_ibuf().

◆ SEQ_relations_free_imbuf()

void SEQ_relations_free_imbuf ( Scene scene,
ListBase seqbase,
bool  for_render 
)

◆ SEQ_relations_invalidate_cache_composite()

void SEQ_relations_invalidate_cache_composite ( Scene scene,
Sequence seq 
)

◆ SEQ_relations_invalidate_cache_in_range()

void SEQ_relations_invalidate_cache_in_range ( Scene scene,
Sequence seq,
Sequence range_mask,
int  invalidate_types 
)

◆ SEQ_relations_invalidate_cache_preprocessed()

void SEQ_relations_invalidate_cache_preprocessed ( Scene scene,
Sequence seq 
)

◆ SEQ_relations_invalidate_cache_raw()

void SEQ_relations_invalidate_cache_raw ( Scene scene,
Sequence seq 
)

◆ SEQ_relations_invalidate_dependent()

void SEQ_relations_invalidate_dependent ( Scene scene,
Sequence seq 
)

◆ SEQ_relations_invalidate_movieclip_strips()

void SEQ_relations_invalidate_movieclip_strips ( Main bmain,
MovieClip clip_target 
)

◆ SEQ_relations_invalidate_scene_strips()

void SEQ_relations_invalidate_scene_strips ( Main bmain,
Scene scene_target 
)

◆ SEQ_relations_render_loop_check()

bool SEQ_relations_render_loop_check ( struct Sequence seq_main,
struct Sequence seq 
)

◆ SEQ_relations_sequence_free_anim()

void SEQ_relations_sequence_free_anim ( struct Sequence seq)

◆ SEQ_relations_session_uuid_generate()

void SEQ_relations_session_uuid_generate ( struct Sequence sequence)

Generate new UUID for the given sequence.

Definition at line 407 of file strip_relations.c.

References BLI_session_uuid_generate(), Sequence::runtime, and SequenceRuntime::session_uuid.

Referenced by seq_dupli(), seq_read_data_cb(), and SEQ_sequence_alloc().

◆ sequence_do_invalidate_dependent()

static void sequence_do_invalidate_dependent ( Scene scene,
Sequence seq,
ListBase seqbase 
)
static

◆ sequence_invalidate_cache()

static void sequence_invalidate_cache ( Scene scene,
Sequence seq,
bool  invalidate_self,
int  invalidate_types 
)
static

◆ sequencer_all_free_anim_ibufs()

static void sequencer_all_free_anim_ibufs ( const Scene scene,
ListBase seqbase,
int  timeline_frame,
const int  frame_range[2] 
)
static

◆ sequencer_check_scene_recursion()

static Sequence* sequencer_check_scene_recursion ( Scene scene,
ListBase seqbase 
)
static