|
Blender
V2.93
|
#include <time.h>#include "MEM_guardedalloc.h"#include "DNA_anim_types.h"#include "DNA_mask_types.h"#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "DNA_space_types.h"#include "BLI_linklist.h"#include "BLI_listbase.h"#include "BLI_path_util.h"#include "BKE_anim_data.h"#include "BKE_animsys.h"#include "BKE_fcurve.h"#include "BKE_global.h"#include "BKE_image.h"#include "BKE_layer.h"#include "BKE_lib_id.h"#include "BKE_main.h"#include "BKE_mask.h"#include "BKE_movieclip.h"#include "BKE_scene.h"#include "BKE_sequencer_offscreen.h"#include "DEG_depsgraph.h"#include "DEG_depsgraph_query.h"#include "IMB_colormanagement.h"#include "IMB_imbuf.h"#include "IMB_imbuf_types.h"#include "IMB_metadata.h"#include "RNA_access.h"#include "RE_engine.h"#include "RE_pipeline.h"#include "SEQ_effects.h"#include "SEQ_modifier.h"#include "SEQ_proxy.h"#include "SEQ_render.h"#include "SEQ_sequencer.h"#include "SEQ_utils.h"#include "effects.h"#include "image_cache.h"#include "multiview.h"#include "prefetch.h"#include "proxy.h"#include "render.h"#include "strip_time.h"#include "utils.h"Go to the source code of this file.
Classes | |
| struct | ImageTransformThreadInitData |
| struct | ImageTransformThreadData |
| struct | RenderEffectInitData |
| struct | RenderEffectThread |
Variables | |
| static ThreadMutex | seq_render_mutex = BLI_MUTEX_INITIALIZER |
| SequencerDrawView | sequencer_view3d_fn = NULL |
Preprocessing and effects | |
| typedef struct ImageTransformThreadInitData | ImageTransformThreadInitData |
| typedef struct ImageTransformThreadData | ImageTransformThreadData |
| typedef struct RenderEffectInitData | RenderEffectInitData |
| typedef struct RenderEffectThread | RenderEffectThread |
| static bool | sequencer_use_transform (const Sequence *seq) |
| static bool | sequencer_use_crop (const Sequence *seq) |
| static bool | seq_input_have_to_preprocess (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame)) |
| static bool | seq_need_scale_to_render_size (const Sequence *seq, bool is_proxy_image) |
| static void | sequencer_image_crop_transform_init (void *handle_v, int start_line, int tot_line, void *init_data_v) |
| static void * | sequencer_image_crop_transform_do_thread (void *data_v) |
| static void | multibuf (ImBuf *ibuf, const float fmul) |
| static ImBuf * | input_preprocess (const SeqRenderData *context, Sequence *seq, float timeline_frame, ImBuf *ibuf, const bool is_proxy_image) |
| static ImBuf * | seq_render_preprocess_ibuf (const SeqRenderData *context, Sequence *seq, ImBuf *ibuf, float timeline_frame, bool use_preprocess, const bool is_proxy_image) |
| static void | render_effect_execute_init_handle (void *handle_v, int start_line, int tot_line, void *init_data_v) |
| static void * | render_effect_execute_do_thread (void *thread_data_v) |
| ImBuf * | seq_render_effect_execute_threaded (struct SeqEffectHandle *sh, const SeqRenderData *context, Sequence *seq, float timeline_frame, float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3) |
| static ImBuf * | seq_render_effect_strip_impl (const SeqRenderData *context, SeqRenderState *state, Sequence *seq, float timeline_frame) |
| typedef struct ImageTransformThreadData ImageTransformThreadData |
| typedef struct ImageTransformThreadInitData ImageTransformThreadInitData |
| typedef struct RenderEffectInitData RenderEffectInitData |
| typedef struct RenderEffectThread RenderEffectThread |
|
static |
Used for meta-strips & scenes with SEQ_SCENE_STRIPS flag set.
Definition at line 1647 of file render.c.
References BKE_animsys_evaluate_all_animation(), BLI_listbase_is_empty(), context, Sequence::flag, NULL, Sequence::scene, SEQ_get_seqbase_from_sequence(), seq_render_strip_stack(), SEQ_SCENE_STRIPS, and state.
Referenced by do_render_strip_uncached().
|
static |
Definition at line 1679 of file render.c.
References BLI_linklist_index(), context, do_render_strip_seqbase(), Sequence::flag, IMB_dupImBuf(), IMB_freeImBuf(), LinkNode::next, NULL, ImBuf::rect_float, Sequence::scene, SeqRenderData::scene, seq_give_frame_index(), seq_imbuf_assign_spaces(), seq_imbuf_to_sequencer_space(), seq_render_effect_strip_impl(), seq_render_image_strip(), seq_render_mask_strip(), seq_render_movie_strip(), seq_render_movieclip_strip(), seq_render_scene_strip(), SEQ_SCENE_STRIPS, SEQ_TYPE_EFFECT, SEQ_TYPE_IMAGE, SEQ_TYPE_MASK, SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_SCENE, SeqRenderData::skip_cache, state, type, and Sequence::type.
Referenced by seq_render_strip().
|
static |
Definition at line 262 of file render.c.
References BLI_linklist_append_alloca, LinkNodePair::list, LISTBASE_FOREACH, Sequence::machine, MAXSEQ, LinkNode::next, NULL, SEQ_MUTE, SEQ_TYPE_EFFECT, and Sequence::type.
Referenced by seq_get_shown_sequences(), and SEQ_render_evaluate_frame().
|
static |
Definition at line 621 of file render.c.
References Sequence::blend_mode, Sequence::blend_opacity, context, ELEM, ListBase::first, Sequence::flag, float(), IB_rect, IB_rectfloat, IMB_allocImBuf(), IMB_filtery(), IMB_flipx(), IMB_flipy(), IMB_freeImBuf(), imb_freerectImBuf(), IMB_makeSingleUser(), IMB_metadata_copy(), IMB_processor_apply_threaded(), IMB_saturation(), init_data(), Sequence::modifiers, mul(), Sequence::mul, multibuf(), NULL, Scene::r, ImBuf::rect, ImBuf::rect_float, Sequence::sat, scene, SEQ_BLEND_REPLACE, SEQ_FILTERY, SEQ_FLIPX, SEQ_FLIPY, seq_imbuf_assign_spaces(), seq_imbuf_to_sequencer_space(), SEQ_MAKE_FLOAT, SEQ_modifier_apply_stack(), SEQ_RENDER_SIZE_SCENE, SEQ_rendersize_to_scale_factor(), SEQ_TYPE_MOVIE, SEQ_TYPE_MOVIECLIP, sequencer_image_crop_transform_do_thread(), sequencer_image_crop_transform_init(), sequencer_use_crop(), sequencer_use_transform(), RenderData::size, Sequence::type, x, ImBuf::x, y, and ImBuf::y.
Referenced by seq_render_preprocess_ibuf().
Definition at line 586 of file render.c.
References Freestyle::a, if(), min_ii(), ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
Referenced by input_preprocess().
|
static |
Definition at line 789 of file render.c.
References RenderEffectThread::context, SeqEffectHandle::execute_slice, RenderEffectThread::facf0, RenderEffectThread::facf1, RenderEffectThread::ibuf1, RenderEffectThread::ibuf2, RenderEffectThread::ibuf3, NULL, RenderEffectThread::out, RenderEffectThread::seq, RenderEffectThread::sh, RenderEffectThread::start_line, RenderEffectThread::timeline_frame, and RenderEffectThread::tot_line.
Referenced by seq_render_effect_execute_threaded().
|
static |
Definition at line 766 of file render.c.
References RenderEffectThread::context, RenderEffectThread::facf0, RenderEffectThread::facf1, RenderEffectThread::ibuf1, RenderEffectThread::ibuf2, RenderEffectThread::ibuf3, init_data(), RenderEffectThread::out, RenderEffectThread::seq, RenderEffectThread::sh, RenderEffectThread::start_line, RenderEffectThread::timeline_frame, and RenderEffectThread::tot_line.
Referenced by seq_render_effect_execute_threaded().
|
static |
Definition at line 1826 of file render.c.
References Sequence::blend_opacity, EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, ELEM, seq_effect_get_sequence_blend(), and seq_must_swap_input_in_blend_mode().
Referenced by seq_render_strip_stack().
|
static |
Definition at line 1232 of file render.c.
References BKE_movieclip_get_ibuf_flag(), BKE_movieclip_get_stable_ibuf(), Sequence::clip, Sequence::clip_flag, MovieClip::flag, MOVIECLIP_CACHE_SKIP, NULL, and SEQ_MOVIECLIP_RENDER_STABILIZED.
Referenced by seq_render_movieclip_strip().
| int seq_get_shown_sequences | ( | ListBase * | seqbasep, |
| int | timeline_frame, | ||
| int | chanshown, | ||
| Sequence ** | seq_arr_out | ||
| ) |
Definition at line 335 of file render.c.
References evaluate_seq_frame_gen(), MAXSEQ, SEQ_BLEND_REPLACE, and video_seq_is_rendered().
Referenced by seq_prefetch_do_skip_frame(), SEQ_render_give_ibuf(), and seq_render_strip_stack().
|
static |
Definition at line 982 of file render.c.
References BKE_scene_multiview_view_prefix_get(), Sequence::flag, Scene::r, R_MULTIVIEW, RenderData::scemode, scene, and SEQ_USE_VIEWS.
Referenced by seq_render_image_strip().
Definition at line 95 of file render.c.
References IMB_colormanagement_assign_float_colorspace(), IMB_colormanagement_assign_rect_colorspace(), ColorManagedColorspaceSettings::name, NULL, ImBuf::rect, ImBuf::rect_float, scene, and Scene::sequencer_colorspace_settings.
Referenced by do_render_strip_uncached(), input_preprocess(), seq_imbuf_to_sequencer_space(), seq_proxy_fetch(), and seq_render_strip().
Definition at line 108 of file render.c.
References ImBuf::channels, imb_addrectfloatImBuf(), IMB_colormanagement_get_float_colorspace(), IMB_colormanagement_get_rect_colorspace(), IMB_colormanagement_transform_byte_threaded(), IMB_colormanagement_transform_from_byte_threaded(), IMB_colormanagement_transform_threaded(), imb_freerectImBuf(), ColorManagedColorspaceSettings::name, NULL, ImBuf::rect, ImBuf::rect_float, scene, seq_imbuf_assign_spaces(), Scene::sequencer_colorspace_settings, STREQ, ImBuf::x, and ImBuf::y.
Referenced by do_render_strip_uncached(), input_preprocess(), prepare_effect_imbufs(), SEQ_modifier_apply_stack(), seq_render_image_strip_view(), seq_render_movie_strip_view(), and seq_render_scene_strip().
|
static |
Definition at line 423 of file render.c.
References Sequence::blend_mode, Sequence::blend_opacity, context, ListBase::first, Sequence::flag, Sequence::modifiers, mul(), Sequence::mul, Sequence::sat, SEQ_BLEND_REPLACE, SEQ_FILTERY, SEQ_FLIPX, SEQ_FLIPY, SEQ_MAKE_FLOAT, sequencer_use_crop(), and sequencer_use_transform().
Referenced by seq_render_strip().
|
static |
Definition at line 1812 of file render.c.
References Sequence::blend_mode, ELEM, SEQ_TYPE_ALPHAOVER, SEQ_TYPE_ALPHAUNDER, and SEQ_TYPE_OVERDROP.
Referenced by seq_get_early_out_for_blend_mode(), and seq_render_strip_stack_apply_effect().
|
static |
Effect, mask and scene in strip input strips are rendered in preview resolution. They are already down-scaled. input_preprocess() does not expect this to happen. Other strip types are rendered with original media resolution, unless proxies are enabled for them. With proxies is_proxy_image will be set correctly to true.
Definition at line 488 of file render.c.
References Sequence::flag, SEQ_SCENE_STRIPS, SEQ_TYPE_EFFECT, SEQ_TYPE_MASK, SEQ_TYPE_META, SEQ_TYPE_SCENE, and Sequence::type.
Referenced by sequencer_image_crop_transform_init().
| ImBuf* seq_render_effect_execute_threaded | ( | struct SeqEffectHandle * | sh, |
| const SeqRenderData * | context, | ||
| Sequence * | seq, | ||
| float | timeline_frame, | ||
| float | facf0, | ||
| float | facf1, | ||
| ImBuf * | ibuf1, | ||
| ImBuf * | ibuf2, | ||
| ImBuf * | ibuf3 | ||
| ) |
Definition at line 808 of file render.c.
References context, IMB_processor_apply_threaded(), init_data(), SeqEffectHandle::init_execution, render_effect_execute_do_thread(), render_effect_execute_init_handle(), and ImBuf::y.
Referenced by do_speed_effect(), seq_render_effect_strip_impl(), and seq_render_strip_stack_apply_effect().
|
static |
Definition at line 841 of file render.c.
References context, EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, Sequence::effect_fader, evaluate_fcurve(), SeqEffectHandle::execute, SeqEffectHandle::execute_slice, Sequence::flag, SeqEffectHandle::get_default_fac, IB_rect, Scene::id, id_data_find_fcurve(), IMB_allocImBuf(), IMB_freeImBuf(), SeqEffectHandle::init_execution, SeqEffectHandle::multithreaded, NULL, RNA_Sequence, scene, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_effect_get_num_inputs(), SEQ_effect_handle_get(), seq_render_effect_execute_threaded(), seq_render_strip(), seq_speed_effect_target_frame_get(), SEQ_TYPE_SPEED, SEQ_USE_EFFECT_DEFAULT_FADE, state, and Sequence::type.
Referenced by do_render_strip_uncached().
| int SEQ_render_evaluate_frame | ( | ListBase * | seqbase, |
| int | timeline_frame | ||
| ) |
Count number of strips in timeline at timeline_frame
| seqbase | ListBase in which strips are located |
| timeline_frame | frame on timeline from where gaps are searched for |
Definition at line 324 of file render.c.
References evaluate_seq_frame_gen(), and MAXSEQ.
Referenced by seq_time_gap_info_get().
| ImBuf* SEQ_render_give_ibuf | ( | const SeqRenderData * | context, |
| float | timeline_frame, | ||
| int | chanshown | ||
| ) |
Definition at line 1964 of file render.c.
References BLI_findlink(), BLI_listbase_count(), BLI_listbase_is_empty(), BLI_mutex_lock(), BLI_mutex_unlock(), context, count, max_ii(), MAXSEQ, Editing::metastack, NULL, scene, seq_cache_free_temp_cache(), seq_cache_get(), seq_cache_put(), seq_cache_put_if_possible(), SEQ_CACHE_STORE_FINAL_OUT, SEQ_editing_get(), seq_get_shown_sequences(), seq_prefetch_start(), seq_render_mutex, seq_render_state_init(), seq_render_strip_stack(), Editing::seqbasep, and state.
Referenced by do_render_sequencer(), screen_opengl_render_apply(), seq_prefetch_frames(), and sequencer_ibuf_get().
| ImBuf* SEQ_render_give_ibuf_direct | ( | const SeqRenderData * | context, |
| float | timeline_frame, | ||
| Sequence * | seq | ||
| ) |
Definition at line 2027 of file render.c.
References context, seq_render_state_init(), seq_render_strip(), and state.
Referenced by sequencer_ibuf_get().
| ImBuf* seq_render_give_ibuf_seqbase | ( | const SeqRenderData * | context, |
| float | timeline_frame, | ||
| int | chan_shown, | ||
| ListBase * | seqbasep | ||
| ) |
Definition at line 2016 of file render.c.
References context, seq_render_state_init(), seq_render_strip_stack(), and state.
Referenced by do_adjustment_impl(), and do_multicam().
Definition at line 242 of file render.c.
References Sequence::anim_startofs, NULL, seq_give_frame_index(), SEQ_TYPE_IMAGE, Sequence::strip, Strip::stripdata, and Sequence::type.
Referenced by SEQ_add_image_load_file(), seq_convert_transform_crop(), seq_convert_transform_crop_2(), seq_proxy_get_fname(), seq_render_image_strip(), sequencer_rendersize_exec(), sequencer_separate_images_exec(), and sequencer_strip_transform_fit_exec().
|
static |
Definition at line 998 of file render.c.
References BKE_main_blendfile_path_from_global(), BKE_scene_multiview_num_views_get(), BLI_join_dirfile(), BLI_path_abs(), context, Strip::dir, FILE_MAX, IMB_freeImBuf(), IMB_ImBufFromStereo3d(), MEM_callocN, MEM_freeN, StripElem::name, NULL, StripElem::orig_height, StripElem::orig_width, R_IMF_VIEWS_STEREO_3D, seq_image_strip_is_multiview_render(), seq_num_files(), seq_proxy_fetch(), SEQ_render_give_stripelem(), seq_render_image_strip_view(), seq_render_preprocess_ibuf(), Sequence::stereo3d_format, Sequence::strip, SeqRenderData::view_id, Sequence::views_format, ImBuf::x, and ImBuf::y.
Referenced by do_render_strip_uncached().
|
static |
Render individual view for multi-view or single (default view) for mono-view.
Definition at line 942 of file render.c.
References Sequence::alpha_mode, BKE_scene_multiview_view_prefix_get(), Strip::colorspace_settings, context, FILE_MAX, IB_alphamode_premul, IB_metadata, IB_rect, imb_freerectImBuf(), IMB_loadiffname(), ColorManagedColorspaceSettings::name, NULL, ImBuf::rect, ImBuf::rect_float, SEQ_ALPHA_PREMUL, seq_imbuf_to_sequencer_space(), seq_multiview_name(), str, and Sequence::strip.
Referenced by seq_render_image_strip().
Definition at line 174 of file render.c.
References ImBuf::channels, COLOR_ROLE_SCENE_LINEAR, IMB_colormanagement_assign_float_colorspace(), IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_transform_threaded(), ColorManagedColorspaceSettings::name, ImBuf::rect_float, scene, Scene::sequencer_colorspace_settings, ImBuf::x, and ImBuf::y.
Referenced by do_render_sequencer(), and SEQ_modifier_apply_stack().
| ImBuf* seq_render_mask | ( | const SeqRenderData * | context, |
| Mask * | mask, | ||
| float | frame_index, | ||
| bool | make_float | ||
| ) |
Definition at line 1301 of file render.c.
References ADT_RECALC_ANIM, BKE_animdata_from_id(), BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), BKE_id_copy_ex(), BKE_id_free(), BKE_mask_evaluate(), BKE_maskrasterize_buffer(), BKE_maskrasterize_handle_free(), BKE_maskrasterize_handle_init(), BKE_maskrasterize_handle_new(), context, IB_rect, IB_rectfloat, Mask::id, IMB_allocImBuf(), LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, mask(), MEM_freeN, MEM_mallocN, NULL, ImBuf::rect, and ImBuf::rect_float.
Referenced by modifier_render_mask_input(), and seq_render_mask_strip().
|
static |
Definition at line 1385 of file render.c.
References context, Sequence::flag, Sequence::mask, SEQ_MAKE_FLOAT, and seq_render_mask().
Referenced by do_render_strip_uncached().
|
static |
Definition at line 1154 of file render.c.
References StripAnim::anim, Sequence::anims, BKE_scene_multiview_num_views_get(), BLI_listbase_count_at_most(), context, ListBase::first, Sequence::flag, IMB_freeImBuf(), IMB_ImBufFromStereo3d(), MEM_callocN, MEM_freeN, StripAnim::next, NULL, StripElem::orig_height, StripElem::orig_width, R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, seq_num_files(), seq_open_anim_file(), seq_render_movie_strip_view(), seq_render_preprocess_ibuf(), SEQ_USE_VIEWS, Sequence::stereo3d_format, Sequence::strip, Strip::stripdata, SeqRenderData::view_id, Sequence::views_format, ImBuf::x, and ImBuf::y.
Referenced by do_render_strip_uncached().
|
static |
Definition at line 1081 of file render.c.
References StripProxy::anim, Sequence::anim_startofs, Strip::colorspace_settings, context, IB_rect, IMB_anim_absolute(), IMB_PROXY_NONE, IMB_TC_NONE, ColorManagedColorspaceSettings::name, NULL, openanim(), Strip::proxy, PROXY_MAXFILE, seq_give_frame_index(), seq_proxy_get_custom_file_fname(), and Sequence::strip.
Referenced by seq_render_movie_strip_view().
|
static |
Render individual view for multi-view or single (default view) for mono-view.
Definition at line 1104 of file render.c.
References StripAnim::anim, Sequence::anim_startofs, context, IMB_anim_absolute(), imb_freerectImBuf(), IMB_PROXY_NONE, IMB_TC_RECORD_RUN, NULL, Strip::proxy, ImBuf::rect, ImBuf::rect_float, SEQ_can_use_proxy(), SEQ_EDIT_PROXY_DIR_STORAGE, seq_imbuf_to_sequencer_space(), seq_render_movie_strip_custom_file_proxy(), SEQ_rendersize_to_proxysize(), SEQ_STORAGE_PROXY_CUSTOM_FILE, StripProxy::storage, Sequence::strip, and StripProxy::tc.
Referenced by seq_render_movie_strip().
|
static |
Definition at line 1245 of file render.c.
References Sequence::anim_startofs, BKE_movieclip_user_set_frame(), Sequence::clip, Sequence::clip_flag, context, IMB_PROXY_100, IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75, IMB_PROXY_NONE, MCLIP_PROXY_RENDER_SIZE_100, MCLIP_PROXY_RENDER_SIZE_25, MCLIP_PROXY_RENDER_SIZE_50, MCLIP_PROXY_RENDER_SIZE_75, MCLIP_PROXY_RENDER_SIZE_FULL, MCLIP_PROXY_RENDER_UNDISTORT, MCLIP_PROXY_RENDER_USE_FALLBACK_RENDER, NULL, MovieClipUser::render_flag, MovieClipUser::render_size, seq_get_movieclip_ibuf(), SEQ_MOVIECLIP_RENDER_UNDISTORTED, SEQ_rendersize_to_proxysize(), and MovieClip::start_frame.
Referenced by do_render_strip_uncached().
| void SEQ_render_new_render_data | ( | Main * | bmain, |
| struct Depsgraph * | depsgraph, | ||
| Scene * | scene, | ||
| int | rectx, | ||
| int | recty, | ||
| int | preview_render_size, | ||
| int | for_render, | ||
| SeqRenderData * | r_context | ||
| ) |
Definition at line 211 of file render.c.
References SeqRenderData::bmain, depsgraph, SeqRenderData::depsgraph, SeqRenderData::for_render, SeqRenderData::gpu_offscreen, SeqRenderData::is_prefetch_render, SeqRenderData::is_proxy_render, SeqRenderData::motion_blur_samples, SeqRenderData::motion_blur_shutter, NULL, SeqRenderData::preview_render_size, SeqRenderData::rectx, SeqRenderData::recty, scene, SeqRenderData::scene, SEQ_TASK_MAIN_RENDER, SeqRenderData::skip_cache, SeqRenderData::task_id, and SeqRenderData::view_id.
Referenced by do_render_sequencer(), screen_opengl_render_apply(), seq_prefetch_update_context(), SEQ_proxy_rebuild(), and sequencer_ibuf_get().
Definition at line 191 of file render.c.
References COLOR_ROLE_SCENE_LINEAR, IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_transform_v4(), ColorManagedColorspaceSettings::name, scene, Scene::sequencer_colorspace_settings, and srgb_to_linearrgb_v4().
Referenced by sequencer_sample_apply().
|
static |
Definition at line 720 of file render.c.
References context, input_preprocess(), seq_cache_put(), SEQ_CACHE_STORE_PREPROCESSED, SEQ_CACHE_STORE_RAW, SEQ_TYPE_EFFECT, Sequence::type, ImBuf::x, and ImBuf::y.
Referenced by seq_render_image_strip(), seq_render_movie_strip(), and seq_render_strip().
|
static |
Definition at line 1392 of file render.c.
References addzbuffloatImBuf(), RenderData::alphamode, Sequence::anim_startofs, BKE_scene_camera_switch_update(), BKE_scene_ensure_depsgraph(), BKE_scene_frame_set(), BKE_scene_graph_update_for_newframe(), BKE_scene_multiview_num_views_get(), BKE_scene_multiview_render_view_name_get(), BKE_view_layer_default_render(), BLI_thread_is_main(), Scene::camera, RenderData::cfra, context, DEG_get_evaluated_object(), depsgraph, double(), Scene::ed, ListBase::first, Sequence::flag, G, height, IB_rect, IB_rectfloat, IMB_allocImBuf(), IMB_freeImBuf(), MEM_callocN, MEM_freeN, RenderData::mode, Scene::nodetree, NULL, OB_RENDER, Scene::r, R_DOCOMP, R_DOSEQ, R_NO_CAMERA_SWITCH, R_SEQ_OVERRIDE_SCENE_SETTINGS, RE_AcquireResultImage(), RE_GetSceneRender(), RE_NewSceneRender(), RE_ReleaseResultImage(), RE_RenderFrame(), RenderResult::rect32, RenderResult::rectf, RenderResult::rectx, RenderResult::recty, RenderResult::rectz, RenderData::scemode, scene, Sequence::scene, Sequence::scene_camera, seq_cache_put(), SEQ_CACHE_STORE_RAW, seq_imbuf_to_sequencer_space(), SEQ_SCENE_NO_GPENCIL, Editing::seqbase, sequencer_view3d_fn, RenderData::sfra, RenderData::size, RenderData::subframe, Scene::use_nodes, V3D_OFSDRAW_NONE, V3D_OFSDRAW_OVERRIDE_SCENE_SETTINGS, V3D_OFSDRAW_SHOW_ANNOTATION, SeqRenderData::view_id, width, RenderData::xsch, and RenderData::ysch.
Referenced by do_render_strip_uncached().
| void seq_render_state_init | ( | SeqRenderState * | state | ) |
Definition at line 237 of file render.c.
Referenced by modifier_render_mask_input(), SEQ_proxy_rebuild(), SEQ_render_give_ibuf(), SEQ_render_give_ibuf_direct(), and seq_render_give_ibuf_seqbase().
| ImBuf* seq_render_strip | ( | const SeqRenderData * | context, |
| SeqRenderState * | state, | ||
| Sequence * | seq, | ||
| float | timeline_frame | ||
| ) |
Definition at line 1774 of file render.c.
References context, do_render_strip_uncached(), IB_rect, IMB_allocImBuf(), NULL, seq_cache_get(), SEQ_CACHE_STORE_PREPROCESSED, SEQ_CACHE_STORE_RAW, SEQ_can_use_proxy(), seq_imbuf_assign_spaces(), seq_input_have_to_preprocess(), seq_render_preprocess_ibuf(), SEQ_rendersize_to_proxysize(), and state.
Referenced by modifier_render_mask_input(), seq_proxy_build_frame(), seq_render_effect_strip_impl(), SEQ_render_give_ibuf_direct(), and seq_render_strip_stack().
|
static |
Definition at line 1877 of file render.c.
References Sequence::blend_mode, context, count, EARLY_DO_EFFECT, EARLY_NO_INPUT, SeqEffectHandle::early_out, EARLY_USE_INPUT_1, EARLY_USE_INPUT_2, IB_rect, IMB_allocImBuf(), IMB_freeImBuf(), MAXSEQ, NULL, SEQ_BLEND_REPLACE, seq_cache_get(), seq_cache_put(), SEQ_CACHE_STORE_COMPOSITE, seq_get_early_out_for_blend_mode(), seq_get_shown_sequences(), seq_render_strip(), seq_render_strip_stack_apply_effect(), and state.
Referenced by do_render_strip_seqbase(), SEQ_render_give_ibuf(), and seq_render_give_ibuf_seqbase().
|
static |
Definition at line 1847 of file render.c.
References Sequence::blend_opacity, context, SeqEffectHandle::execute, SeqEffectHandle::multithreaded, NULL, seq_effect_get_sequence_blend(), seq_must_swap_input_in_blend_mode(), and seq_render_effect_execute_threaded().
Referenced by seq_render_strip_stack().
|
static |
Definition at line 533 of file render.c.
References bilinear_interpolation(), bottom, Freestyle::c, data, invert_m3(), left, loc_rot_size_to_mat3(), mul_v2_m3v2(), nearest_interpolation(), NULL, right, top, transform(), transform_pivot_set_m3(), and width.
Referenced by input_preprocess().
|
static |
Definition at line 501 of file render.c.
References ImageTransformThreadData::crop_scale_factor, ImageTransformThreadData::for_render, ImageTransformThreadData::ibuf_out, ImageTransformThreadData::ibuf_source, ImageTransformThreadData::image_scale_factor, init_data(), ImageTransformThreadData::preview_scale_factor, ImageTransformThreadData::seq, seq_need_scale_to_render_size(), ImageTransformThreadData::start_line, and ImageTransformThreadData::tot_line.
Referenced by input_preprocess().
|
static |
Definition at line 413 of file render.c.
References StripCrop::bottom, Strip::crop, StripCrop::left, StripCrop::right, Sequence::strip, and StripCrop::top.
Referenced by input_preprocess(), and seq_input_have_to_preprocess().
|
static |
Definition at line 401 of file render.c.
References Sequence::strip, transform(), and Strip::transform.
Referenced by input_preprocess(), and seq_input_have_to_preprocess().
|
static |
Definition at line 330 of file render.c.
References Sequence::flag, SEQ_MUTE, SEQ_TYPE_SOUND_RAM, and Sequence::type.
Referenced by seq_get_shown_sequences().
|
static |
Definition at line 89 of file render.c.
Referenced by SEQ_render_give_ibuf().
| SequencerDrawView sequencer_view3d_fn = NULL |
Definition at line 90 of file render.c.
Referenced by ED_spacetype_sequencer(), and seq_render_scene_strip().