|
Blender V5.0
|
#include <ctime>#include "MEM_guardedalloc.h"#include "DNA_defaults.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_math_geom.h"#include "BLI_math_matrix.hh"#include "BLI_path_utils.hh"#include "BLI_rect.h"#include "BLI_task.hh"#include "BKE_anim_data.hh"#include "BKE_animsys.h"#include "BKE_fcurve.hh"#include "BKE_global.hh"#include "BKE_image.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_library.hh"#include "BKE_main.hh"#include "BKE_mask.h"#include "BKE_movieclip.h"#include "BKE_scene.hh"#include "BKE_scene_runtime.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_build.hh"#include "DEG_depsgraph_debug.hh"#include "DEG_depsgraph_query.hh"#include "IMB_colormanagement.hh"#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "IMB_metadata.hh"#include "MOV_read.hh"#include "RNA_prototypes.hh"#include "RE_engine.h"#include "RE_pipeline.h"#include "SEQ_channels.hh"#include "SEQ_effects.hh"#include "SEQ_iterator.hh"#include "SEQ_modifier.hh"#include "SEQ_offscreen.hh"#include "SEQ_proxy.hh"#include "SEQ_relations.hh"#include "SEQ_render.hh"#include "SEQ_sequencer.hh"#include "SEQ_time.hh"#include "SEQ_transform.hh"#include "SEQ_utils.hh"#include "cache/final_image_cache.hh"#include "cache/intra_frame_cache.hh"#include "cache/source_image_cache.hh"#include "effects/effects.hh"#include "modifiers/modifier.hh"#include "multiview.hh"#include "prefetch.hh"#include "proxy.hh"#include "render.hh"#include "utils.hh"#include <algorithm>Go to the source code of this file.
Classes | |
| struct | blender::seq::OpaqueQuad |
| struct | blender::seq::OpaqueQuadTracker |
Namespaces | |
| namespace | blender |
| namespace | blender::seq |
Functions | |
| float | blender::seq::get_render_scale_factor (eSpaceSeq_Proxy_RenderSize render_size, short scene_render_scale) |
| float | blender::seq::get_render_scale_factor (const RenderData &context) |
Strip Stack Rendering Functions | |
| static ImBuf * | blender::seq::seq_render_strip_stack (const RenderData *context, SeqRenderState *state, ListBase *channels, ListBase *seqbasep, float timeline_frame, int chanshown) |
| static ImBuf * | blender::seq::do_render_strip_uncached (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, bool *r_is_proxy_image) |
| ImBuf * | blender::seq::seq_render_strip (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame) |
| static bool | blender::seq::seq_must_swap_input_in_blend_mode (Strip *strip) |
| static StripEarlyOut | blender::seq::strip_get_early_out_for_blend_mode (Strip *strip) |
| static ImBuf * | blender::seq::seq_render_strip_stack_apply_effect (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, ImBuf *ibuf1, ImBuf *ibuf2) |
| static bool | blender::seq::is_opaque_alpha_over (const Strip *strip) |
| ImBuf * | blender::seq::render_give_ibuf (const RenderData *context, float timeline_frame, int chanshown) |
| ImBuf * | blender::seq::seq_render_give_ibuf_seqbase (const RenderData *context, SeqRenderState *state, float timeline_frame, int chan_shown, ListBase *channels, ListBase *seqbasep) |
| ImBuf * | blender::seq::render_give_ibuf_direct (const RenderData *context, float timeline_frame, Strip *strip) |
| bool | blender::seq::render_is_muted (const ListBase *channels, const Strip *strip) |
Color-space utility functions | |
| void | blender::seq::seq_imbuf_assign_spaces (const Scene *scene, ImBuf *ibuf) |
| void | blender::seq::seq_imbuf_to_sequencer_space (const Scene *scene, ImBuf *ibuf, bool make_float) |
| void | blender::seq::render_imbuf_from_sequencer_space (const Scene *scene, ImBuf *ibuf) |
| void | blender::seq::render_pixel_from_sequencer_space_v4 (const Scene *scene, float pixel[4]) |
Rendering utility functions | |
| void | blender::seq::render_new_render_data (Main *bmain, Depsgraph *depsgraph, Scene *scene, int rectx, int recty, eSpaceSeq_Proxy_RenderSize preview_render_size, Render *render, RenderData *r_context) |
| StripElem * | blender::seq::render_give_stripelem (const Scene *scene, const Strip *strip, int timeline_frame) |
| Vector< Strip * > | blender::seq::seq_shown_strips_get (const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int chanshown) |
| StripScreenQuad | blender::seq::get_strip_screen_quad (const RenderData *context, const Strip *strip) |
| static bool | blender::seq::is_quad_a_inside_b (const StripScreenQuad &a, const StripScreenQuad &b) |
Preprocessing & Effects | |
Input preprocessing for STRIP_TYPE_IMAGE, STRIP_TYPE_MOVIE, STRIP_TYPE_MOVIECLIP and STRIP_TYPE_SCENE. Do all the things you can't really do afterwards using sequence effects (read: before re-scaling to render resolution has been done). Order is important!
| |
| static bool | blender::seq::sequencer_use_transform (const Strip *strip) |
| static bool | blender::seq::sequencer_use_crop (const Strip *strip) |
| static bool | blender::seq::seq_input_have_to_preprocess (const RenderData *context, Strip *strip, float) |
| static bool | blender::seq::seq_need_scale_to_render_size (const Strip *strip, bool is_proxy_image) |
| static float3x3 | blender::seq::calc_strip_transform_matrix (const Scene *scene, const Strip *strip, const int in_x, const int in_y, const int out_x, const int out_y, const float image_scale_factor, const float preview_scale_factor) |
| static void | blender::seq::sequencer_image_crop_init (const Strip *strip, const ImBuf *in, float crop_scale_factor, rctf *r_crop) |
| static bool | blender::seq::is_strip_covering_screen (const RenderData *context, const Strip *strip) |
| static eIMBInterpolationFilterMode | blender::seq::get_auto_filter (const StripTransform *transform) |
| static void | blender::seq::sequencer_preprocess_transform_crop (ImBuf *in, ImBuf *out, const RenderData *context, Strip *strip, const float3x3 &matrix, const bool scale_crop_values, const float preview_scale_factor) |
| static void | blender::seq::multiply_ibuf (ImBuf *ibuf, const float fmul, const bool multiply_alpha) |
| static ImBuf * | blender::seq::input_preprocess (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, ImBuf *ibuf, const bool is_proxy_image) |
| static ImBuf * | blender::seq::seq_render_preprocess_ibuf (const RenderData *context, SeqRenderState *state, Strip *strip, ImBuf *ibuf, float timeline_frame, bool use_preprocess, const bool is_proxy_image) |
| static ImBuf * | blender::seq::seq_render_effect_strip_impl (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame) |
Individual strip rendering functions | |
| static void | blender::seq::convert_multilayer_ibuf (ImBuf *ibuf) |
| static ImBuf * | blender::seq::seq_render_image_strip_view (const RenderData *context, Strip *strip, char *filepath, char *prefix, const char *ext, int view_id) |
| static bool | blender::seq::seq_image_strip_is_multiview_render (Scene *scene, Strip *strip, int totfiles, const char *filepath, char *r_prefix, const char *r_ext) |
| static ImBuf * | blender::seq::create_missing_media_image (const RenderData *context, int width, int height) |
| static ImBuf * | blender::seq::seq_render_image_strip (const RenderData *context, SeqRenderState *state, Strip *strip, int timeline_frame, bool *r_is_proxy_image) |
| static ImBuf * | blender::seq::seq_render_movie_strip_custom_file_proxy (const RenderData *context, Strip *strip, int timeline_frame) |
| static IMB_Timecode_Type | blender::seq::seq_render_movie_strip_timecode_get (Strip *strip) |
| static ImBuf * | blender::seq::seq_render_movie_strip_view (const RenderData *context, Strip *strip, float timeline_frame, StripAnim *sanim, bool *r_is_proxy_image) |
| static ImBuf * | blender::seq::seq_render_movie_strip (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, bool *r_is_proxy_image) |
| static ImBuf * | blender::seq::seq_get_movieclip_ibuf (Strip *strip, MovieClipUser user) |
| static ImBuf * | blender::seq::seq_render_movieclip_strip (const RenderData *context, Strip *strip, float frame_index, bool *r_is_proxy_image) |
| ImBuf * | blender::seq::seq_render_mask (Depsgraph *depsgraph, int width, int height, const Mask *mask, float frame_index, bool make_float) |
| static ImBuf * | blender::seq::seq_render_mask_strip (const RenderData *context, Strip *strip, float frame_index) |
| static Depsgraph * | blender::seq::get_depsgraph_for_scene_strip (Main *bmain, Scene *scene, ViewLayer *view_layer) |
| static ImBuf * | blender::seq::seq_render_scene_strip_ex (const RenderData *context, Strip *strip, float frame_index, float timeline_frame) |
| static ImBuf * | blender::seq::seq_render_scene_strip (const RenderData *context, Strip *strip, float frame_index, float timeline_frame) |
| static ImBuf * | blender::seq::do_render_strip_seqbase (const RenderData *context, SeqRenderState *state, Strip *strip, float frame_index) |
Variables | |
| static blender::Mutex | blender::seq::seq_render_mutex |
| DrawViewFn | blender::seq::view3d_fn = nullptr |