Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions | Variables
effects.c File Reference
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_path_util.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_space_types.h"
#include "DNA_vfont_types.h"
#include "BKE_fcurve.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_metadata.h"
#include "BLI_math_color_blend.h"
#include "RNA_access.h"
#include "RE_pipeline.h"
#include "SEQ_effects.h"
#include "SEQ_proxy.h"
#include "SEQ_render.h"
#include "SEQ_utils.h"
#include "BLF_api.h"
#include "effects.h"
#include "render.h"
#include "strip_time.h"
#include "utils.h"

Go to the source code of this file.

Classes

struct  WipeZone
 
struct  RenderGaussianBlurEffectInitData
 
struct  RenderGaussianBlurEffectThread
 

Macros

#define RE_GAMMA_TABLE_SIZE   400
 
#define XOFF   8
 
#define YOFF   8
 
#define INDEX(_x, _y)   (((_y) * (x) + (_x)) * 4)
 
#define INDEX(_x, _y)   (((_y) * (x) + (_x)) * 4)
 
#define INDEX(_x, _y)   (((_y) * (x) + (_x)) * 4)
 
#define INDEX(_x, _y)   (((_y) * (x) + (_x)) * 4)
 

Typedefs

typedef void(* IMB_blend_func_byte) (unsigned char *dst, const unsigned char *src1, const unsigned char *src2)
 
typedef void(* IMB_blend_func_float) (float *dst, const float *src1, const float *src2)
 
typedef struct WipeZone WipeZone
 
typedef struct RenderGaussianBlurEffectInitData RenderGaussianBlurEffectInitData
 
typedef struct RenderGaussianBlurEffectThread RenderGaussianBlurEffectThread
 

Enumerations

enum  { GlowR = 0 , GlowG = 1 , GlowB = 2 , GlowA = 3 }
 

Functions

static struct SeqEffectHandle get_sequence_effect_impl (int seq_type)
 
static void slice_get_byte_buffers (const SeqRenderData *context, const ImBuf *ibuf1, const ImBuf *ibuf2, const ImBuf *ibuf3, const ImBuf *out, int start_line, unsigned char **rect1, unsigned char **rect2, unsigned char **rect3, unsigned char **rect_out)
 
static void slice_get_float_buffers (const SeqRenderData *context, const ImBuf *ibuf1, const ImBuf *ibuf2, const ImBuf *ibuf3, const ImBuf *out, int start_line, float **rect1, float **rect2, float **rect3, float **rect_out)
 
static ImBufprepare_effect_imbufs (const SeqRenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void init_alpha_over_or_under (Sequence *seq)
 
static void do_alphaover_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_alphaover_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_alphaover_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void do_alphaunder_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_alphaunder_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_alphaunder_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void do_cross_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_cross_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_cross_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void makeGammaTables (float gamma)
 
static float gammaCorrect (float c)
 
static float invGammaCorrect (float c)
 
static void gamtabs (float gamma)
 
static void build_gammatabs (void)
 
static void init_gammacross (Sequence *UNUSED(seq))
 
static void load_gammacross (Sequence *UNUSED(seq))
 
static void free_gammacross (Sequence *UNUSED(seq), const bool UNUSED(do_id_user))
 
static void do_gammacross_effect_byte (float facf0, float UNUSED(facf1), int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_gammacross_effect_float (float facf0, float UNUSED(facf1), int x, int y, float *rect1, float *rect2, float *out)
 
static struct ImBufgammacross_init_execution (const SeqRenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void do_gammacross_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void do_add_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_add_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_add_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void do_sub_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_sub_effect_float (float UNUSED(facf0), float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_sub_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void do_drop_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect2i, unsigned char *rect1i, unsigned char *outi)
 
static void do_drop_effect_float (float facf0, float facf1, int x, int y, float *rect2i, float *rect1i, float *outi)
 
static void do_mul_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_mul_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
 
static void do_mul_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
BLI_INLINE void apply_blend_function_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out, IMB_blend_func_byte blend_function)
 
BLI_INLINE void apply_blend_function_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out, IMB_blend_func_float blend_function)
 
static void do_blend_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, int btype, float *out)
 
static void do_blend_effect_byte (float facf0, float facf1, int x, int y, unsigned char *rect1, unsigned char *rect2, int btype, unsigned char *out)
 
static void do_blend_mode_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void init_colormix_effect (Sequence *seq)
 
static void do_colormix_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(facf0), float UNUSED(facf1), ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void precalc_wipe_zone (WipeZone *wipezone, WipeVars *wipe, int xo, int yo)
 
static float in_band (float width, float dist, int side, int dir)
 
static float check_zone (WipeZone *wipezone, int x, int y, Sequence *seq, float facf0)
 
static void init_wipe_effect (Sequence *seq)
 
static int num_inputs_wipe (void)
 
static void free_wipe_effect (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_wipe_effect (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static void do_wipe_effect_byte (Sequence *seq, float facf0, float UNUSED(facf1), int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_wipe_effect_float (Sequence *seq, float facf0, float UNUSED(facf1), int x, int y, float *rect1, float *rect2, float *out)
 
static ImBufdo_wipe_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void init_transform_effect (Sequence *seq)
 
static int num_inputs_transform (void)
 
static void free_transform_effect (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_transform_effect (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static void transform_image (int x, int y, int start_line, int total_lines, ImBuf *ibuf1, ImBuf *out, float scale_x, float scale_y, float translate_x, float translate_y, float rotate, int interpolation)
 
static void do_transform_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(facf0), float UNUSED(facf1), ImBuf *ibuf1, ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void RVBlurBitmap2_float (float *map, int width, int height, float blur, int quality)
 
static void RVAddBitmaps_float (float *a, float *b, float *c, int width, int height)
 
static void RVIsolateHighlights_float (const float *in, float *out, int width, int height, float threshold, float boost, float clamp)
 
static void init_glow_effect (Sequence *seq)
 
static int num_inputs_glow (void)
 
static void free_glow_effect (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_glow_effect (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static void do_glow_effect_byte (Sequence *seq, int render_size, float facf0, float UNUSED(facf1), int x, int y, unsigned char *rect1, unsigned char *UNUSED(rect2), unsigned char *out)
 
static void do_glow_effect_float (Sequence *seq, int render_size, float facf0, float UNUSED(facf1), int x, int y, float *rect1, float *UNUSED(rect2), float *out)
 
static ImBufdo_glow_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void init_solid_color (Sequence *seq)
 
static int num_inputs_color (void)
 
static void free_solid_color (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_solid_color (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static int early_out_color (Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
 
static ImBufdo_solid_color (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static int num_inputs_multicam (void)
 
static int early_out_multicam (Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
 
static ImBufdo_multicam (const SeqRenderData *context, Sequence *seq, float timeline_frame, float UNUSED(facf0), float UNUSED(facf1), ImBuf *UNUSED(ibuf1), ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 
static int num_inputs_adjustment (void)
 
static int early_out_adjustment (Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
 
static ImBufdo_adjustment_impl (const SeqRenderData *context, Sequence *seq, float timeline_frame)
 
static ImBufdo_adjustment (const SeqRenderData *context, Sequence *seq, float timeline_frame, float UNUSED(facf0), float UNUSED(facf1), ImBuf *UNUSED(ibuf1), ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 
static void init_speed_effect (Sequence *seq)
 
static void load_speed_effect (Sequence *seq)
 
static int num_inputs_speed (void)
 
static void free_speed_effect (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_speed_effect (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static int early_out_speed (Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
 
static void store_icu_yrange_speed (Sequence *seq, short UNUSED(adrcode), float *ymin, float *ymax)
 
static int seq_effect_speed_get_strip_content_length (const Sequence *seq)
 
void seq_effect_speed_rebuild_map (Scene *scene, Sequence *seq, bool force)
 
float seq_speed_effect_target_frame_get (const SeqRenderData *context, Sequence *seq, float timeline_frame, int input)
 
static float speed_effect_interpolation_ratio_get (SpeedControlVars *s, Sequence *seq, float timeline_frame)
 
static ImBufdo_speed_effect (const SeqRenderData *context, Sequence *seq, float timeline_frame, float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void do_overdrop_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float facf0, float facf1, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
static void init_gaussian_blur_effect (Sequence *seq)
 
static int num_inputs_gaussian_blur (void)
 
static void free_gaussian_blur_effect (Sequence *seq, const bool UNUSED(do_id_user))
 
static void copy_gaussian_blur_effect (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static int early_out_gaussian_blur (Sequence *seq, float UNUSED(facf0), float UNUSED(facf1))
 
static floatmake_gaussian_blur_kernel (float rad, int size)
 
static void do_gaussian_blur_effect_byte_x (Sequence *seq, int start_line, int x, int y, int frame_width, int UNUSED(frame_height), const unsigned char *rect, unsigned char *out)
 
static void do_gaussian_blur_effect_byte_y (Sequence *seq, int start_line, int x, int y, int UNUSED(frame_width), int frame_height, const unsigned char *rect, unsigned char *out)
 
static void do_gaussian_blur_effect_float_x (Sequence *seq, int start_line, int x, int y, int frame_width, int UNUSED(frame_height), float *rect, float *out)
 
static void do_gaussian_blur_effect_float_y (Sequence *seq, int start_line, int x, int y, int UNUSED(frame_width), int frame_height, float *rect, float *out)
 
static void do_gaussian_blur_effect_x_cb (const SeqRenderData *context, Sequence *seq, ImBuf *ibuf, int start_line, int total_lines, ImBuf *out)
 
static void do_gaussian_blur_effect_y_cb (const SeqRenderData *context, Sequence *seq, ImBuf *ibuf, int start_line, int total_lines, ImBuf *out)
 
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_x_thread (void *thread_data_v)
 
static void * render_effect_execute_do_y_thread (void *thread_data_v)
 
static ImBufdo_gaussian_blur_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(facf0), float UNUSED(facf1), ImBuf *ibuf1, ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 
static void init_text_effect (Sequence *seq)
 
void SEQ_effect_text_font_unload (TextVars *data, const bool do_id_user)
 
void SEQ_effect_text_font_load (TextVars *data, const bool do_id_user)
 
static void free_text_effect (Sequence *seq, const bool do_id_user)
 
static void load_text_effect (Sequence *seq)
 
static void copy_text_effect (Sequence *dst, Sequence *src, const int flag)
 
static int num_inputs_text (void)
 
static int early_out_text (Sequence *seq, float UNUSED(facf0), float UNUSED(facf1))
 
static ImBufdo_text_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(facf0), float UNUSED(facf1), ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
static void init_noop (Sequence *UNUSED(seq))
 
static void load_noop (Sequence *UNUSED(seq))
 
static void free_noop (Sequence *UNUSED(seq), const bool UNUSED(do_id_user))
 
static int num_inputs_default (void)
 
static void copy_effect_default (Sequence *dst, Sequence *src, const int UNUSED(flag))
 
static void free_effect_default (Sequence *seq, const bool UNUSED(do_id_user))
 
static int early_out_noop (Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
 
static int early_out_fade (Sequence *UNUSED(seq), float facf0, float facf1)
 
static int early_out_mul_input2 (Sequence *UNUSED(seq), float facf0, float facf1)
 
static void store_icu_yrange_noop (Sequence *UNUSED(seq), short UNUSED(adrcode), float *UNUSED(ymin), float *UNUSED(ymax))
 
static void get_default_fac_noop (Sequence *UNUSED(seq), float UNUSED(timeline_frame), float *facf0, float *facf1)
 
static void get_default_fac_fade (Sequence *seq, float timeline_frame, float *facf0, float *facf1)
 
static struct ImBufinit_execution (const SeqRenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
struct SeqEffectHandle SEQ_effect_handle_get (Sequence *seq)
 
struct SeqEffectHandle seq_effect_get_sequence_blend (Sequence *seq)
 
int SEQ_effect_get_num_inputs (int seq_type)
 

Variables

static unsigned short gamtab [65536]
 
static unsigned short igamtab1 [256]
 
static bool gamma_tabs_init = false
 
static float gamma_range_table [RE_GAMMA_TABLE_SIZE+1]
 
static float gamfactor_table [RE_GAMMA_TABLE_SIZE]
 
static float inv_gamma_range_table [RE_GAMMA_TABLE_SIZE+1]
 
static float inv_gamfactor_table [RE_GAMMA_TABLE_SIZE]
 
static float color_domain_table [RE_GAMMA_TABLE_SIZE+1]
 
static float color_step
 
static float inv_color_step
 
static float valid_gamma
 
static float valid_inv_gamma
 

Macro Definition Documentation

◆ INDEX [1/4]

#define INDEX (   _x,
  _y 
)    (((_y) * (x) + (_x)) * 4)

◆ INDEX [2/4]

#define INDEX (   _x,
  _y 
)    (((_y) * (x) + (_x)) * 4)

◆ INDEX [3/4]

#define INDEX (   _x,
  _y 
)    (((_y) * (x) + (_x)) * 4)

◆ INDEX [4/4]

#define INDEX (   _x,
  _y 
)    (((_y) * (x) + (_x)) * 4)

◆ RE_GAMMA_TABLE_SIZE

#define RE_GAMMA_TABLE_SIZE   400

Definition at line 740 of file effects.c.

◆ XOFF

#define XOFF   8

Definition at line 1304 of file effects.c.

◆ YOFF

#define YOFF   8

Definition at line 1305 of file effects.c.

Typedef Documentation

◆ IMB_blend_func_byte

typedef void(* IMB_blend_func_byte) (unsigned char *dst, const unsigned char *src1, const unsigned char *src2)

Definition at line 1553 of file effects.c.

◆ IMB_blend_func_float

typedef void(* IMB_blend_func_float) (float *dst, const float *src1, const float *src2)

Definition at line 1556 of file effects.c.

◆ RenderGaussianBlurEffectInitData

◆ RenderGaussianBlurEffectThread

◆ WipeZone

typedef struct WipeZone WipeZone

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
GlowR 
GlowG 
GlowB 
GlowA 

Definition at line 128 of file effects.c.

Function Documentation

◆ apply_blend_function_byte()

BLI_INLINE void apply_blend_function_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out,
IMB_blend_func_byte  blend_function 
)

Definition at line 1558 of file effects.c.

References x, and y.

Referenced by do_blend_effect_byte().

◆ apply_blend_function_float()

BLI_INLINE void apply_blend_function_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out,
IMB_blend_func_float  blend_function 
)

Definition at line 1602 of file effects.c.

References x, and y.

Referenced by do_blend_effect_float().

◆ build_gammatabs()

static void build_gammatabs ( void  )
static

Definition at line 868 of file effects.c.

References gamma_tabs_init, gamtabs(), and makeGammaTables().

Referenced by gammacross_init_execution().

◆ check_zone()

static float check_zone ( WipeZone wipezone,
int  x,
int  y,
Sequence seq,
float  facf0 
)
static

◆ copy_effect_default()

static void copy_effect_default ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 4049 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ copy_gaussian_blur_effect()

static void copy_gaussian_blur_effect ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 3405 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ copy_glow_effect()

static void copy_glow_effect ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 2735 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ copy_solid_color()

static void copy_solid_color ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 2865 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ copy_speed_effect()

static void copy_speed_effect ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 3121 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, NULL, and v.

◆ copy_text_effect()

static void copy_text_effect ( Sequence dst,
Sequence src,
const int  flag 
)
static

◆ copy_transform_effect()

static void copy_transform_effect ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 2393 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ copy_wipe_effect()

static void copy_wipe_effect ( Sequence dst,
Sequence src,
const int   UNUSEDflag 
)
static

Definition at line 2176 of file effects.c.

References Sequence::effectdata, and MEM_dupallocN.

◆ do_add_effect()

static void do_add_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_add_effect_byte()

static void do_add_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 1033 of file effects.c.

References min_ii(), x, and y.

Referenced by do_add_effect().

◆ do_add_effect_float()

static void do_add_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 1087 of file effects.c.

References x, and y.

Referenced by do_add_effect().

◆ do_adjustment()

static ImBuf* do_adjustment ( const SeqRenderData context,
Sequence seq,
float  timeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf UNUSEDibuf1,
ImBuf UNUSEDibuf2,
ImBuf UNUSEDibuf3 
)
static

Definition at line 3054 of file effects.c.

References context, do_adjustment_impl(), and NULL.

◆ do_adjustment_impl()

static ImBuf* do_adjustment_impl ( const SeqRenderData context,
Sequence seq,
float  timeline_frame 
)
static

◆ do_alphaover_effect()

static void do_alphaover_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_alphaover_effect_byte()

static void do_alphaover_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

◆ do_alphaover_effect_float()

static void do_alphaover_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 292 of file effects.c.

References x, and y.

Referenced by do_alphaover_effect(), and do_overdrop_effect().

◆ do_alphaunder_effect()

static void do_alphaunder_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_alphaunder_effect_byte()

static void do_alphaunder_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 393 of file effects.c.

References premul_float_to_straight_uchar(), straight_uchar_to_premul_float(), x, and y.

Referenced by do_alphaunder_effect().

◆ do_alphaunder_effect_float()

static void do_alphaunder_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 488 of file effects.c.

References x, and y.

Referenced by do_alphaunder_effect().

◆ do_blend_effect_byte()

static void do_blend_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
int  btype,
unsigned char *  out 
)
static

◆ do_blend_effect_float()

static void do_blend_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
int  btype,
float out 
)
static

◆ do_blend_mode_effect()

static void do_blend_mode_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_colormix_effect()

static void do_colormix_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_cross_effect()

static void do_cross_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_cross_effect_byte()

static void do_cross_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 600 of file effects.c.

References x, and y.

Referenced by do_cross_effect().

◆ do_cross_effect_float()

static void do_cross_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 654 of file effects.c.

References x, and y.

Referenced by do_cross_effect().

◆ do_drop_effect_byte()

static void do_drop_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect2i,
unsigned char *  rect1i,
unsigned char *  outi 
)
static

Definition at line 1307 of file effects.c.

References height, MAX2, min_ii(), width, x, XOFF, y, and YOFF.

Referenced by do_overdrop_effect().

◆ do_drop_effect_float()

static void do_drop_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect2i,
float rect1i,
float outi 
)
static

Definition at line 1361 of file effects.c.

References height, MAX2, min_ii(), width, x, XOFF, y, and YOFF.

Referenced by do_overdrop_effect().

◆ do_gammacross_effect()

static void do_gammacross_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_gammacross_effect_byte()

static void do_gammacross_effect_byte ( float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

◆ do_gammacross_effect_float()

static void do_gammacross_effect_float ( float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 950 of file effects.c.

References gammaCorrect(), invGammaCorrect(), x, and y.

Referenced by do_gammacross_effect().

◆ do_gaussian_blur_effect()

static ImBuf* do_gaussian_blur_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf ibuf1,
ImBuf UNUSEDibuf2,
ImBuf UNUSEDibuf3 
)
static

◆ do_gaussian_blur_effect_byte_x()

static void do_gaussian_blur_effect_byte_x ( Sequence seq,
int  start_line,
int  x,
int  y,
int  frame_width,
int   UNUSEDframe_height,
const unsigned char *  rect,
unsigned char *  out 
)
static

Definition at line 3446 of file effects.c.

References data, Sequence::effectdata, INDEX, make_gaussian_blur_kernel(), MEM_freeN, x, and y.

Referenced by do_gaussian_blur_effect_x_cb().

◆ do_gaussian_blur_effect_byte_y()

static void do_gaussian_blur_effect_byte_y ( Sequence seq,
int  start_line,
int  x,
int  y,
int   UNUSEDframe_width,
int  frame_height,
const unsigned char *  rect,
unsigned char *  out 
)
static

Definition at line 3496 of file effects.c.

References data, Sequence::effectdata, INDEX, make_gaussian_blur_kernel(), MEM_freeN, x, and y.

Referenced by do_gaussian_blur_effect_y_cb().

◆ do_gaussian_blur_effect_float_x()

static void do_gaussian_blur_effect_float_x ( Sequence seq,
int  start_line,
int  x,
int  y,
int  frame_width,
int   UNUSEDframe_height,
float rect,
float out 
)
static

◆ do_gaussian_blur_effect_float_y()

static void do_gaussian_blur_effect_float_y ( Sequence seq,
int  start_line,
int  x,
int  y,
int   UNUSEDframe_width,
int  frame_height,
float rect,
float out 
)
static

◆ do_gaussian_blur_effect_x_cb()

static void do_gaussian_blur_effect_x_cb ( const SeqRenderData context,
Sequence seq,
ImBuf ibuf,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_gaussian_blur_effect_y_cb()

static void do_gaussian_blur_effect_y_cb ( const SeqRenderData context,
Sequence seq,
ImBuf ibuf,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_glow_effect()

static ImBuf* do_glow_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_glow_effect_byte()

static void do_glow_effect_byte ( Sequence seq,
int  render_size,
float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  UNUSEDrect2,
unsigned char *  out 
)
static

◆ do_glow_effect_float()

static void do_glow_effect_float ( Sequence seq,
int  render_size,
float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
float rect1,
float UNUSEDrect2,
float out 
)
static

◆ do_mul_effect()

static void do_mul_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_mul_effect_byte()

static void do_mul_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 1412 of file effects.c.

References x, and y.

Referenced by do_mul_effect().

◆ do_mul_effect_float()

static void do_mul_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 1471 of file effects.c.

References x, and y.

Referenced by do_mul_effect().

◆ do_multicam()

static ImBuf* do_multicam ( const SeqRenderData context,
Sequence seq,
float  timeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf UNUSEDibuf1,
ImBuf UNUSEDibuf2,
ImBuf UNUSEDibuf3 
)
static

◆ do_overdrop_effect()

static void do_overdrop_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_solid_color()

static ImBuf* do_solid_color ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_speed_effect()

static ImBuf* do_speed_effect ( const SeqRenderData context,
Sequence seq,
float  timeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_sub_effect()

static void do_sub_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_sub_effect_byte()

static void do_sub_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 1168 of file effects.c.

References max_ii(), x, and y.

Referenced by do_sub_effect().

◆ do_sub_effect_float()

static void do_sub_effect_float ( float   UNUSEDfacf0,
float  facf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 1221 of file effects.c.

References max_ff(), x, and y.

Referenced by do_sub_effect().

◆ do_text_effect()

static ImBuf* do_text_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_transform_effect()

static void do_transform_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
ImBuf ibuf1,
ImBuf UNUSEDibuf2,
ImBuf UNUSEDibuf3,
int  start_line,
int  total_lines,
ImBuf out 
)
static

◆ do_wipe_effect()

static ImBuf* do_wipe_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float  facf0,
float  facf1,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_wipe_effect_byte()

static void do_wipe_effect_byte ( Sequence seq,
float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

◆ do_wipe_effect_float()

static void do_wipe_effect_float ( Sequence seq,
float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 2253 of file effects.c.

References check_zone(), Sequence::effectdata, NULL, precalc_wipe_zone(), x, and y.

Referenced by do_wipe_effect().

◆ early_out_adjustment()

static int early_out_adjustment ( Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 3012 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_color()

static int early_out_color ( Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 2870 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_fade()

static int early_out_fade ( Sequence UNUSEDseq,
float  facf0,
float  facf1 
)
static

Definition at line 4068 of file effects.c.

References EARLY_DO_EFFECT, EARLY_USE_INPUT_1, and EARLY_USE_INPUT_2.

◆ early_out_gaussian_blur()

static int early_out_gaussian_blur ( Sequence seq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 3410 of file effects.c.

References data, EARLY_DO_EFFECT, EARLY_USE_INPUT_1, and Sequence::effectdata.

◆ early_out_mul_input2()

static int early_out_mul_input2 ( Sequence UNUSEDseq,
float  facf0,
float  facf1 
)
static

Definition at line 4079 of file effects.c.

References EARLY_DO_EFFECT, and EARLY_USE_INPUT_1.

◆ early_out_multicam()

static int early_out_multicam ( Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 2968 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_noop()

static int early_out_noop ( Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 4063 of file effects.c.

References EARLY_DO_EFFECT.

◆ early_out_speed()

static int early_out_speed ( Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 3130 of file effects.c.

References EARLY_DO_EFFECT.

◆ early_out_text()

static int early_out_text ( Sequence seq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
)
static

Definition at line 3896 of file effects.c.

References data, EARLY_NO_INPUT, EARLY_USE_INPUT_1, Sequence::effectdata, and SEQ_TEXT_SHADOW.

◆ free_effect_default()

static void free_effect_default ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 4054 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ free_gammacross()

static void free_gammacross ( Sequence UNUSEDseq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 885 of file effects.c.

◆ free_gaussian_blur_effect()

static void free_gaussian_blur_effect ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 3396 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ free_glow_effect()

static void free_glow_effect ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 2726 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ free_noop()

static void free_noop ( Sequence UNUSEDseq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 4040 of file effects.c.

◆ free_solid_color()

static void free_solid_color ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 2856 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ free_speed_effect()

static void free_speed_effect ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 3109 of file effects.c.

References Sequence::effectdata, if(), MEM_freeN, NULL, and v.

◆ free_text_effect()

static void free_text_effect ( Sequence seq,
const bool  do_id_user 
)
static

Definition at line 3865 of file effects.c.

References data, Sequence::effectdata, MEM_freeN, NULL, and SEQ_effect_text_font_unload().

◆ free_transform_effect()

static void free_transform_effect ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 2385 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ free_wipe_effect()

static void free_wipe_effect ( Sequence seq,
const bool   UNUSEDdo_id_user 
)
static

Definition at line 2167 of file effects.c.

References Sequence::effectdata, MEM_freeN, and NULL.

◆ gammaCorrect()

static float gammaCorrect ( float  c)
static

◆ gammacross_init_execution()

static struct ImBuf* gammacross_init_execution ( const SeqRenderData context,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

Definition at line 990 of file effects.c.

References build_gammatabs(), context, and prepare_effect_imbufs().

◆ gamtabs()

static void gamtabs ( float  gamma)
static

Definition at line 834 of file effects.c.

References Freestyle::a, gamtab, igamtab1, KDL::pow(), powf, and sqrtf.

Referenced by build_gammatabs().

◆ get_default_fac_fade()

static void get_default_fac_fade ( Sequence seq,
float  timeline_frame,
float facf0,
float facf1 
)
static

Definition at line 4103 of file effects.c.

References float(), Sequence::len, and Sequence::startdisp.

◆ get_default_fac_noop()

static void get_default_fac_noop ( Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float facf0,
float facf1 
)
static

Definition at line 4095 of file effects.c.

◆ get_sequence_effect_impl()

static struct SeqEffectHandle get_sequence_effect_impl ( int  seq_type)
static

Definition at line 4111 of file effects.c.

References context, and prepare_effect_imbufs().

Referenced by do_speed_effect(), and SEQ_effect_get_num_inputs().

◆ in_band()

static float in_band ( float  width,
float  dist,
int  side,
int  dir 
)
static

Definition at line 1907 of file effects.c.

References alpha, and width.

Referenced by check_zone().

◆ init_alpha_over_or_under()

static void init_alpha_over_or_under ( Sequence seq)
static

Definition at line 198 of file effects.c.

References Sequence::seq1, and Sequence::seq2.

◆ init_colormix_effect()

static void init_colormix_effect ( Sequence seq)
static

Definition at line 1840 of file effects.c.

References data, Sequence::effectdata, MEM_callocN, MEM_freeN, and SEQ_TYPE_OVERLAY.

◆ init_execution()

static struct ImBuf* init_execution ( const SeqRenderData context,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

Definition at line 4111 of file effects.c.

◆ init_gammacross()

static void init_gammacross ( Sequence UNUSEDseq)
static

Definition at line 877 of file effects.c.

◆ init_gaussian_blur_effect()

static void init_gaussian_blur_effect ( Sequence seq)
static

Definition at line 3382 of file effects.c.

References Sequence::effectdata, MEM_callocN, and MEM_freeN.

◆ init_glow_effect()

static void init_glow_effect ( Sequence seq)
static

◆ init_noop()

static void init_noop ( Sequence UNUSEDseq)
static

Definition at line 4032 of file effects.c.

◆ init_solid_color()

static void init_solid_color ( Sequence seq)
static

Definition at line 2837 of file effects.c.

References SolidColorVars::col, Sequence::effectdata, MEM_callocN, and MEM_freeN.

◆ init_speed_effect()

static void init_speed_effect ( Sequence seq)
static

Definition at line 3079 of file effects.c.

References Sequence::effectdata, MEM_callocN, MEM_freeN, NULL, SEQ_SPEED_INTEGRATE, and v.

◆ init_text_effect()

static void init_text_effect ( Sequence seq)
static

◆ init_transform_effect()

static void init_transform_effect ( Sequence seq)
static

Definition at line 2355 of file effects.c.

References Sequence::effectdata, MEM_callocN, MEM_freeN, and transform().

◆ init_wipe_effect()

static void init_wipe_effect ( Sequence seq)
static

Definition at line 2153 of file effects.c.

References Sequence::effectdata, MEM_callocN, and MEM_freeN.

◆ invGammaCorrect()

static float invGammaCorrect ( float  c)
static

◆ load_gammacross()

static void load_gammacross ( Sequence UNUSEDseq)
static

Definition at line 881 of file effects.c.

◆ load_noop()

static void load_noop ( Sequence UNUSEDseq)
static

Definition at line 4036 of file effects.c.

◆ load_speed_effect()

static void load_speed_effect ( Sequence seq)
static

Definition at line 3096 of file effects.c.

References Sequence::effectdata, NULL, and v.

◆ load_text_effect()

static void load_text_effect ( Sequence seq)
static

Definition at line 3876 of file effects.c.

References data, Sequence::effectdata, and SEQ_effect_text_font_load().

◆ make_gaussian_blur_kernel()

static float* make_gaussian_blur_kernel ( float  rad,
int  size 
)
static

◆ makeGammaTables()

static void makeGammaTables ( float  gamma)
static

◆ num_inputs_adjustment()

static int num_inputs_adjustment ( void  )
static

Definition at line 3007 of file effects.c.

◆ num_inputs_color()

static int num_inputs_color ( void  )
static

Definition at line 2851 of file effects.c.

◆ num_inputs_default()

static int num_inputs_default ( void  )
static

Definition at line 4044 of file effects.c.

◆ num_inputs_gaussian_blur()

static int num_inputs_gaussian_blur ( void  )
static

Definition at line 3391 of file effects.c.

◆ num_inputs_glow()

static int num_inputs_glow ( void  )
static

Definition at line 2721 of file effects.c.

◆ num_inputs_multicam()

static int num_inputs_multicam ( void  )
static

Definition at line 2963 of file effects.c.

◆ num_inputs_speed()

static int num_inputs_speed ( void  )
static

Definition at line 3104 of file effects.c.

◆ num_inputs_text()

static int num_inputs_text ( void  )
static

Definition at line 3891 of file effects.c.

◆ num_inputs_transform()

static int num_inputs_transform ( void  )
static

Definition at line 2380 of file effects.c.

◆ num_inputs_wipe()

static int num_inputs_wipe ( void  )
static

Definition at line 2162 of file effects.c.

◆ precalc_wipe_zone()

static void precalc_wipe_zone ( WipeZone wipezone,
WipeVars wipe,
int  xo,
int  yo 
)
static

◆ prepare_effect_imbufs()

static ImBuf* prepare_effect_imbufs ( const SeqRenderData context,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ render_effect_execute_do_x_thread()

static void* render_effect_execute_do_x_thread ( void *  thread_data_v)
static

◆ render_effect_execute_do_y_thread()

static void* render_effect_execute_do_y_thread ( void *  thread_data_v)
static

◆ render_effect_execute_init_handle()

static void render_effect_execute_init_handle ( void *  handle_v,
int  start_line,
int  tot_line,
void *  init_data_v 
)
static

◆ RVAddBitmaps_float()

static void RVAddBitmaps_float ( float a,
float b,
float c,
int  width,
int  height 
)
static

Definition at line 2659 of file effects.c.

References Freestyle::a, Freestyle::c, GlowA, GlowB, GlowG, GlowR, height, min_ff(), width, x, and y.

Referenced by do_glow_effect_byte(), and do_glow_effect_float().

◆ RVBlurBitmap2_float()

static void RVBlurBitmap2_float ( float map,
int  width,
int  height,
float  blur,
int  quality 
)
static

◆ RVIsolateHighlights_float()

static void RVIsolateHighlights_float ( const float in,
float out,
int  width,
int  height,
float  threshold,
float  boost,
float  clamp 
)
static

Definition at line 2674 of file effects.c.

References clamp(), GlowA, GlowB, GlowG, GlowR, height, min_ff(), width, x, and y.

Referenced by do_glow_effect_byte(), and do_glow_effect_float().

◆ SEQ_effect_get_num_inputs()

int SEQ_effect_get_num_inputs ( int  seq_type)

◆ seq_effect_get_sequence_blend()

struct SeqEffectHandle seq_effect_get_sequence_blend ( Sequence seq)

◆ SEQ_effect_handle_get()

struct SeqEffectHandle SEQ_effect_handle_get ( Sequence seq)

◆ seq_effect_speed_get_strip_content_length()

static int seq_effect_speed_get_strip_content_length ( const Sequence seq)
static

Generator strips with zero inputs have their length set to 1 permanently. In some cases it is useful to use speed effect on these strips because they can be animated. This can be done by using their length as is on timeline as content length. See T82698.

Definition at line 3163 of file effects.c.

References Sequence::enddisp, Sequence::len, SEQ_effect_get_num_inputs(), SEQ_TYPE_EFFECT, Sequence::startdisp, and Sequence::type.

Referenced by seq_effect_speed_rebuild_map().

◆ seq_effect_speed_rebuild_map()

void seq_effect_speed_rebuild_map ( Scene scene,
Sequence seq,
bool  force 
)

◆ SEQ_effect_text_font_load()

void SEQ_effect_text_font_load ( TextVars data,
const bool  do_id_user 
)

◆ SEQ_effect_text_font_unload()

void SEQ_effect_text_font_unload ( TextVars data,
const bool  do_id_user 
)

Definition at line 3833 of file effects.c.

References BLF_unload_id(), data, id_us_min(), and NULL.

Referenced by free_text_effect().

◆ seq_speed_effect_target_frame_get()

float seq_speed_effect_target_frame_get ( const SeqRenderData context,
Sequence seq,
float  timeline_frame,
int  input 
)

◆ slice_get_byte_buffers()

static void slice_get_byte_buffers ( const SeqRenderData context,
const ImBuf ibuf1,
const ImBuf ibuf2,
const ImBuf ibuf3,
const ImBuf out,
int  start_line,
unsigned char **  rect1,
unsigned char **  rect2,
unsigned char **  rect3,
unsigned char **  rect_out 
)
static

◆ slice_get_float_buffers()

static void slice_get_float_buffers ( const SeqRenderData context,
const ImBuf ibuf1,
const ImBuf ibuf2,
const ImBuf ibuf3,
const ImBuf out,
int  start_line,
float **  rect1,
float **  rect2,
float **  rect3,
float **  rect_out 
)
static

◆ speed_effect_interpolation_ratio_get()

static float speed_effect_interpolation_ratio_get ( SpeedControlVars s,
Sequence seq,
float  timeline_frame 
)
static

Definition at line 3301 of file effects.c.

References floor(), SpeedControlVars::frameMap, and seq_give_frame_index().

Referenced by do_speed_effect().

◆ store_icu_yrange_noop()

static void store_icu_yrange_noop ( Sequence UNUSEDseq,
short   UNUSEDadrcode,
float UNUSEDymin,
float UNUSEDymax 
)
static

Definition at line 4087 of file effects.c.

◆ store_icu_yrange_speed()

static void store_icu_yrange_speed ( Sequence seq,
short   UNUSEDadrcode,
float ymin,
float ymax 
)
static

◆ transform_image()

static void transform_image ( int  x,
int  y,
int  start_line,
int  total_lines,
ImBuf ibuf1,
ImBuf out,
float  scale_x,
float  scale_y,
float  translate_x,
float  translate_y,
float  rotate,
int  interpolation 
)
static

Variable Documentation

◆ color_domain_table

float color_domain_table[RE_GAMMA_TABLE_SIZE+1]
static

Definition at line 746 of file effects.c.

Referenced by gammaCorrect(), invGammaCorrect(), and makeGammaTables().

◆ color_step

float color_step
static

Definition at line 747 of file effects.c.

Referenced by makeGammaTables(), and ui_draw_gradient().

◆ gamfactor_table

float gamfactor_table[RE_GAMMA_TABLE_SIZE]
static

Definition at line 743 of file effects.c.

Referenced by gammaCorrect(), and makeGammaTables().

◆ gamma_range_table

float gamma_range_table[RE_GAMMA_TABLE_SIZE+1]
static

Definition at line 742 of file effects.c.

Referenced by gammaCorrect(), and makeGammaTables().

◆ gamma_tabs_init

bool gamma_tabs_init = false
static

Definition at line 738 of file effects.c.

Referenced by build_gammatabs().

◆ gamtab

unsigned short gamtab[65536]
static

Definition at line 736 of file effects.c.

Referenced by gamtabs().

◆ igamtab1

unsigned short igamtab1[256]
static

Definition at line 737 of file effects.c.

Referenced by gamtabs().

◆ inv_color_step

float inv_color_step
static

Definition at line 748 of file effects.c.

Referenced by gammaCorrect(), invGammaCorrect(), and makeGammaTables().

◆ inv_gamfactor_table

float inv_gamfactor_table[RE_GAMMA_TABLE_SIZE]
static

Definition at line 745 of file effects.c.

Referenced by invGammaCorrect(), and makeGammaTables().

◆ inv_gamma_range_table

float inv_gamma_range_table[RE_GAMMA_TABLE_SIZE+1]
static

Definition at line 744 of file effects.c.

Referenced by invGammaCorrect(), and makeGammaTables().

◆ valid_gamma

float valid_gamma
static

Definition at line 749 of file effects.c.

Referenced by gammaCorrect(), and makeGammaTables().

◆ valid_inv_gamma

float valid_inv_gamma
static

Definition at line 750 of file effects.c.

Referenced by invGammaCorrect(), and makeGammaTables().