Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.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_util.h"
#include "BLI_session_uuid.h"
#include "BLI_string.h"
#include <unistd.h>
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_main.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_metadata.h"
#include "SEQ_iterator.h"
#include "SEQ_proxy.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "multiview.h"
#include "proxy.h"
#include "render.h"
#include "sequencer.h"
#include "strip_time.h"
#include "utils.h"
Go to the source code of this file.
Classes | |
struct | SeqIndexBuildContext |
Typedefs | |
typedef struct SeqIndexBuildContext | SeqIndexBuildContext |
typedef struct SeqIndexBuildContext SeqIndexBuildContext |
Definition at line 595 of file proxy.c.
References StripProxy::anim, IMB_free_anim(), NULL, Strip::proxy, and Sequence::strip.
Referenced by SEQ_add_reload_new_file().
bool SEQ_can_use_proxy | ( | const struct SeqRenderData * | context, |
Sequence * | seq, | ||
int | psize | ||
) |
Definition at line 191 of file proxy.c.
References StripProxy::build_size_flags, blender::compositor::context, Sequence::flag, IMB_PROXY_NONE, NULL, 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 255 of file proxy.c.
References BLI_exists(), BLI_make_existing_file(), blender::compositor::context, ImBuf::foptions, ImBuf::ftype, IB_rect, IB_zbuf, IB_zbuffloat, IMB_dupImBuf(), IMB_freeImBuf(), IMB_FTYPE_JPG, IMB_metadata_copy(), IMB_saveiff(), IMB_scalefastImBuf(), ImBuf::planes, Strip::proxy, PROXY_MAXFILE, ImbFormatOptions::quality, StripProxy::quality, scene, seq_proxy_get_fname(), 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 356 of file proxy.c.
References Sequence::anims, BKE_scene_multiview_num_views_get(), BLI_listbase_count(), Scene::r, R_IMF_VIEWS_INDIVIDUAL, R_IMF_VIEWS_MULTIVIEW, R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, RenderData::scemode, scene, 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 201 of file proxy.c.
References StripAnim::anim, StripProxy::anim, Sequence::anim_startofs, Sequence::anims, BLI_exists(), Strip::colorspace_settings, blender::compositor::context, ListBase::first, IB_rect, IMB_anim_absolute(), IMB_anim_index_get_frame_index(), IMB_loadiffname(), IMB_PROXY_NONE, IMB_TC_NONE, ColorManagedColorspaceSettings::name, NULL, openanim(), Strip::proxy, PROXY_MAXFILE, SEQ_can_use_proxy(), seq_give_frame_index(), seq_imbuf_assign_spaces(), seq_open_anim_file(), seq_proxy_get_fname(), 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 99 of file proxy.c.
References BKE_main_blendfile_path_from_global(), BLI_join_dirfile(), BLI_path_abs(), BLI_snprintf(), BLI_strncpy(), StripProxy::dir, StripProxy::file, FILE_MAXFILE, NULL, Strip::proxy, PROXY_MAXFILE, and Sequence::strip.
Referenced by seq_proxy_get_fname(), and seq_render_movie_strip_custom_file_proxy().
|
static |
Definition at line 126 of file proxy.c.
References BKE_main_blendfile_path_from_global(), BLI_path_abs(), BLI_snprintf(), BLI_strncpy(), StripProxy::dir, Strip::dir, NULL, Strip::proxy, Editing::proxy_dir, PROXY_MAXFILE, Editing::proxy_storage, scene, SEQ_EDIT_PROXY_DIR_STORAGE, SEQ_editing_get(), seq_proxy_get_custom_file_fname(), SEQ_render_give_stripelem(), SEQ_rendersize_to_scale_factor(), SEQ_STORAGE_PROXY_CUSTOM_DIR, SEQ_STORAGE_PROXY_CUSTOM_FILE, StripProxy::storage, and Sequence::strip.
Referenced by seq_proxy_build_frame(), and seq_proxy_fetch().
Definition at line 584 of file proxy.c.
References BLI_path_append(), BLI_strncpy(), FILE_MAX, FILE_MAXFILE, IMB_anim_get_fname(), and IMB_anim_set_index_dir().
Referenced by seq_open_anim_file().
|
static |
Returns whether the file this context would read from even exist, if not, don't create the context
Definition at line 317 of file proxy.c.
References BKE_main_blendfile_path_from_global(), BKE_scene_multiview_view_prefix_get(), BLI_access(), BLI_join_dirfile(), BLI_path_abs(), Strip::dir, FILE_MAX, StripElem::name, NULL, Scene::r, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, RenderData::scemode, scene, seq_multiview_name(), SEQ_TYPE_IMAGE, str, Sequence::strip, Strip::stripdata, Sequence::type, and Sequence::views_format.
Referenced by SEQ_proxy_rebuild_context().
Definition at line 390 of file proxy.c.
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, |
short * | stop, | ||
short * | do_update, | ||
float * | progress | ||
) |
Definition at line 484 of file proxy.c.
References BKE_render_resolution(), blender::compositor::context, Sequence::flag, float(), G, height, IMB_anim_index_rebuild(), IMB_PROXY_100, IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75, SeqRenderData::is_proxy_render, Strip::proxy, Scene::r, scene, seq_proxy_build_frame(), SEQ_render_new_render_data(), seq_render_state_init(), 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, StripProxy::storage, Sequence::strip, Sequence::type, SeqRenderData::view_id, and width.
Referenced by proxy_startjob(), and sequencer_rebuild_proxy_exec().
bool SEQ_proxy_rebuild_context | ( | Main * | bmain, |
Depsgraph * | depsgraph, | ||
Scene * | scene, | ||
Sequence * | seq, | ||
struct GSet * | file_list, | ||
ListBase * | queue, | ||
bool | build_only_on_bad_performance | ||
) |
Definition at line 401 of file proxy.c.
References StripAnim::anim, Sequence::anims, BLI_addtail(), BLI_findlink(), BLI_genericNodeN(), StripProxy::build_flags, StripProxy::build_size_flags, StripProxy::build_tc_flags, blender::compositor::context, depsgraph, Sequence::flag, IMB_anim_index_rebuild_context(), MEM_callocN, MEM_freeN, NULL, Strip::proxy, StripProxy::quality, queue, 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_uuid, 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 554 of file proxy.c.
References StripAnim::anim, blender::compositor::context, IMB_anim_index_rebuild_finish(), IMB_close_anim_proxies(), MEM_freeN, StripAnim::next, NULL, and seq_free_sequence_recurse().
Referenced by proxy_endjob(), and sequencer_rebuild_proxy_exec().
Definition at line 571 of file proxy.c.
References Sequence::flag, NULL, 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().
int SEQ_rendersize_to_proxysize | ( | int | render_size | ) |
Definition at line 71 of file proxy.c.
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().
double SEQ_rendersize_to_scale_factor | ( | int | render_size | ) |
Definition at line 86 of file proxy.c.
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_fname(), sequencer_ibuf_get(), and sequencer_preprocess_transform_crop().