|
Blender
V2.59
|
#include <stddef.h>#include <stdlib.h>#include <string.h>#include <math.h>#include "MEM_guardedalloc.h"#include "MEM_CacheLimiterC-Api.h"#include "DNA_sequence_types.h"#include "DNA_scene_types.h"#include "DNA_anim_types.h"#include "DNA_object_types.h"#include "DNA_sound_types.h"#include "BLI_math.h"#include "BLI_fileops.h"#include "BLI_listbase.h"#include "BLI_path_util.h"#include "BLI_string.h"#include "BLI_threads.h"#include "BLI_utildefines.h"#include "BKE_animsys.h"#include "BKE_global.h"#include "BKE_image.h"#include "BKE_main.h"#include "BKE_sequencer.h"#include "BKE_fcurve.h"#include "BKE_scene.h"#include "RNA_access.h"#include "BKE_utildefines.h"#include "RE_pipeline.h"#include <pthread.h>#include "IMB_imbuf.h"#include "IMB_imbuf_types.h"#include "BKE_context.h"#include "BKE_sound.h"Go to the source code of this file.
Classes | |
| struct | SeqUniqueInfo |
| struct | PrefetchThread |
| struct | PrefetchQueueElem |
Defines | |
| #define | SELECT 1 |
| #define | PROXY_MAXFILE (2*FILE_MAXDIR+FILE_MAXFILE) |
Typedefs | |
| typedef struct SeqUniqueInfo | SeqUniqueInfo |
| typedef struct PrefetchThread | PrefetchThread |
| typedef struct PrefetchQueueElem | PrefetchQueueElem |
Functions | |
| static ImBuf * | seq_render_strip_stack (SeqRenderData context, ListBase *seqbasep, float cfra, int chanshown) |
| static ImBuf * | seq_render_strip (SeqRenderData context, Sequence *seq, float cfra) |
| static void | seq_free_animdata (Scene *scene, Sequence *seq) |
| void | printf_strip (Sequence *seq) |
| int | seqbase_recursive_apply (ListBase *seqbase, int(*apply_func)(Sequence *seq, void *), void *arg) |
| int | seq_recursive_apply (Sequence *seq, int(*apply_func)(Sequence *, void *), void *arg) |
| void | new_tstripdata (Sequence *seq) |
| static void | free_proxy_seq (Sequence *seq) |
| void | seq_free_strip (Strip *strip) |
| void | seq_free_sequence (Scene *scene, Sequence *seq) |
| Editing * | seq_give_editing (Scene *scene, int alloc) |
| static void | seq_free_clipboard_recursive (Sequence *seq_parent) |
| void | seq_free_clipboard (void) |
| void | seq_free_editing (Scene *scene) |
| SeqRenderData | seq_new_render_data (struct Main *bmain, struct Scene *scene, int rectx, int recty, int preview_render_size) |
| int | seq_cmp_render_data (const SeqRenderData *a, const SeqRenderData *b) |
| unsigned int | seq_hash_render_data (const SeqRenderData *a) |
| static void | seq_count (ListBase *seqbase, int *tot) |
| static void | seq_build_array (ListBase *seqbase, Sequence ***array, int depth) |
| void | seq_array (Editing *ed, Sequence ***seqarray, int *tot, int use_pointer) |
| void | seq_begin (Editing *ed, SeqIterator *iter, int use_pointer) |
| void | seq_next (SeqIterator *iter) |
| void | seq_end (SeqIterator *iter) |
| static void | do_seq_count_cb (ListBase *seqbase, int *totseq, int(*test_func)(Sequence *seq)) |
| static void | do_build_seqar_cb (ListBase *seqbase, Sequence ***seqar, int depth, int(*test_func)(Sequence *seq)) |
| void | build_seqar_cb (ListBase *seqbase, Sequence ***seqar, int *totseq, int(*test_func)(Sequence *seq)) |
| void | calc_sequence_disp (Scene *scene, Sequence *seq) |
| static void | seq_update_sound_bounds_recursive (Scene *scene, Sequence *metaseq) |
| void | calc_sequence (Scene *scene, Sequence *seq) |
| void | reload_sequence_new_file (Scene *scene, Sequence *seq, int lock_range) |
| void | sort_seq (Scene *scene) |
| static int | clear_scene_in_allseqs_cb (Sequence *seq, void *arg_pt) |
| void | clear_scene_in_allseqs (Main *bmain, Scene *scene) |
| static void | seqbase_unique_name (ListBase *seqbasep, SeqUniqueInfo *sui) |
| static int | seqbase_unique_name_recursive_cb (Sequence *seq, void *arg_pt) |
| void | seqbase_unique_name_recursive (ListBase *seqbasep, struct Sequence *seq) |
| static const char * | give_seqname_by_type (int type) |
| const char * | give_seqname (Sequence *seq) |
| static void | make_black_ibuf (ImBuf *ibuf) |
| static void | multibuf (ImBuf *ibuf, float fmul) |
| static float | give_stripelem_index (Sequence *seq, float cfra) |
| StripElem * | give_stripelem (Sequence *seq, int cfra) |
| static int | evaluate_seq_frame_gen (Sequence **seq_arr, ListBase *seqbase, int cfra) |
| int | evaluate_seq_frame (Scene *scene, int cfra) |
| static int | video_seq_is_rendered (Sequence *seq) |
| static int | get_shown_sequences (ListBase *seqbasep, int cfra, int chanshown, Sequence **seq_arr_out) |
| static int | seq_proxy_get_fname (SeqRenderData context, Sequence *seq, int cfra, char *name) |
| static struct ImBuf * | seq_proxy_fetch (SeqRenderData context, Sequence *seq, int cfra) |
| static StripColorBalance | calc_cb (StripColorBalance *cb_) |
| MINLINE float | color_balance_fl (float in, const float lift, const float gain, const float gamma, const float mul) |
| static void | make_cb_table_byte (float lift, float gain, float gamma, unsigned char *table, float mul) |
| static void | make_cb_table_float (float lift, float gain, float gamma, float *table, float mul) |
| static void | color_balance_byte_byte (Sequence *seq, ImBuf *ibuf, float mul) |
| static void | color_balance_byte_float (Sequence *seq, ImBuf *ibuf, float mul) |
| static void | color_balance_float_float (Sequence *seq, ImBuf *ibuf, float mul) |
| static void | color_balance (Sequence *seq, ImBuf *ibuf, float mul) |
| int | input_have_to_preprocess (SeqRenderData UNUSED(context), Sequence *seq, float UNUSED(cfra)) |
| static ImBuf * | input_preprocess (SeqRenderData context, Sequence *seq, float UNUSED(cfra), ImBuf *ibuf) |
| static ImBuf * | copy_from_ibuf_still (SeqRenderData context, Sequence *seq, float nr) |
| static void | copy_to_ibuf_still (SeqRenderData context, Sequence *seq, float nr, ImBuf *ibuf) |
| static ImBuf * | seq_render_effect_strip_impl (SeqRenderData context, Sequence *seq, float cfra) |
| static ImBuf * | seq_render_scene_strip_impl (SeqRenderData context, Sequence *seq, float nr) |
| static int | seq_must_swap_input_in_blend_mode (Sequence *seq) |
| static int | seq_get_early_out_for_blend_mode (Sequence *seq) |
| ImBuf * | give_ibuf_seq (SeqRenderData context, float cfra, int chanshown) |
| ImBuf * | give_ibuf_seqbase (SeqRenderData context, float cfra, int chanshown, ListBase *seqbasep) |
| ImBuf * | give_ibuf_seq_direct (SeqRenderData context, float cfra, Sequence *seq) |
| void | give_ibuf_prefetch_request (SeqRenderData context, float cfra, int chanshown) |
| ImBuf * | give_ibuf_seq_threaded (SeqRenderData context, float cfra, int chanshown) |
| static void | free_anim_seq (Sequence *seq) |
| void | free_imbuf_seq (Scene *scene, ListBase *seqbase, int check_mem_usage, int keep_file_handles) |
| static int | update_changed_seq_recurs (Scene *scene, Sequence *seq, Sequence *changed_seq, int len_change, int ibuf_change) |
| void | update_changed_seq_and_deps (Scene *scene, Sequence *changed_seq, int len_change, int ibuf_change) |
| int | seq_tx_get_start (Sequence *seq) |
| int | seq_tx_get_end (Sequence *seq) |
| int | seq_tx_get_final_left (Sequence *seq, int metaclip) |
| int | seq_tx_get_final_right (Sequence *seq, int metaclip) |
| void | seq_tx_set_final_left (Sequence *seq, int val) |
| void | seq_tx_set_final_right (Sequence *seq, int val) |
| int | seq_single_check (Sequence *seq) |
| int | seqbase_isolated_sel_check (ListBase *seqbase) |
| void | seq_tx_handle_xlimits (Sequence *seq, int leftflag, int rightflag) |
| void | seq_single_fix (Sequence *seq) |
| int | seq_tx_test (Sequence *seq) |
| static int | seq_overlap (Sequence *seq1, Sequence *seq2) |
| int | seq_test_overlap (ListBase *seqbasep, Sequence *test) |
| void | seq_translate (Scene *evil_scene, Sequence *seq, int delta) |
| void | seq_sound_init (Scene *scene, Sequence *seq) |
| Sequence * | seq_foreground_frame_get (Scene *scene, int frame) |
| int | shuffle_seq (ListBase *seqbasep, Sequence *test, Scene *evil_scene) |
| static int | shuffle_seq_time_offset_test (ListBase *seqbasep, char dir) |
| static int | shuffle_seq_time_offset (Scene *scene, ListBase *seqbasep, char dir) |
| int | shuffle_seq_time (ListBase *seqbasep, Scene *evil_scene) |
| void | seq_update_sound (Scene *scene, Sequence *seq) |
| static void | seq_update_muting_recursive (Scene *scene, ListBase *seqbasep, Sequence *metaseq, int mute) |
| void | seq_update_muting (Scene *scene, Editing *ed) |
| ListBase * | seq_seqbase (ListBase *seqbase, Sequence *seq) |
| Sequence * | seq_metastrip (ListBase *seqbase, Sequence *meta, Sequence *seq) |
| int | seq_swap (Sequence *seq_a, Sequence *seq_b, const char **error_str) |
| void | seq_offset_animdata (Scene *scene, Sequence *seq, int ofs) |
| void | seq_dupe_animdata (Scene *scene, char *name_from, char *name_to) |
| Sequence * | get_seq_by_name (ListBase *seqbase, const char *name, int recursive) |
| Sequence * | seq_active_get (Scene *scene) |
| void | seq_active_set (Scene *scene, Sequence *seq) |
| int | seq_active_pair_get (Scene *scene, Sequence **seq_act, Sequence **seq_other) |
| void | seq_load_apply (Scene *scene, Sequence *seq, SeqLoadInfo *seq_load) |
| Sequence * | alloc_sequence (ListBase *lb, int cfra, int machine) |
| Sequence * | sequencer_add_image_strip (bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load) |
| Sequence * | sequencer_add_sound_strip (bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load) |
| Sequence * | sequencer_add_movie_strip (bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load) |
| static Sequence * | seq_dupli (struct Scene *scene, struct Scene *scene_to, Sequence *seq, int dupe_flag) |
| Sequence * | seq_dupli_recursive (struct Scene *scene, struct Scene *scene_to, Sequence *seq, int dupe_flag) |
| void | seqbase_dupli_recursive (Scene *scene, Scene *scene_to, ListBase *nseqbase, ListBase *seqbase, int dupe_flag) |
Variables | |
| ListBase | seqbase_clipboard |
| int | seqbase_clipboard_frame |
| SequencerDrawView | sequencer_view3d_cb = NULL |
| static ListBase | running_threads |
| static ListBase | prefetch_wait |
| static ListBase | prefetch_done |
| static pthread_mutex_t | queue_lock = PTHREAD_MUTEX_INITIALIZER |
| static pthread_mutex_t | wakeup_lock = PTHREAD_MUTEX_INITIALIZER |
| static pthread_cond_t | wakeup_cond = PTHREAD_COND_INITIALIZER |
| static pthread_mutex_t | frame_done_lock = PTHREAD_MUTEX_INITIALIZER |
| static pthread_cond_t | frame_done_cond = PTHREAD_COND_INITIALIZER |
| static volatile int | seq_thread_shutdown = TRUE |
| static volatile int | seq_last_given_monoton_cfra = 0 |
| static int | monoton_cfra = 0 |
Definition in file sequencer.c.
| #define PROXY_MAXFILE (2*FILE_MAXDIR+FILE_MAXFILE) |
Definition at line 1125 of file sequencer.c.
Referenced by seq_proxy_fetch(), and seq_proxy_get_fname().
| #define SELECT 1 |
Definition at line 96 of file sequencer.c.
Referenced by alloc_sequence(), seq_active_pair_get(), seq_load_apply(), seqbase_dupli_recursive(), and seqbase_isolated_sel_check().
| typedef struct PrefetchQueueElem PrefetchQueueElem |
| typedef struct PrefetchThread PrefetchThread |
| typedef struct SeqUniqueInfo SeqUniqueInfo |
Definition at line 3458 of file sequencer.c.
References Sequence::blend_opacity, BLI_addtail(), Sequence::flag, ID_SEQ, Sequence::machine, MEM_callocN(), Sequence::mul, Sequence::name, NULL, Sequence::sat, Sequence::scene_sound, SELECT, Sequence::start, and Sequence::volume.
Referenced by sequencer_add_effect_strip_exec(), sequencer_add_image_strip(), sequencer_add_movie_strip(), sequencer_add_scene_strip_exec(), and sequencer_meta_make_exec().
| void build_seqar_cb | ( | ListBase * | seqbase, |
| Sequence *** | seqar, | ||
| int * | totseq, | ||
| int(*)(Sequence *seq) | test_func | ||
| ) |
Definition at line 500 of file sequencer.c.
References do_build_seqar_cb(), do_seq_count_cb(), MEM_mallocN(), and NULL.
| static StripColorBalance calc_cb | ( | StripColorBalance * | cb_ | ) | [static] |
Definition at line 1363 of file sequencer.c.
References StripColorBalance::flag, StripColorBalance::gain, StripColorBalance::gamma, StripColorBalance::lift, pow(), SEQ_COLOR_BALANCE_INVERSE_GAIN, SEQ_COLOR_BALANCE_INVERSE_GAMMA, and SEQ_COLOR_BALANCE_INVERSE_LIFT.
Referenced by color_balance_byte_byte(), color_balance_byte_float(), and color_balance_float_float().
Definition at line 564 of file sequencer.c.
References Sequence::anim_endofs, Sequence::anim_startofs, calc_sequence(), calc_sequence_disp(), Sequence::enddisp, ListBase::first, Sequence::flag, Strip::len, Sequence::len, max, MAX3(), MAXFRAME, min, MIN3, new_tstripdata(), Sequence::next, NULL, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_EFFECT, SEQ_INVALID_EFFECT, SEQ_META, seq_update_sound_bounds_recursive(), Sequence::seqbase, Sequence::start, Sequence::startdisp, Sequence::strip, and Sequence::type.
Referenced by calc_sequence(), cut_seq_hard(), cut_seq_soft(), flushTransSeq(), freeSeqData(), insert_gap(), reload_image_strip(), reload_sequence_new_file(), sequencer_add_effect_strip_exec(), sequencer_delete_exec(), sequencer_meta_make_exec(), sequencer_meta_toggle_exec(), sequencer_separate_images_exec(), sequencer_snap_exec(), sequencer_swap_data_exec(), sequencer_swap_exec(), shuffle_seq(), swap_sequence(), and update_changed_seq_recurs().
Definition at line 520 of file sequencer.c.
References Sequence::enddisp, Sequence::endofs, Sequence::endstill, Sequence::handsize, Sequence::len, seq_update_sound(), Sequence::start, Sequence::startdisp, Sequence::startofs, and Sequence::startstill.
Referenced by calc_sequence(), flushTransSeq(), freeSeqData(), reload_sequence_new_file(), seq_translate(), sequencer_add_image_strip_exec(), sequencer_add_movie_strip(), sequencer_add_scene_strip_exec(), and shuffle_seq_time_offset().
Definition at line 809 of file sequencer.c.
References clear_scene_in_allseqs_cb(), Scene::ed, ListBase::first, Scene::id, ID::next, Main::scene, Editing::seqbase, and seqbase_recursive_apply().
Referenced by unlink_scene().
| static int clear_scene_in_allseqs_cb | ( | Sequence * | seq, |
| void * | arg_pt | ||
| ) | [static] |
Definition at line 802 of file sequencer.c.
References NULL, and Sequence::scene.
Referenced by clear_scene_in_allseqs().
Definition at line 1511 of file sequencer.c.
References color_balance_byte_byte(), color_balance_byte_float(), color_balance_float_float(), Sequence::flag, ImBuf::rect_float, and SEQ_MAKE_FLOAT.
Referenced by input_preprocess().
Definition at line 1440 of file sequencer.c.
References calc_cb(), Strip::color_balance, make_cb_table_byte(), p, ImBuf::rect, Sequence::strip, ImBuf::x, and ImBuf::y.
Referenced by color_balance().
Definition at line 1463 of file sequencer.c.
References calc_cb(), Strip::color_balance, i, imb_addrectfloatImBuf(), make_cb_table_float(), p, ImBuf::rect, ImBuf::rect_float, Sequence::strip, ImBuf::x, and ImBuf::y.
Referenced by color_balance().
| MINLINE float color_balance_fl | ( | float | in, |
| const float | lift, | ||
| const float | gain, | ||
| const float | gamma, | ||
| const float | mul | ||
| ) |
Definition at line 1407 of file sequencer.c.
References mul(), powf, and ImBuf::x.
Referenced by color_balance_float_float(), make_cb_table_byte(), and make_cb_table_float().
Definition at line 1496 of file sequencer.c.
References calc_cb(), Strip::color_balance, color_balance_fl(), StripColorBalance::gain, StripColorBalance::gamma, StripColorBalance::lift, p, ImBuf::rect_float, Sequence::strip, ImBuf::x, and ImBuf::y.
Referenced by color_balance().
| static ImBuf* copy_from_ibuf_still | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | nr | ||
| ) | [static] |
Definition at line 1688 of file sequencer.c.
References IMB_dupImBuf(), IMB_freeImBuf(), Sequence::len, NULL, seq_stripelem_cache_get(), SEQ_STRIPELEM_IBUF_ENDSTILL, SEQ_STRIPELEM_IBUF_STARTSTILL, and Sequence::start.
Referenced by seq_render_strip().
| static void copy_to_ibuf_still | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | nr, | ||
| ImBuf * | ibuf | ||
| ) | [static] |
Definition at line 1712 of file sequencer.c.
References IMB_dupImBuf(), IMB_freeImBuf(), Sequence::len, seq_stripelem_cache_put(), SEQ_STRIPELEM_IBUF_ENDSTILL, SEQ_STRIPELEM_IBUF_STARTSTILL, and Sequence::start.
Referenced by seq_render_strip().
| static void do_build_seqar_cb | ( | ListBase * | seqbase, |
| Sequence *** | seqar, | ||
| int | depth, | ||
| int(*)(Sequence *seq) | test_func | ||
| ) | [static] |
Definition at line 479 of file sequencer.c.
References BUILD_SEQAR_COUNT_CHILDREN, BUILD_SEQAR_COUNT_CURRENT, Sequence::depth, ListBase::first, Sequence::next, Sequence::seqbase, and rna_array::test.
Referenced by build_seqar_cb().
| static void do_seq_count_cb | ( | ListBase * | seqbase, |
| int * | totseq, | ||
| int(*)(Sequence *seq) | test_func | ||
| ) | [static] |
Definition at line 461 of file sequencer.c.
References BUILD_SEQAR_COUNT_CHILDREN, BUILD_SEQAR_COUNT_CURRENT, ListBase::first, Sequence::next, Sequence::seqbase, and rna_array::test.
Referenced by build_seqar_cb().
| int evaluate_seq_frame | ( | Scene * | scene, |
| int | cfra | ||
| ) |
Definition at line 1066 of file sequencer.c.
References evaluate_seq_frame_gen(), FALSE, MAXSEQ, NULL, seq_give_editing(), and Editing::seqbasep.
Referenced by no_gaps().
Definition at line 1047 of file sequencer.c.
References Sequence::enddisp, ListBase::first, Sequence::machine, MAXSEQ, Sequence::next, and Sequence::startdisp.
Referenced by evaluate_seq_frame(), and get_shown_sequences().
| static void free_anim_seq | ( | Sequence * | seq | ) | [static] |
Definition at line 2679 of file sequencer.c.
References Sequence::anim, IMB_free_anim(), and NULL.
Referenced by free_imbuf_seq(), and update_changed_seq_recurs().
| void free_imbuf_seq | ( | Scene * | scene, |
| ListBase * | seqbase, | ||
| int | check_mem_usage, | ||
| int | keep_file_handles | ||
| ) |
Definition at line 2687 of file sequencer.c.
References FALSE, ListBase::first, free_anim_seq(), free_imbuf_seq(), max, MEM_CacheLimiter_get_maximum(), MEM_get_mapped_memory_in_use(), MEM_get_memory_in_use(), mem_in_use, mmap_in_use, Sequence::next, SEQ_META, SEQ_MOVIE, SEQ_SCENE, SEQ_SPEED, seq_stripelem_cache_cleanup(), Sequence::seqbase, sequence_effect_speed_rebuild_map(), Sequence::strip, and Sequence::type.
Referenced by do_render_seq(), free_imbuf_seq(), and sequencer_refresh_all_exec().
| static void free_proxy_seq | ( | Sequence * | seq | ) | [static] |
Definition at line 148 of file sequencer.c.
References StripProxy::anim, IMB_free_anim(), NULL, Strip::proxy, and Sequence::strip.
Referenced by reload_sequence_new_file().
Definition at line 3368 of file sequencer.c.
References ListBase::first, get_seq_by_name(), Sequence::name, Sequence::next, NULL, and Sequence::seqbase.
Referenced by animchan_sync_fcurve(), get_seq_by_name(), and skip_fcurve_selected_data().
| static int get_shown_sequences | ( | ListBase * | seqbasep, |
| int | cfra, | ||
| int | chanshown, | ||
| Sequence ** | seq_arr_out | ||
| ) | [static] |
Definition at line 1080 of file sequencer.c.
References evaluate_seq_frame_gen(), MAXSEQ, SEQ_BLEND_REPLACE, and video_seq_is_rendered().
Referenced by seq_render_strip_stack().
| void give_ibuf_prefetch_request | ( | SeqRenderData | context, |
| float | cfra, | ||
| int | chanshown | ||
| ) |
Definition at line 2541 of file sequencer.c.
References BLI_addtail(), PrefetchQueueElem::cfra, PrefetchQueueElem::chanshown, MEM_callocN(), PrefetchQueueElem::monoton_cfra, SeqRenderData::preview_render_size, PrefetchQueueElem::preview_render_size, SeqRenderData::rectx, PrefetchQueueElem::rectx, SeqRenderData::recty, and PrefetchQueueElem::recty.
| ImBuf* give_ibuf_seq | ( | SeqRenderData | context, |
| float | cfra, | ||
| int | chanshown | ||
| ) | [read] |
Definition at line 2304 of file sequencer.c.
References BLI_countlist(), BLI_findlink(), FALSE, MAX2, Editing::metastack, NULL, SeqRenderData::scene, seq_give_editing(), seq_render_strip_stack(), and Editing::seqbasep.
Referenced by do_render_seq(), draw_image_seq(), and give_ibuf_seq_threaded().
| ImBuf* give_ibuf_seq_direct | ( | SeqRenderData | context, |
| float | cfra, | ||
| Sequence * | seq | ||
| ) | [read] |
Definition at line 2329 of file sequencer.c.
References seq_render_strip().
Referenced by draw_image_seq().
| ImBuf* give_ibuf_seq_threaded | ( | SeqRenderData | context, |
| float | cfra, | ||
| int | chanshown | ||
| ) | [read] |
Definition at line 2596 of file sequencer.c.
References PrefetchQueueElem::cfra, PrefetchQueueElem::chanshown, PrefetchThread::current, FALSE, ListBase::first, give_ibuf_seq(), PrefetchQueueElem::ibuf, PrefetchQueueElem::monoton_cfra, PrefetchThread::next, PrefetchQueueElem::next, NULL, SeqRenderData::preview_render_size, PrefetchQueueElem::preview_render_size, SeqRenderData::rectx, PrefetchQueueElem::rectx, SeqRenderData::recty, PrefetchQueueElem::recty, and TRUE.
Referenced by draw_image_seq().
| ImBuf* give_ibuf_seqbase | ( | SeqRenderData | context, |
| float | cfra, | ||
| int | chanshown, | ||
| ListBase * | seqbasep | ||
| ) | [read] |
Definition at line 2323 of file sequencer.c.
References seq_render_strip_stack().
Referenced by do_adjustment_impl(), and do_multicam().
| const char* give_seqname | ( | Sequence * | seq | ) |
Definition at line 910 of file sequencer.c.
References Strip::dir, PluginSeq::doit, Sequence::flag, give_seqname_by_type(), Sequence::plugin, PluginSeq::pname, SEQ_EFFECT, SEQ_EFFECT_NOT_LOADED, SEQ_PLUGIN, Sequence::strip, and Sequence::type.
Referenced by draw_seq_text(), and sequencer_add_effect_strip_exec().
| static const char* give_seqname_by_type | ( | int | type | ) | [static] |
Definition at line 882 of file sequencer.c.
References NULL, SEQ_ADD, SEQ_ADJUSTMENT, SEQ_ALPHAOVER, SEQ_ALPHAUNDER, SEQ_COLOR, SEQ_CROSS, SEQ_GAMCROSS, SEQ_GLOW, SEQ_IMAGE, SEQ_META, SEQ_MOVIE, SEQ_MUL, SEQ_MULTICAM, SEQ_OVERDROP, SEQ_SCENE, SEQ_SOUND, SEQ_SPEED, SEQ_SUB, SEQ_TRANSFORM, and SEQ_WIPE.
Referenced by give_seqname().
Definition at line 1029 of file sequencer.c.
References Sequence::anim_startofs, give_stripelem_index(), NULL, SEQ_IMAGE, Sequence::strip, Strip::stripdata, and Sequence::type.
Referenced by seq_proxy_get_fname(), seq_render_strip(), sequencer_rendersize_exec(), and sequencer_separate_images_exec().
| static float give_stripelem_index | ( | Sequence * | seq, |
| float | cfra | ||
| ) | [static] |
Definition at line 995 of file sequencer.c.
References Sequence::enddisp, Sequence::flag, fmodf, Sequence::len, SEQ_EFFECT, SEQ_REVERSE_FRAMES, Sequence::start, Sequence::strobe, and Sequence::type.
Referenced by give_stripelem(), seq_proxy_fetch(), seq_proxy_get_fname(), and seq_render_strip().
| int input_have_to_preprocess | ( | SeqRenderData | UNUSEDcontext, |
| Sequence * | seq, | ||
| float | UNUSEDcfra | ||
| ) |
Definition at line 1541 of file sequencer.c.
References Sequence::blend_mode, Sequence::blend_opacity, FALSE, Sequence::flag, mul(), Sequence::mul, Sequence::sat, SEQ_BLEND_REPLACE, SEQ_FILTERY, SEQ_FLIPX, SEQ_FLIPY, SEQ_MAKE_PREMUL, SEQ_USE_COLOR_BALANCE, SEQ_USE_CROP, SEQ_USE_TRANSFORM, and TRUE.
| static ImBuf* input_preprocess | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | UNUSEDcfra, | ||
| ImBuf * | ibuf | ||
| ) | [static] |
Definition at line 1568 of file sequencer.c.
References Sequence::blend_mode, Sequence::blend_opacity, StripCrop::bottom, Strip::color_balance, color_balance(), Strip::crop, ImBuf::depth, Sequence::flag, hsv_to_rgb(), i, IB_rect, IB_rectfloat, IMB_allocImBuf(), IMB_filtery(), IMB_flipx(), IMB_flipy(), IMB_float_from_rect_simple(), IMB_freeImBuf(), imb_freerectImBuf(), IMB_premultiply_alpha(), IMB_rectcpy(), IMB_scalefastImBuf(), IMB_scaleImBuf(), StripCrop::left, make_black_ibuf(), RenderData::mode, mul(), Sequence::mul, multibuf(), NULL, Scene::r, R_OSA, ImBuf::rect, ImBuf::rect_float, SeqRenderData::rectx, SeqRenderData::recty, rgb_byte_to_float(), rgb_float_to_byte(), rgb_to_hsv(), StripCrop::right, Sequence::sat, SeqRenderData::scene, SEQ_BLEND_REPLACE, SEQ_FILTERY, SEQ_FLIPX, SEQ_FLIPY, SEQ_MAKE_FLOAT, SEQ_MAKE_PREMUL, SEQ_MOVIE, SEQ_USE_COLOR_BALANCE, SEQ_USE_CROP, SEQ_USE_TRANSFORM, Sequence::strip, StripCrop::top, Strip::transform, Sequence::type, ImBuf::x, StripTransform::xofs, RenderData::xsch, ImBuf::y, StripTransform::yofs, RenderData::ysch, and ImBuf::zbuf.
Referenced by seq_render_strip().
| static void make_black_ibuf | ( | ImBuf * | ibuf | ) | [static] |
Definition at line 933 of file sequencer.c.
References NULL, ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
Referenced by input_preprocess().
| static void make_cb_table_byte | ( | float | lift, |
| float | gain, | ||
| float | gamma, | ||
| unsigned char * | table, | ||
| float | mul | ||
| ) | [static] |
Definition at line 1417 of file sequencer.c.
References CLAMP(), color_balance_fl(), and ImBuf::y.
Referenced by color_balance_byte_byte().
| static void make_cb_table_float | ( | float | lift, |
| float | gain, | ||
| float | gamma, | ||
| float * | table, | ||
| float | mul | ||
| ) | [static] |
Definition at line 1429 of file sequencer.c.
References color_balance_fl(), and ImBuf::y.
Referenced by color_balance_byte_float().
| static void multibuf | ( | ImBuf * | ibuf, |
| float | fmul | ||
| ) | [static] |
Definition at line 955 of file sequencer.c.
References if(), mul(), ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
Referenced by input_preprocess().
| void new_tstripdata | ( | Sequence * | seq | ) |
Definition at line 138 of file sequencer.c.
References Strip::len, Sequence::len, and Sequence::strip.
Referenced by calc_sequence(), change_sequence(), cut_seq_hard(), cut_seq_soft(), and reload_sequence_new_file().
| void printf_strip | ( | Sequence * | seq | ) |
Definition at line 102 of file sequencer.c.
References Sequence::enddisp, Sequence::endofs, Sequence::endstill, Sequence::len, Sequence::machine, Sequence::name, seq_tx_get_final_left(), seq_tx_get_final_right(), Sequence::start, Sequence::startdisp, Sequence::startofs, and Sequence::startstill.
Definition at line 644 of file sequencer.c.
References Sequence::anim, Sequence::anim_endofs, Sequence::anim_preseek, Sequence::anim_startofs, AUD_getInfo(), BLI_join_dirfile(), BLI_path_abs(), calc_sequence(), calc_sequence_disp(), Strip::dir, RenderData::efra, ELEM3, ELEM5, Sequence::enddisp, FILE_MAXDIR, FILE_MAXFILE, ListBase::first, Sequence::flag, FPS, free_proxy_seq(), G, IB_animdeinterlace, IB_rect, Scene::id, IMB_anim_get_duration(), IMB_anim_get_preseek(), IMB_free_anim(), Strip::len, Sequence::len, AUD_SoundInfo::length, Global::main, MEM_allocN_len(), StripElem::name, Main::name, new_tstripdata(), ID::next, openanim(), bSound::playback_handle, Scene::r, Main::scene, Sequence::scene, Sequence::scenenr, SEQ_FILTERY, SEQ_IMAGE, SEQ_META, SEQ_MOVIE, SEQ_SCENE, seq_single_fix(), SEQ_SOUND, seq_tx_set_final_left(), seq_tx_set_final_right(), RenderData::sfra, Sequence::sound, Sequence::startdisp, str, Sequence::strip, Strip::stripdata, and Sequence::type.
Referenced by cut_seq_hard().
Definition at line 3385 of file sequencer.c.
References Editing::act_seq, FALSE, NULL, and seq_give_editing().
Referenced by change_plugin_seq(), change_sequence(), draw_seq_strips(), recurs_del_seq_flag(), reload_image_strip(), seq_active_pair_get(), seq_effect_find_selected(), seq_remap_paths(), seqbase_dupli_recursive(), sequencer_delete_exec(), sequencer_effect_poll(), sequencer_generic_invoke_path__internal(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_reassign_inputs_exec(), sequencer_rendersize_exec(), sequencer_select_active_side_exec(), sequencer_swap_exec(), and sequencer_swap_inputs_exec().
Definition at line 3400 of file sequencer.c.
References FALSE, ListBase::first, Sequence::flag, Sequence::next, NULL, SELECT, seq_active_get(), seq_give_editing(), and Editing::seqbasep.
Referenced by sequencer_swap_data_exec().
Definition at line 3392 of file sequencer.c.
References Editing::act_seq, FALSE, NULL, and seq_give_editing().
Referenced by recurs_del_seq_flag(), select_single_seq(), seq_load_apply(), seqbase_dupli_recursive(), sequencer_add_effect_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_meta_make_exec(), sequencer_meta_toggle_exec(), and sequencer_select_invoke().
Definition at line 399 of file sequencer.c.
References MEM_mallocN(), NULL, seq_build_array(), seq_count(), Editing::seqbase, and Editing::seqbasep.
Referenced by seq_begin(), and seq_stepdata__internal().
| void seq_begin | ( | Editing * | ed, |
| SeqIterator * | iter, | ||
| int | use_pointer | ||
| ) |
Definition at line 424 of file sequencer.c.
References SeqIterator::array, SeqIterator::cur, SeqIterator::seq, seq_array(), SeqIterator::tot, and SeqIterator::valid.
Definition at line 384 of file sequencer.c.
References Sequence::depth, ListBase::first, Sequence::next, and Sequence::seqbase.
Referenced by seq_array().
| int seq_cmp_render_data | ( | const SeqRenderData * | a, |
| const SeqRenderData * | b | ||
| ) |
Definition at line 298 of file sequencer.c.
References SeqRenderData::bmain, SeqRenderData::motion_blur_samples, SeqRenderData::motion_blur_shutter, SeqRenderData::preview_render_size, SeqRenderData::rectx, SeqRenderData::recty, and SeqRenderData::scene.
Referenced by HashCmp().
| static void seq_count | ( | ListBase * | seqbase, |
| int * | tot | ||
| ) | [static] |
Definition at line 372 of file sequencer.c.
References ListBase::first, Sequence::next, and Sequence::seqbase.
Referenced by seq_array().
| void seq_dupe_animdata | ( | Scene * | scene, |
| char * | name_from, | ||
| char * | name_to | ||
| ) |
Definition at line 3311 of file sequencer.c.
References AnimData::action, Scene::adt, BKE_animdata_fix_paths_rename(), BLI_addtail(), BLI_movelisttolist(), copy_fcurve(), bAction::curves, ListBase::first, Scene::id, ListBase::last, FCurve::next, NULL, FCurve::prev, and FCurve::rna_path.
Referenced by apply_unique_name_cb(), and seq_dupli().
| static Sequence* seq_dupli | ( | struct Scene * | scene, |
| struct Scene * | scene_to, | ||
| Sequence * | seq, | ||
| int | dupe_flag | ||
| ) | [static] |
Definition at line 3633 of file sequencer.c.
References StripProxy::anim, Sequence::anim, Sequence::anim_startofs, Strip::color_balance, Strip::crop, Scene::ed, Sequence::enddisp, ListBase::first, get_sequence_effect(), bSound::id, ListBase::last, MEM_dupallocN(), Sequence::name, NULL, Strip::proxy, Sequence::scene_sound, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_DUPE_ANIM, seq_dupe_animdata(), SEQ_DUPE_UNIQUE_NAME, SEQ_EFFECT, SEQ_IMAGE, SEQ_META, SEQ_MOVIE, SEQ_SCENE, SEQ_SOUND, Sequence::seqbase, Editing::seqbase, seqbase_unique_name_recursive(), Sequence::sound, sound_add_scene_sound(), sound_scene_add_scene_sound(), Sequence::startdisp, Sequence::startofs, Sequence::strip, Strip::stripdata, Sequence::tmp, Strip::transform, Sequence::type, and ID::us.
Referenced by seq_dupli_recursive(), and seqbase_dupli_recursive().
| Sequence* seq_dupli_recursive | ( | struct Scene * | scene, |
| struct Scene * | scene_to, | ||
| Sequence * | seq, | ||
| int | dupe_flag | ||
| ) | [read] |
Definition at line 3714 of file sequencer.c.
References BLI_addtail(), ListBase::first, Sequence::next, seq_dupli(), seq_dupli_recursive(), SEQ_META, Sequence::seqbase, and Sequence::type.
Referenced by cut_seq_hard(), cut_seq_soft(), seq_dupli_recursive(), and sequencer_separate_images_exec().
| void seq_end | ( | SeqIterator * | iter | ) |
Definition at line 444 of file sequencer.c.
References SeqIterator::array, MEM_freeN(), and SeqIterator::valid.
Definition at line 3018 of file sequencer.c.
References ELEM5, Sequence::enddisp, FALSE, ListBase::first, Sequence::flag, Sequence::machine, Sequence::next, NULL, SEQ_COLOR, seq_give_editing(), SEQ_IMAGE, SEQ_META, SEQ_MOVIE, SEQ_MUTE, SEQ_SCENE, Editing::seqbasep, Sequence::startdisp, and Sequence::type.
Referenced by stampdata().
Definition at line 3341 of file sequencer.c.
References AnimData::action, Scene::adt, BLI_remlink(), bAction::curves, ListBase::first, free_fcurve(), Sequence::name, FCurve::next, NULL, FCurve::rna_path, and str.
Referenced by seq_free_sequence().
| void seq_free_clipboard | ( | void | ) |
Definition at line 244 of file sequencer.c.
References ListBase::first, ListBase::last, Sequence::next, NULL, and seq_free_clipboard_recursive().
Referenced by sequencer_copy_exec(), and WM_exit().
| static void seq_free_clipboard_recursive | ( | Sequence * | seq_parent | ) | [static] |
Definition at line 232 of file sequencer.c.
References ListBase::first, Sequence::next, NULL, seq_free_sequence(), and Sequence::seqbase.
Referenced by seq_free_clipboard().
| void seq_free_editing | ( | Scene * | scene | ) |
Definition at line 255 of file sequencer.c.
References BLI_remlink(), Scene::ed, ListBase::first, MEM_freeN(), Editing::metastack, NULL, SEQ_BEGIN, SEQ_END, and seq_free_sequence().
Referenced by free_scene().
Definition at line 189 of file sequencer.c.
References Editing::act_seq, Sequence::anim, Scene::ed, ELEM, SeqEffectHandle::free, get_sequence_effect(), IMB_free_anim(), MEM_freeN(), NULL, Sequence::scene_sound, SEQ_EFFECT, seq_free_animdata(), seq_free_strip(), SEQ_SCENE, SEQ_SOUND, Sequence::sound, sound_remove_scene_sound(), Sequence::strip, and Sequence::type.
Referenced by recurs_del_seq_flag(), reload_image_strip(), seq_free_clipboard_recursive(), seq_free_editing(), sequencer_add_effect_strip_exec(), sequencer_meta_separate_exec(), and sequencer_separate_images_exec().
| void seq_free_strip | ( | Strip * | strip | ) |
Definition at line 156 of file sequencer.c.
References StripProxy::anim, Strip::color_balance, Strip::crop, IMB_free_anim(), MEM_freeN(), Strip::proxy, Strip::stripdata, Strip::transform, and Strip::us.
Referenced by reload_image_strip(), and seq_free_sequence().
| static int seq_get_early_out_for_blend_mode | ( | Sequence * | seq | ) | [static] |
Definition at line 2164 of file sequencer.c.
References Sequence::blend_opacity, EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, ELEM, get_sequence_blend(), and seq_must_swap_input_in_blend_mode().
Referenced by seq_render_strip_stack().
Definition at line 221 of file sequencer.c.
References Scene::ed, MEM_callocN(), NULL, Editing::seqbase, and Editing::seqbasep.
Referenced by animchan_sync_fcurve(), boundbox_seq(), change_plugin_seq(), change_sequence(), createTransSeqData(), deselect_all_seq(), draw_timeline_seq(), ed_screen_context(), evaluate_seq_frame(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_edit(), find_next_prev_sequence(), flushTransSeq(), freeSeqData(), give_ibuf_seq(), insert_gap(), no_gaps(), outliner_build_tree(), reload_image_strip(), select_more_less_seq__internal(), select_single_seq(), seq_active_get(), seq_active_pair_get(), seq_active_set(), seq_effect_find_selected(), seq_foreground_frame_get(), seq_remap_paths(), seq_stepdata__internal(), sequencer_add_duplicate_exec(), sequencer_add_effect_strip_exec(), sequencer_add_generic_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_borderselect_exec(), sequencer_copy_exec(), sequencer_cut_exec(), sequencer_delete_exec(), sequencer_deselect_exec(), sequencer_edit_poll(), sequencer_effect_poll(), sequencer_lock_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), sequencer_paste_exec(), sequencer_refresh_all_exec(), sequencer_reload_exec(), sequencer_select_active_side_exec(), sequencer_select_handles_exec(), sequencer_select_inverse_exec(), sequencer_select_invoke(), sequencer_separate_images_exec(), sequencer_snap_exec(), sequencer_swap_exec(), sequencer_unlock_exec(), sequencer_unmute_exec(), sequencer_view_poll(), sequencer_view_selected_exec(), skip_fcurve_selected_data(), sort_seq(), touch_seq_files(), tree_element_active_sequence_dup(), update_changed_seq_and_deps(), and view_ghost_border_exec().
| unsigned int seq_hash_render_data | ( | const SeqRenderData * | a | ) |
Definition at line 352 of file sequencer.c.
References SeqRenderData::bmain, SeqRenderData::motion_blur_samples, SeqRenderData::motion_blur_shutter, SeqRenderData::preview_render_size, SeqRenderData::rectx, SeqRenderData::recty, and SeqRenderData::scene.
Referenced by HashHash().
| void seq_load_apply | ( | Scene * | scene, |
| Sequence * | seq, | ||
| SeqLoadInfo * | seq_load | ||
| ) |
Definition at line 3431 of file sequencer.c.
References BLI_strncpy(), Scene::ed, Sequence::enddisp, SeqLoadInfo::flag, Sequence::name, SeqLoadInfo::name, SELECT, seq_active_set(), SEQ_LOAD_FRAME_ADVANCE, SEQ_LOAD_REPLACE_SEL, SEQ_LOAD_SOUND_CACHE, Editing::seqbase, seqbase_unique_name_recursive(), Sequence::sound, sound_cache(), SeqLoadInfo::start_frame, Sequence::startdisp, SeqLoadInfo::tot_error, and SeqLoadInfo::tot_success.
Referenced by sequencer_add_image_strip(), and sequencer_add_movie_strip().
Definition at line 3213 of file sequencer.c.
References ListBase::first, Sequence::next, NULL, seq_metastrip(), and Sequence::seqbase.
Referenced by do_adjustment_impl(), and seq_metastrip().
| static int seq_must_swap_input_in_blend_mode | ( | Sequence * | seq | ) | [static] |
Definition at line 2150 of file sequencer.c.
References Sequence::blend_mode, ELEM3, FALSE, SEQ_ALPHAOVER, SEQ_ALPHAUNDER, SEQ_OVERDROP, and TRUE.
Referenced by seq_get_early_out_for_blend_mode(), and seq_render_strip_stack().
| SeqRenderData seq_new_render_data | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| int | rectx, | ||
| int | recty, | ||
| int | preview_render_size | ||
| ) |
Definition at line 281 of file sequencer.c.
References SeqRenderData::bmain, SeqRenderData::motion_blur_samples, SeqRenderData::motion_blur_shutter, SeqRenderData::preview_render_size, preview_render_size(), SeqRenderData::rectx, SeqRenderData::recty, and SeqRenderData::scene.
Referenced by do_render_seq(), and draw_image_seq().
| void seq_next | ( | SeqIterator * | iter | ) |
Definition at line 436 of file sequencer.c.
References SeqIterator::array, SeqIterator::cur, SeqIterator::seq, SeqIterator::tot, and SeqIterator::valid.
Definition at line 3288 of file sequencer.c.
References AnimData::action, Scene::adt, FCurve::bezt, bAction::curves, ListBase::first, i, Sequence::name, FCurve::next, NULL, FCurve::rna_path, str, FCurve::totvert, and BezTriple::vec.
Referenced by flushTransSeq(), and seq_translate().
Definition at line 2964 of file sequencer.c.
References Sequence::enddisp, Sequence::machine, and Sequence::startdisp.
Referenced by seq_test_overlap(), and shuffle_seq_time_offset_test().
| static struct ImBuf* seq_proxy_fetch | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| int | cfra | ||
| ) | [static, read] |
Definition at line 1181 of file sequencer.c.
References StripProxy::anim, Sequence::anim_startofs, BLI_exists(), Sequence::flag, give_stripelem_index(), IB_rect, IMB_anim_absolute(), IMB_loadiffname(), ImBuf::name, NULL, openanim(), SeqRenderData::preview_render_size, Strip::proxy, PROXY_MAXFILE, seq_proxy_get_fname(), SEQ_USE_PROXY, SEQ_USE_PROXY_CUSTOM_FILE, and Sequence::strip.
Referenced by seq_render_strip().
| static int seq_proxy_get_fname | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| int | cfra, | ||
| char * | name | ||
| ) | [static] |
Definition at line 1127 of file sequencer.c.
References Sequence::anim_startofs, BLI_join_dirfile(), BLI_path_abs(), BLI_path_frame(), StripProxy::dir, Strip::dir, ELEM, FALSE, StripProxy::file, FILE_MAX, FILE_MAXDIR, Sequence::flag, G, give_stripelem(), give_stripelem_index(), Global::main, StripElem::name, Main::name, SeqRenderData::preview_render_size, Strip::proxy, PROXY_MAXFILE, SEQ_IMAGE, SEQ_MOVIE, SEQ_USE_PROXY_CUSTOM_DIR, SEQ_USE_PROXY_CUSTOM_FILE, Sequence::strip, Strip::stripdata, TRUE, and Sequence::type.
Referenced by seq_proxy_fetch().
Definition at line 119 of file sequencer.c.
References ListBase::first, Sequence::seqbase, and seqbase_recursive_apply().
| static ImBuf* seq_render_effect_strip_impl | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | cfra | ||
| ) | [static] |
Definition at line 1748 of file sequencer.c.
References EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, Sequence::effect_fader, evaluate_fcurve(), SeqEffectHandle::execute, Sequence::flag, SeqEffectHandle::get_default_fac, get_sequence_effect(), i, IB_rect, Scene::id, id_data_find_fcurve(), IMB_allocImBuf(), IMB_dupImBuf(), IMB_freeImBuf(), IMB_refImBuf(), input_have_to_preprocess(), RenderData::mode, NULL, Scene::r, R_FIELDS, SeqRenderData::rectx, SeqRenderData::recty, RNA_Sequence, SeqRenderData::scene, Sequence::seq1, Sequence::seq2, Sequence::seq3, seq_render_strip(), and SEQ_USE_EFFECT_DEFAULT_FADE.
Referenced by seq_render_strip().
| static ImBuf* seq_render_scene_strip_impl | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | nr | ||
| ) | [static] |
Definition at line 1847 of file sequencer.c.
References addzbuffloatImBuf(), Sequence::anim_startofs, BLI_thread_is_main(), SeqRenderData::bmain, Scene::camera, RenderData::cfra, Scene::ed, FALSE, ListBase::first, G, IB_PROFILE_LINEAR_RGB, IB_PROFILE_SRGB, IB_rect, IB_rectfloat, Scene::id, IMB_allocImBuf(), IMB_convert_profile(), ListBase::last, Scene::lay, Scene::markers, ID::name, NULL, ImBuf::profile, Scene::r, R_DOSEQ, RE_AcquireResultImage(), RE_BlenderFrame(), RE_GetRender(), RE_NewRender(), RE_ReleaseResultImage(), ImBuf::rect, RenderResult::rect32, ImBuf::rect_float, RenderResult::rectf, SeqRenderData::rectx, RenderResult::rectx, SeqRenderData::recty, RenderResult::recty, RenderResult::rectz, Global::rendering, RenderData::scemode, SeqRenderData::scene, Sequence::scene, Sequence::scene_camera, scene_camera_switch_update(), scene_update_for_newframe(), RenderData::seq_prev_type, Editing::seqbase, sequencer_view3d_cb, Sequence::sfra, and ImBuf::zbuf_float.
Referenced by seq_render_strip().
| static ImBuf * seq_render_strip | ( | SeqRenderData | context, |
| Sequence * | seq, | ||
| float | cfra | ||
| ) | [static] |
Definition at line 1995 of file sequencer.c.
References Sequence::anim, Sequence::anim_preseek, Sequence::anim_startofs, BKE_animsys_evaluate_all_animation(), BLI_join_dirfile(), BLI_path_abs(), SeqRenderData::bmain, copy_from_ibuf_still(), copy_to_ibuf_still(), Strip::dir, Sequence::effectdata, FALSE, FILE_MAXDIR, FILE_MAXFILE, ListBase::first, Sequence::flag, SpeedControlVars::frameMap, G, give_stripelem(), give_stripelem_index(), i, IB_animdeinterlace, IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE, IB_rect, IMB_allocImBuf(), IMB_anim_absolute(), IMB_anim_set_preseek(), IMB_convert_profile(), IMB_dupImBuf(), IMB_freeImBuf(), imb_freerectImBuf(), IMB_loadiffname(), input_have_to_preprocess(), input_preprocess(), Global::main, StripElem::name, Main::name, NULL, openanim(), StripElem::orig_height, StripElem::orig_width, ImBuf::profile, ImBuf::rect, ImBuf::rect_float, SeqRenderData::rectx, SeqRenderData::recty, SeqRenderData::scene, Sequence::seq1, SEQ_EFFECT, SEQ_FILTERY, SEQ_IMAGE, SEQ_META, SEQ_MOVIE, seq_proxy_fetch(), seq_render_effect_strip_impl(), seq_render_scene_strip_impl(), seq_render_strip_stack(), SEQ_SCENE, SEQ_SPEED, seq_stripelem_cache_get(), seq_stripelem_cache_put(), SEQ_STRIPELEM_IBUF, Sequence::seqbase, sequence_effect_speed_rebuild_map(), Sequence::start, Sequence::strip, Strip::stripdata, TRUE, Sequence::type, ImBuf::x, and ImBuf::y.
Referenced by give_ibuf_seq_direct(), seq_render_effect_strip_impl(), and seq_render_strip_stack().
| static ImBuf * seq_render_strip_stack | ( | SeqRenderData | context, |
| ListBase * | seqbasep, | ||
| float | cfra, | ||
| int | chanshown | ||
| ) | [static] |
Definition at line 2184 of file sequencer.c.
References ADT_RECALC_ANIM, BKE_animdata_from_id(), BKE_animsys_evaluate_animdata(), Sequence::blend_mode, Sequence::blend_opacity, RenderData::cfra, EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, SeqEffectHandle::execute, get_sequence_blend(), get_shown_sequences(), i, IB_rect, Scene::id, IMB_allocImBuf(), IMB_freeImBuf(), MAXSEQ, NULL, Scene::r, SeqRenderData::rectx, SeqRenderData::recty, SEQ_BLEND_REPLACE, seq_get_early_out_for_blend_mode(), seq_must_swap_input_in_blend_mode(), seq_render_strip(), seq_stripelem_cache_get(), seq_stripelem_cache_put(), and SEQ_STRIPELEM_IBUF_COMP.
Referenced by give_ibuf_seq(), give_ibuf_seqbase(), and seq_render_strip().
Definition at line 3196 of file sequencer.c.
References ListBase::first, Sequence::next, NULL, seq_seqbase(), and Sequence::seqbase.
Referenced by do_adjustment_impl(), do_multicam(), and seq_seqbase().
| int seq_single_check | ( | Sequence * | seq | ) |
Definition at line 2849 of file sequencer.c.
References get_sequence_effect_num_inputs(), Sequence::len, SEQ_EFFECT, SEQ_IMAGE, and Sequence::type.
Referenced by draw_seq_strip(), seq_single_fix(), and seq_tx_handle_xlimits().
| void seq_single_fix | ( | Sequence * | seq | ) |
Definition at line 2941 of file sequencer.c.
References left, seq_single_check(), seq_tx_get_final_left(), seq_tx_get_final_right(), seq_tx_set_final_left(), seq_tx_set_final_right(), and Sequence::start.
Referenced by flushTransSeq(), and reload_sequence_new_file().
Definition at line 3000 of file sequencer.c.
References Sequence::anim_startofs, Sequence::enddisp, ListBase::first, Sequence::next, Sequence::scene, Sequence::scene_sound, SEQ_META, seq_sound_init(), Sequence::seqbase, Sequence::sound, sound_add_scene_sound(), sound_scene_add_scene_sound(), Sequence::startdisp, Sequence::startofs, and Sequence::type.
Referenced by seq_sound_init(), and sequencer_paste_exec().
Definition at line 3231 of file sequencer.c.
References Sequence::blend_mode, Sequence::blend_opacity, Sequence::enddisp, Sequence::endofs, Sequence::endstill, get_sequence_effect_num_inputs(), Sequence::len, Sequence::machine, Sequence::name, Sequence::next, Sequence::prev, SEQ_EFFECT, SEQ_SOUND, Sequence::start, Sequence::startdisp, Sequence::startofs, Sequence::startstill, SWAP, and Sequence::type.
Referenced by sequencer_swap_data_exec().
Definition at line 2970 of file sequencer.c.
References ListBase::first, Sequence::next, and seq_overlap().
Referenced by change_plugin_seq(), flushTransSeq(), freeSeqData(), sequencer_add_effect_strip_exec(), sequencer_add_generic_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_separate_images_exec(), sequencer_snap_exec(), sequencer_swap_exec(), and shuffle_seq().
Definition at line 2985 of file sequencer.c.
References calc_sequence_disp(), ListBase::first, Sequence::next, SEQ_META, seq_offset_animdata(), seq_translate(), Sequence::seqbase, Sequence::start, and Sequence::type.
Referenced by seq_translate(), sequencer_paste_exec(), sequencer_snap_exec(), shuffle_seq(), and shuffle_seq_time().
| int seq_tx_get_end | ( | Sequence * | seq | ) |
Definition at line 2800 of file sequencer.c.
References Sequence::len, and Sequence::start.
Referenced by seq_tx_handle_xlimits().
| int seq_tx_get_final_left | ( | Sequence * | seq, |
| int | metaclip | ||
| ) |
Definition at line 2805 of file sequencer.c.
References MAX2, seq_tx_get_final_left(), Sequence::start, Sequence::startofs, Sequence::startstill, and Sequence::tmp.
Referenced by draw_seq_strip(), printf_strip(), seq_single_fix(), seq_tx_get_final_left(), seq_tx_handle_xlimits(), SeqToTransData(), SeqTransInfo(), and sequencer_separate_images_exec().
| int seq_tx_get_final_right | ( | Sequence * | seq, |
| int | metaclip | ||
| ) |
Definition at line 2815 of file sequencer.c.
References Sequence::endofs, Sequence::endstill, Sequence::len, MIN2, seq_tx_get_final_right(), Sequence::start, and Sequence::tmp.
Referenced by draw_seq_strip(), printf_strip(), seq_single_fix(), seq_tx_get_final_right(), seq_tx_handle_xlimits(), SeqToTransData(), SeqTransInfo(), and sequencer_separate_images_exec().
| int seq_tx_get_start | ( | Sequence * | seq | ) |
Definition at line 2797 of file sequencer.c.
References Sequence::start.
Referenced by seq_tx_handle_xlimits().
| void seq_tx_handle_xlimits | ( | Sequence * | seq, |
| int | leftflag, | ||
| int | rightflag | ||
| ) |
Definition at line 2898 of file sequencer.c.
References Sequence::endstill, seq_single_check(), SEQ_SOUND, seq_tx_get_end(), seq_tx_get_final_left(), seq_tx_get_final_right(), seq_tx_get_start(), seq_tx_set_final_left(), seq_tx_set_final_right(), Sequence::startstill, and Sequence::type.
Referenced by flushTransSeq(), and sequencer_snap_exec().
| void seq_tx_set_final_left | ( | Sequence * | seq, |
| int | val | ||
| ) |
Definition at line 2825 of file sequencer.c.
References TNT::abs(), Sequence::startofs, and Sequence::startstill.
Referenced by flushTransSeq(), reload_sequence_new_file(), seq_single_fix(), seq_tx_handle_xlimits(), and sequencer_snap_exec().
| void seq_tx_set_final_right | ( | Sequence * | seq, |
| int | val | ||
| ) |
Definition at line 2836 of file sequencer.c.
References TNT::abs(), Sequence::endofs, Sequence::endstill, and Sequence::start.
Referenced by flushTransSeq(), reload_sequence_new_file(), seq_single_fix(), seq_tx_handle_xlimits(), sequencer_add_effect_strip_exec(), and sequencer_snap_exec().
| int seq_tx_test | ( | Sequence * | seq | ) |
Definition at line 2959 of file sequencer.c.
References get_sequence_effect_num_inputs(), SEQ_EFFECT, and Sequence::type.
Referenced by find_nearest_seq(), flushTransSeq(), and sequencer_snap_exec().
Definition at line 3182 of file sequencer.c.
References ListBase::last, Editing::metastack, NULL, MetaStack::parseq, seq_update_muting_recursive(), and Editing::seqbase.
Referenced by lib_link_scene(), sequencer_add_generic_strip_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), and sequencer_unmute_exec().
| static void seq_update_muting_recursive | ( | Scene * | scene, |
| ListBase * | seqbasep, | ||
| Sequence * | metaseq, | ||
| int | mute | ||
| ) | [static] |
Definition at line 3156 of file sequencer.c.
References ELEM, ListBase::first, Sequence::flag, Sequence::next, Sequence::scene_sound, SEQ_META, SEQ_MUTE, SEQ_SCENE, SEQ_SOUND, Sequence::seqbase, sound_mute_scene_sound(), and Sequence::type.
Referenced by seq_update_muting().
Definition at line 3147 of file sequencer.c.
References Sequence::anim_startofs, Sequence::enddisp, Sequence::scene_sound, sound_move_scene_sound(), Sequence::startdisp, and Sequence::startofs.
Referenced by calc_sequence_disp().
Definition at line 539 of file sequencer.c.
References ELEM, Sequence::endofs, ListBase::first, Sequence::len, Sequence::next, Sequence::scene_sound, SEQ_META, SEQ_SCENE, SEQ_SOUND, Sequence::seqbase, sound_move_scene_sound(), Sequence::start, Sequence::startofs, and Sequence::type.
Referenced by calc_sequence().
| void seqbase_dupli_recursive | ( | Scene * | scene, |
| Scene * | scene_to, | ||
| ListBase * | nseqbase, | ||
| ListBase * | seqbase, | ||
| int | dupe_flag | ||
| ) |
Definition at line 3729 of file sequencer.c.
References BLI_addtail(), ListBase::first, Sequence::flag, Sequence::next, NULL, SELECT, seq_active_get(), seq_active_set(), SEQ_ALLSEL, SEQ_DUPE_ALL, SEQ_DUPE_CONTEXT, seq_dupli(), SEQ_LEFTSEL, SEQ_LOCK, SEQ_META, SEQ_RIGHTSEL, Sequence::seqbase, seqbase_dupli_recursive(), Sequence::tmp, and Sequence::type.
Referenced by copy_scene(), seqbase_dupli_recursive(), sequencer_add_duplicate_exec(), sequencer_copy_exec(), and sequencer_paste_exec().
| int seqbase_isolated_sel_check | ( | ListBase * | seqbase | ) |
Definition at line 2858 of file sequencer.c.
References FALSE, ListBase::first, Sequence::flag, Sequence::next, SELECT, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_EFFECT, TRUE, and Sequence::type.
Referenced by sequencer_copy_exec(), and sequencer_meta_make_exec().
| int seqbase_recursive_apply | ( | ListBase * | seqbase, |
| int(*)(Sequence *seq, void *) | apply_func, | ||
| void * | arg | ||
| ) |
Definition at line 109 of file sequencer.c.
References ListBase::first, Sequence::next, and seq_recursive_apply().
| static void seqbase_unique_name | ( | ListBase * | seqbasep, |
| SeqUniqueInfo * | sui | ||
| ) | [static] |
Definition at line 835 of file sequencer.c.
References SeqUniqueInfo::count, ListBase::first, SeqUniqueInfo::match, Sequence::name, SeqUniqueInfo::name_dest, SeqUniqueInfo::name_src, Sequence::next, and SeqUniqueInfo::seq.
Referenced by seqbase_unique_name_recursive(), and seqbase_unique_name_recursive_cb().
Definition at line 853 of file sequencer.c.
References SeqUniqueInfo::count, dot(), SeqUniqueInfo::match, Sequence::name, SeqUniqueInfo::name_dest, SeqUniqueInfo::name_src, SeqUniqueInfo::seq, seqbase_recursive_apply(), seqbase_unique_name(), and seqbase_unique_name_recursive_cb().
Referenced by apply_unique_name_cb(), do_versions_seq_unique_name_all_strips(), seq_dupli(), seq_load_apply(), sequencer_add_effect_strip_exec(), sequencer_add_movie_strip(), sequencer_add_scene_strip_exec(), and sequencer_meta_make_exec().
| static int seqbase_unique_name_recursive_cb | ( | Sequence * | seq, |
| void * | arg_pt | ||
| ) | [static] |
Definition at line 846 of file sequencer.c.
References ListBase::first, Sequence::seqbase, and seqbase_unique_name().
Referenced by seqbase_unique_name_recursive().
| Sequence* sequencer_add_image_strip | ( | bContext * | C, |
| ListBase * | seqbasep, | ||
| SeqLoadInfo * | seq_load | ||
| ) | [read] |
Definition at line 3481 of file sequencer.c.
References alloc_sequence(), Sequence::blend_mode, BLI_strncpy(), SeqLoadInfo::channel, CTX_data_scene(), Strip::dir, Strip::len, Sequence::len, SeqLoadInfo::len, MEM_callocN(), SeqLoadInfo::path, SEQ_CROSS, SEQ_IMAGE, seq_load_apply(), SeqLoadInfo::start_frame, Sequence::strip, Strip::stripdata, Sequence::type, and Strip::us.
Referenced by sequencer_add_image_strip_exec().
| Sequence* sequencer_add_movie_strip | ( | bContext * | C, |
| ListBase * | seqbasep, | ||
| SeqLoadInfo * | seq_load | ||
| ) | [read] |
Definition at line 3572 of file sequencer.c.
References alloc_sequence(), BLI_path_abs(), BLI_split_dirfile(), BLI_strncpy(), calc_sequence_disp(), SeqLoadInfo::channel, CTX_data_scene(), Strip::dir, Scene::ed, SeqLoadInfo::flag, G, IB_rect, IMB_anim_get_duration(), IMB_anim_get_preseek(), Strip::len, Global::main, MEM_callocN(), StripElem::name, Main::name, SeqLoadInfo::name, NULL, openanim(), SeqLoadInfo::path, SEQ_CROSS, seq_load_apply(), SEQ_LOAD_MOVIE_SOUND, SEQ_MOVIE, SEQ_NAME_MAXSTR, Editing::seqbase, seqbase_unique_name_recursive(), sequencer_add_sound_strip(), SeqLoadInfo::start_frame, Strip::stripdata, and Strip::us.
Referenced by sequencer_add_movie_strip_exec().
| Sequence* sequencer_add_sound_strip | ( | bContext * | C, |
| ListBase * | seqbasep, | ||
| SeqLoadInfo * | seq_load | ||
| ) | [read] |
Definition at line 3563 of file sequencer.c.
References NULL.
Referenced by sequencer_add_movie_strip(), and sequencer_add_sound_strip_exec().
Definition at line 3041 of file sequencer.c.
References calc_sequence(), Sequence::enddisp, ListBase::first, Sequence::machine, MAX2, MAXSEQ, Sequence::next, seq_test_overlap(), seq_translate(), Sequence::start, and Sequence::startdisp.
Referenced by change_plugin_seq(), freeSeqData(), sequencer_add_effect_strip_exec(), sequencer_add_generic_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_separate_images_exec(), sequencer_snap_exec(), and sequencer_swap_exec().
Definition at line 3125 of file sequencer.c.
References ListBase::first, Sequence::flag, Sequence::next, SEQ_OVERLAP, seq_translate(), shuffle_seq_time_offset(), and Sequence::tmp.
Referenced by freeSeqData().
Definition at line 3100 of file sequencer.c.
References calc_sequence_disp(), Sequence::enddisp, ListBase::first, Sequence::next, shuffle_seq_time_offset_test(), Sequence::startdisp, and Sequence::tmp.
Referenced by shuffle_seq_time().
| static int shuffle_seq_time_offset_test | ( | ListBase * | seqbasep, |
| char | dir | ||
| ) | [static] |
Definition at line 3078 of file sequencer.c.
References Sequence::enddisp, ListBase::first, MAX2, MIN2, Sequence::next, seq_overlap(), Sequence::startdisp, and Sequence::tmp.
Referenced by shuffle_seq_time_offset().
| void sort_seq | ( | Scene * | scene | ) |
Definition at line 757 of file sequencer.c.
References BLI_addtail(), BLI_insertlinkbefore(), BLI_movelisttolist(), BLI_remlink(), FALSE, ListBase::first, ListBase::last, Sequence::machine, Sequence::next, NULL, SEQ_EFFECT, seq_give_editing(), Editing::seqbasep, and Sequence::type.
Referenced by freeSeqData(), sequencer_add_effect_strip_exec(), sequencer_add_generic_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_cut_exec(), sequencer_meta_separate_exec(), sequencer_separate_images_exec(), sequencer_snap_exec(), and sequencer_swap_exec().
| void update_changed_seq_and_deps | ( | Scene * | scene, |
| Sequence * | changed_seq, | ||
| int | len_change, | ||
| int | ibuf_change | ||
| ) |
Definition at line 2780 of file sequencer.c.
References FALSE, ListBase::first, Sequence::next, NULL, seq_give_editing(), Editing::seqbase, and update_changed_seq_recurs().
Referenced by change_sequence(), del_seq_find_replace_recurs(), reload_image_strip(), sequencer_add_effect_strip_exec(), sequencer_reassign_inputs_exec(), sequencer_reload_exec(), and sequencer_swap_inputs_exec().
| static int update_changed_seq_recurs | ( | Scene * | scene, |
| Sequence * | seq, | ||
| Sequence * | changed_seq, | ||
| int | len_change, | ||
| int | ibuf_change | ||
| ) | [static] |
Definition at line 2737 of file sequencer.c.
References calc_sequence(), ListBase::first, free_anim_seq(), Sequence::next, NULL, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_MOVIE, SEQ_SPEED, Sequence::seqbase, sequence_effect_speed_rebuild_map(), TRUE, and Sequence::type.
Referenced by update_changed_seq_and_deps().
| static int video_seq_is_rendered | ( | Sequence * | seq | ) | [static] |
Definition at line 1075 of file sequencer.c.
References Sequence::flag, SEQ_MUTE, SEQ_SOUND, and Sequence::type.
Referenced by get_shown_sequences().
pthread_cond_t frame_done_cond = PTHREAD_COND_INITIALIZER [static] |
Definition at line 2360 of file sequencer.c.
pthread_mutex_t frame_done_lock = PTHREAD_MUTEX_INITIALIZER [static] |
Definition at line 2359 of file sequencer.c.
int monoton_cfra = 0 [static] |
Definition at line 2364 of file sequencer.c.
ListBase prefetch_done [static] |
Definition at line 2350 of file sequencer.c.
ListBase prefetch_wait [static] |
Definition at line 2349 of file sequencer.c.
pthread_mutex_t queue_lock = PTHREAD_MUTEX_INITIALIZER [static] |
Definition at line 2352 of file sequencer.c.
ListBase running_threads [static] |
Definition at line 2348 of file sequencer.c.
volatile int seq_last_given_monoton_cfra = 0 [static] |
Definition at line 2363 of file sequencer.c.
volatile int seq_thread_shutdown = TRUE [static] |
Definition at line 2362 of file sequencer.c.
Definition at line 97 of file sequencer.c.
Referenced by sequencer_copy_exec(), and sequencer_paste_exec().
Definition at line 98 of file sequencer.c.
Referenced by sequencer_copy_exec(), and sequencer_paste_exec().
Definition at line 99 of file sequencer.c.
Referenced by ED_spacetype_sequencer(), and seq_render_scene_strip_impl().
pthread_cond_t wakeup_cond = PTHREAD_COND_INITIALIZER [static] |
Definition at line 2354 of file sequencer.c.
pthread_mutex_t wakeup_lock = PTHREAD_MUTEX_INITIALIZER [static] |
Definition at line 2353 of file sequencer.c.