Blender
V3.3
|
#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.
Definition at line 412 of file strip_relations.c.
References BLI_gset_insert(), BLI_gset_lookup(), BLI_session_uuid_is_generated(), Sequence::name, NULL, Sequence::runtime, SequenceRuntime::session_uuid, and user_data.
Referenced by SEQ_relations_check_uuids_unique_and_report().
|
static |
Definition at line 219 of file strip_relations.c.
References ListBase::first, NULL, scene, and SEQ_relations_invalidate_cache_raw().
Referenced by SEQ_relations_invalidate_movieclip_strips().
|
static |
Definition at line 197 of file strip_relations.c.
References ListBase::first, NULL, scene, and SEQ_relations_invalidate_cache_raw().
Referenced by SEQ_relations_invalidate_scene_strips().
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().
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().
Definition at line 38 of file strip_relations.c.
References ELEM, input, Sequence::seq1, and Sequence::seq2.
Referenced by must_render_strip(), query_strip_effects_fn(), select_grouped_effect(), seq_relations_check_depend(), sequencer_flag_users_for_removal(), and shuffle_seq_time_offset_get().
|
static |
Definition at line 44 of file strip_relations.c.
References Sequence::blend_mode, Sequence::blend_opacity, Sequence::machine, scene, SEQ_BLEND_REPLACE, SEQ_relation_is_effect_of_strip(), SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_TYPE_CROSS, SEQ_TYPE_EFFECT, and Sequence::type.
Referenced by sequence_do_invalidate_dependent().
bool SEQ_relations_check_scene_recursion | ( | Scene * | scene, |
ReportList * | reports | ||
) |
Definition at line 337 of file strip_relations.c.
References BKE_reportf(), LISTBASE_FOREACH, Sequence::name, NULL, RPT_WARNING, scene, SEQ_editing_get(), SEQ_time_left_handle_frame_get(), SEQ_TYPE_SCENE, Editing::seqbase, sequencer_check_scene_recursion(), and sequencer_seq_generates_image().
Referenced by screen_render_invoke().
Definition at line 430 of file strip_relations.c.
References BLI_gset_free(), BLI_gset_new(), BLI_session_uuid_ghash_compare(), BLI_session_uuid_ghash_hash(), Scene::ed, get_uuids_cb(), NULL, scene, SEQ_for_each_callback(), and Editing::seqbase.
|
static |
Definition at line 121 of file strip_relations.c.
References LISTBASE_FOREACH, NULL, scene, SEQ_CACHE_ALL_TYPES, SEQ_editing_get(), SEQ_TYPE_META, Sequence::seqbase, Editing::seqbase, and sequence_invalidate_cache().
Referenced by SEQ_relations_invalidate_cache_composite(), SEQ_relations_invalidate_cache_in_range(), SEQ_relations_invalidate_cache_preprocessed(), SEQ_relations_invalidate_cache_raw(), and SEQ_relations_invalidate_dependent().
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().
Definition at line 241 of file strip_relations.c.
References RenderData::cfra, Scene::ed, ListBase::first, Sequence::next, NULL, Scene::r, scene, SEQ_cache_cleanup(), seq_effect_speed_rebuild_map(), SEQ_prefetch_stop(), SEQ_relations_sequence_free_anim(), SEQ_time_strip_intersects_frame(), SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_SCENE, SEQ_TYPE_SPEED, Sequence::seqbase, Sequence::strip, and Sequence::type.
Referenced by do_render_sequencer(), proxy_endjob(), sequencer_rebuild_proxy_exec(), and sequencer_refresh_all_exec().
Definition at line 175 of file strip_relations.c.
References ELEM, NULL, scene, SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_find_and_invalidate_metas(), SEQ_TYPE_SOUND_HD, SEQ_TYPE_SOUND_RAM, sequence_invalidate_cache(), and Sequence::type.
Referenced by recalcData_sequencer(), and seq_add_generic_update().
void SEQ_relations_invalidate_cache_in_range | ( | Scene * | scene, |
Sequence * | seq, | ||
Sequence * | range_mask, | ||
int | invalidate_types | ||
) |
Definition at line 150 of file strip_relations.c.
References NULL, scene, seq_cache_cleanup_sequence(), and seq_relations_find_and_invalidate_metas().
Definition at line 165 of file strip_relations.c.
References NULL, scene, SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, SEQ_CACHE_STORE_PREPROCESSED, seq_relations_find_and_invalidate_metas(), and sequence_invalidate_cache().
Referenced by recalcData_sequencer_image(), SEQ_edit_move_strip_to_seqbase(), SEQ_transform_offset_after_frame(), sequencer_change_effect_input_exec(), sequencer_change_effect_type_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_offset_clear_exec(), sequencer_reassign_inputs_exec(), sequencer_rendersize_exec(), sequencer_slip_recursively(), sequencer_strip_transform_clear_exec(), sequencer_strip_transform_fit_exec(), sequencer_swap_inputs_exec(), strip_modifier_add_exec(), strip_modifier_copy_exec(), strip_modifier_move_exec(), strip_modifier_remove_exec(), and swap_sequence().
Definition at line 159 of file strip_relations.c.
References NULL, scene, SEQ_CACHE_ALL_TYPES, seq_relations_find_and_invalidate_metas(), and sequence_invalidate_cache().
Referenced by ED_scene_sequencer_add(), invalidate_movieclip_strips(), invalidate_scene_strips(), SEQ_add_reload_new_file(), seq_sequence_free_ex(), sequencer_change_path_exec(), sequencer_change_scene_exec(), and sequencer_swap_data_exec().
Definition at line 186 of file strip_relations.c.
References ELEM, NULL, scene, SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_find_and_invalidate_metas(), SEQ_TYPE_SOUND_HD, SEQ_TYPE_SOUND_RAM, sequence_invalidate_cache(), and Sequence::type.
Referenced by sequence_fn(), sequencer_mute_exec(), and sequencer_unmute_exec().
Definition at line 232 of file strip_relations.c.
References Scene::ed, ListBase::first, Scene::id, invalidate_movieclip_strips(), ID::next, NULL, scene, Main::scenes, and Editing::seqbase.
Definition at line 210 of file strip_relations.c.
References Scene::ed, ListBase::first, Scene::id, invalidate_scene_strips(), ID::next, NULL, scene, Main::scenes, and Editing::seqbase.
Check if "seq_main" (indirectly) uses strip "seq".
Definition at line 366 of file strip_relations.c.
References ListBase::first, SequenceModifierData::mask_sequence, Sequence::modifiers, SequenceModifierData::next, NULL, Sequence::seq1, Sequence::seq2, and Sequence::seq3.
Referenced by seq_prefetch_scene_strip_is_rendered(), and sequencer_reassign_inputs_exec().
Function to free imbuf and anim data on changes.
Definition at line 392 of file strip_relations.c.
References StripAnim::anim, Sequence::anims, BLI_freelinkN(), BLI_listbase_clear(), IMB_free_anim(), ListBase::last, and NULL.
Referenced by SEQ_add_reload_new_file(), seq_open_anim_file(), SEQ_proxy_rebuild_context(), SEQ_relations_free_imbuf(), seq_sequence_free_ex(), sequencer_all_free_anim_ibufs(), sequencer_change_path_exec(), and thumbnail_start_job().
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().
|
static |
Definition at line 73 of file strip_relations.c.
References ListBase::first, Sequence::next, scene, SEQ_CACHE_ALL_TYPES, seq_cache_cleanup_sequence(), SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_check_depend(), SEQ_TYPE_EFFECT, Sequence::seqbase, and Sequence::type.
Referenced by sequence_invalidate_cache().
|
static |
Definition at line 100 of file strip_relations.c.
References DEG_id_tag_update(), Scene::ed, Sequence::effectdata, Scene::id, ID_RECALC_SEQUENCER_STRIPS, scene, seq_cache_cleanup_sequence(), seq_effect_speed_rebuild_map(), SEQ_prefetch_stop(), SEQ_TYPE_SPEED, Editing::seqbase, sequence_do_invalidate_dependent(), and Sequence::type.
Referenced by seq_relations_find_and_invalidate_metas(), SEQ_relations_invalidate_cache_composite(), SEQ_relations_invalidate_cache_preprocessed(), SEQ_relations_invalidate_cache_raw(), and SEQ_relations_invalidate_dependent().
|
static |
Definition at line 275 of file strip_relations.c.
References ListBase::first, max_ii(), MAXFRAME, min_ii(), NULL, MetaStack::parseq, scene, SEQ_editing_get(), SEQ_meta_stack_active_get(), SEQ_relations_sequence_free_anim(), SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_time_strip_intersects_frame(), and SEQ_TYPE_META.
Referenced by SEQ_relations_free_all_anim_ibufs().
Definition at line 316 of file strip_relations.c.
References Scene::ed, LISTBASE_FOREACH, NULL, scene, SEQ_SCENE_STRIPS, SEQ_TYPE_META, SEQ_TYPE_SCENE, and Editing::seqbase.
Referenced by SEQ_relations_check_scene_recursion().