|
Blender V4.3
|
#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) |
| ImBuf * | seq_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) |
| 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().
| bool SEQ_can_use_proxy | ( | const SeqRenderData * | context, |
| const Sequence * | seq, | ||
| int | psize ) |
Definition at line 187 of file proxy.cc.
References StripProxy::build_size_flags, Sequence::flag, IMB_PROXY_NONE, Strip::proxy, SEQ_USE_PROXY, and Sequence::strip.
Referenced by seq_proxy_fetch(), seq_render_movie_strip_view(), and seq_render_strip().
|
static |
Definition at line 254 of file proxy.cc.
References BLI_exists(), BLI_file_ensure_parent_dir_exists(), ImBuf::foptions, ImBuf::ftype, IB_rect, IMB_dupImBuf(), IMB_freeImBuf(), IMB_FTYPE_JPG, IMB_metadata_copy(), IMB_saveiff(), IMB_scale(), Nearest, ImBuf::planes, Strip::proxy, PROXY_MAXFILE, ImbFormatOptions::quality, StripProxy::quality, seq_proxy_get_filepath(), seq_render_strip(), state, Sequence::strip, ImBuf::x, and ImBuf::y.
Referenced by SEQ_proxy_rebuild().
This returns the maximum possible number of required contexts
Definition at line 375 of file proxy.cc.
References Sequence::anims, BKE_scene_multiview_num_views_get(), BLI_listbase_count(), R_IMF_VIEWS_INDIVIDUAL, R_IMF_VIEWS_MULTIVIEW, R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, SEQ_TYPE_IMAGE, SEQ_TYPE_MOVIE, Sequence::type, and Sequence::views_format.
Referenced by SEQ_proxy_rebuild_context().
| ImBuf * seq_proxy_fetch | ( | const SeqRenderData * | context, |
| Sequence * | seq, | ||
| int | timeline_frame ) |
Definition at line 197 of file proxy.cc.
References StripAnim::anim, StripProxy::anim, Sequence::anim_startofs, Sequence::anims, BLI_exists(), Strip::colorspace_settings, ListBase::first, IB_rect, IMB_anim_absolute(), IMB_anim_index_get_frame_index(), IMB_loadiffname(), IMB_PROXY_NONE, IMB_TC_NONE, ColorManagedColorspaceSettings::name, openanim(), Strip::proxy, PROXY_MAXFILE, round_fl_to_int(), SEQ_can_use_proxy(), SEQ_give_frame_index(), seq_imbuf_assign_spaces(), seq_open_anim_file(), seq_proxy_get_filepath(), SEQ_rendersize_to_proxysize(), SEQ_STORAGE_PROXY_CUSTOM_FILE, StripProxy::storage, Sequence::strip, and StripProxy::tc.
Referenced by seq_render_image_strip().
Definition at line 95 of file proxy.cc.
References BKE_main_blendfile_path_from_global(), BLI_path_abs(), BLI_path_join, BLI_snprintf(), BLI_strncpy(), StripProxy::dirpath, FILE_MAX, StripProxy::filename, Strip::proxy, PROXY_MAXFILE, SNPRINTF, and Sequence::strip.
Referenced by seq_proxy_get_filepath(), and seq_render_movie_strip_custom_file_proxy().
|
static |
Definition at line 123 of file proxy.cc.
References BKE_main_blendfile_path_from_global(), BLI_path_abs(), BLI_snprintf(), Strip::dirpath, StripProxy::dirpath, Strip::proxy, Editing::proxy_dir, PROXY_MAXFILE, Editing::proxy_storage, SEP_STR, SEQ_EDIT_PROXY_DIR_STORAGE, SEQ_editing_get(), seq_proxy_get_custom_file_filepath(), SEQ_render_give_stripelem(), SEQ_rendersize_to_scale_factor(), SEQ_STORAGE_PROXY_CUSTOM_DIR, SEQ_STORAGE_PROXY_CUSTOM_FILE, SNPRINTF, StripProxy::storage, Sequence::strip, and STRNCPY.
Referenced by seq_proxy_build_frame(), and seq_proxy_fetch().
| void seq_proxy_index_dir_set | ( | ImBufAnim * | anim, |
| const char * | base_dir ) |
Definition at line 604 of file proxy.cc.
References BLI_path_join, dirname(), FILE_MAX, FILE_MAXFILE, IMB_anim_get_filename(), and IMB_anim_set_index_dir().
Referenced by index_dir_set().
|
static |
Returns whether the file this context would read from even exist, if not, don't create the context.
| prefix_vars | Stores prefix variables for reuse, these variables are for internal use, the caller must not depend on them. |
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().
Definition at line 409 of file proxy.cc.
References StripProxy::build_flags, StripProxy::build_size_flags, IMB_anim_proxy_get_existing(), Strip::proxy, SEQ_PROXY_SKIP_EXISTING, and Sequence::strip.
Referenced by SEQ_proxy_rebuild_context().
| void SEQ_proxy_rebuild | ( | SeqIndexBuildContext * | context, |
| wmJobWorkerStatus * | worker_status ) |
Definition at line 506 of file proxy.cc.
References BKE_render_resolution(), wmJobWorkerStatus::do_update, Sequence::flag, float, G, IMB_anim_index_rebuild(), IMB_PROXY_100, IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75, SeqRenderData::is_proxy_render, wmJobWorkerStatus::progress, Strip::proxy, seq_proxy_build_frame(), SEQ_render_new_render_data(), SEQ_STORAGE_PROXY_CUSTOM_FILE, SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_TYPE_MOVIE, SEQ_USE_PROXY, SeqRenderData::skip_cache, state, wmJobWorkerStatus::stop, StripProxy::storage, Sequence::strip, Sequence::type, and SeqRenderData::view_id.
Referenced by proxy_startjob(), and sequencer_rebuild_proxy_exec().
| bool SEQ_proxy_rebuild_context | ( | Main * | bmain, |
| Depsgraph * | depsgraph, | ||
| Scene * | scene, | ||
| Sequence * | seq, | ||
| GSet * | file_list, | ||
| ListBase * | queue, | ||
| bool | build_only_on_bad_performance ) |
Definition at line 420 of file proxy.cc.
References StripAnim::anim, Sequence::anims, BLI_addtail(), BLI_findlink(), BLI_genericNodeN(), StripProxy::build_flags, StripProxy::build_size_flags, StripProxy::build_tc_flags, depsgraph, Sequence::flag, IMB_anim_index_rebuild_context(), MEM_callocN, MEM_freeN(), Strip::proxy, StripProxy::quality, Sequence::runtime, scene, seq_open_anim_file(), seq_proxy_context_count(), seq_proxy_multiview_context_invalid(), seq_proxy_need_rebuild(), SEQ_PROXY_SKIP_EXISTING, SEQ_relations_sequence_free_anim(), SEQ_sequence_dupli_recursive(), SEQ_TYPE_MOVIE, SEQ_USE_PROXY, SequenceRuntime::session_uid, Sequence::strip, and Sequence::type.
Referenced by seq_build_proxy(), seq_proxy_build_job(), and sequencer_rebuild_proxy_exec().
| void SEQ_proxy_rebuild_finish | ( | SeqIndexBuildContext * | context, |
| bool | stop ) |
Definition at line 576 of file proxy.cc.
References IMB_anim_index_rebuild_finish(), IMB_close_anim_proxies(), LISTBASE_FOREACH, MEM_freeN(), and seq_free_sequence_recurse().
Referenced by proxy_endjob(), and sequencer_rebuild_proxy_exec().
| void SEQ_proxy_set | ( | Sequence * | seq, |
| bool | value ) |
Definition at line 591 of file proxy.cc.
References Sequence::flag, Strip::proxy, seq_strip_proxy_alloc(), SEQ_USE_PROXY, and Sequence::strip.
Referenced by seq_build_proxy(), seq_read_data_cb(), and sequencer_enable_proxies_exec().
Definition at line 67 of file proxy.cc.
References IMB_PROXY_100, IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75, IMB_PROXY_NONE, SEQ_RENDER_SIZE_PROXY_100, SEQ_RENDER_SIZE_PROXY_25, SEQ_RENDER_SIZE_PROXY_50, and SEQ_RENDER_SIZE_PROXY_75.
Referenced by seq_convert_transform_crop(), seq_convert_transform_crop_2(), seq_get_proxy_size_flags(), seq_proxy_fetch(), seq_render_movie_strip_view(), seq_render_movieclip_strip(), and seq_render_strip().
Definition at line 82 of file proxy.cc.
References SEQ_RENDER_SIZE_PROXY_25, SEQ_RENDER_SIZE_PROXY_50, and SEQ_RENDER_SIZE_PROXY_75.
Referenced by do_text_effect(), do_transform_effect(), seq_convert_transform_crop(), seq_convert_transform_crop_2(), seq_proxy_get_filepath(), sequencer_ibuf_get(), and sequencer_preprocess_transform_crop().