Blender  V3.3
Classes | Macros
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_packedFile_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 "RNA_prototypes.h"
#include "RE_pipeline.h"
#include "SEQ_channels.h"
#include "SEQ_effects.h"
#include "SEQ_proxy.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_time.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 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)
 

Functions

Sequence Effect Factory
static struct SeqEffectHandle get_sequence_effect_impl (int seq_type)
 
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(fac))
 
static int early_out_fade (Sequence *UNUSED(seq), float fac)
 
static int early_out_mul_input2 (Sequence *UNUSED(seq), float fac)
 
static int early_out_mul_input1 (Sequence *UNUSED(seq), float fac)
 
static void get_default_fac_noop (const Scene *UNUSED(scene), Sequence *UNUSED(seq), float UNUSED(timeline_frame), float *fac)
 
static void get_default_fac_fade (const Scene *scene, Sequence *seq, float timeline_frame, float *fac)
 
static struct ImBufinit_execution (const SeqRenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
Internal Utilities
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)
 
Alpha Over Effect
static void init_alpha_over_or_under (Sequence *seq)
 
static void do_alphaover_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_alphaover_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Alpha Under Effect
static void do_alphaunder_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_alphaunder_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Cross Effect
static void do_cross_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_cross_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Color Add Effect
static void do_add_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_add_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Color Subtract Effect
static void do_sub_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_sub_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Multiply Effect
static void do_mul_effect_byte (float fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_mul_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Color Mix Effect
static void init_colormix_effect (Sequence *seq)
 
static void do_colormix_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(fac), ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Transform Effect
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(fac), ImBuf *ibuf1, ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Solid Color Effect
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(fac))
 
static ImBufdo_solid_color (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(fac), ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
Multi-Camera Effect
static int num_inputs_multicam (void)
 
static int early_out_multicam (Sequence *UNUSED(seq), float UNUSED(fac))
 
static ImBufdo_multicam (const SeqRenderData *context, Sequence *seq, float timeline_frame, float UNUSED(fac), ImBuf *UNUSED(ibuf1), ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 
Adjustment Effect
static int num_inputs_adjustment (void)
 
static int early_out_adjustment (Sequence *UNUSED(seq), float UNUSED(fac))
 
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(fac), ImBuf *UNUSED(ibuf1), ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 
Speed Effect
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(fac))
 
static FCurveseq_effect_speed_speed_factor_curve_get (Scene *scene, Sequence *seq)
 
void seq_effect_speed_rebuild_map (Scene *scene, Sequence *seq)
 
static void seq_effect_speed_frame_map_ensure (Scene *scene, Sequence *seq)
 
float seq_speed_effect_target_frame_get (Scene *scene, Sequence *seq_speed, float timeline_frame, int input)
 
static float speed_effect_interpolation_ratio_get (Scene *scene, Sequence *seq_speed, float timeline_frame)
 
static ImBufdo_speed_effect (const SeqRenderData *context, Sequence *seq, float timeline_frame, float fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
Over-Drop Effect
static void do_overdrop_effect (const SeqRenderData *context, Sequence *UNUSED(seq), float UNUSED(timeline_frame), float fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 
Text Effect
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(fac))
 
static ImBufdo_text_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float UNUSED(fac), ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
Public Sequencer Effect API
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)
 

Gamma Cross

#define RE_GAMMA_TABLE_SIZE   400
 
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
 
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 fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_gammacross_effect_float (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 

Drop Effect

#define XOFF   8
 
#define YOFF   8
 
static void do_drop_effect_byte (float fac, int x, int y, unsigned char *rect2i, unsigned char *rect1i, unsigned char *outi)
 
static void do_drop_effect_float (float fac, int x, int y, float *rect2i, float *rect1i, float *outi)
 

Glow Effect

enum  { GlowR = 0 , GlowG = 1 , GlowB = 2 , GlowA = 3 }
 
static ImBufprepare_effect_imbufs (const SeqRenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 
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 fac, 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 fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 

Blend Mode Effect

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)
 
BLI_INLINE void apply_blend_function_byte (float fac, 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 fac, int x, int y, float *rect1, float *rect2, float *out, IMB_blend_func_float blend_function)
 
static void do_blend_effect_float (float fac, int x, int y, float *rect1, float *rect2, int btype, float *out)
 
static void do_blend_effect_byte (float fac, 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 fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *UNUSED(ibuf3), int start_line, int total_lines, ImBuf *out)
 

Wipe Effect

typedef struct WipeZone WipeZone
 
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 fac)
 
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 fac, int x, int y, unsigned char *rect1, unsigned char *rect2, unsigned char *out)
 
static void do_wipe_effect_float (Sequence *seq, float fac, int x, int y, float *rect1, float *rect2, float *out)
 
static ImBufdo_wipe_effect (const SeqRenderData *context, Sequence *seq, float UNUSED(timeline_frame), float fac, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *ibuf3)
 

Gaussian Blur

typedef struct RenderGaussianBlurEffectInitData RenderGaussianBlurEffectInitData
 
typedef struct RenderGaussianBlurEffectThread RenderGaussianBlurEffectThread
 
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(fac))
 
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 voidrender_effect_execute_do_x_thread (void *thread_data_v)
 
static voidrender_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(fac), ImBuf *ibuf1, ImBuf *UNUSED(ibuf2), ImBuf *UNUSED(ibuf3))
 

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 519 of file effects.c.

◆ XOFF

#define XOFF   8

Definition at line 925 of file effects.c.

◆ YOFF

#define YOFF   8

Definition at line 926 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 1087 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 1090 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 124 of file effects.c.

Function Documentation

◆ apply_blend_function_byte()

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

Definition at line 1092 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_blend_effect_byte().

◆ apply_blend_function_float()

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

Definition at line 1118 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_blend_effect_float().

◆ build_gammatabs()

static void build_gammatabs ( void  )
static

Definition at line 647 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  fac 
)
static

◆ copy_effect_default()

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

Definition at line 3460 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ copy_gaussian_blur_effect()

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

Definition at line 2796 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ copy_glow_effect()

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

Definition at line 2210 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ copy_solid_color()

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

Definition at line 2335 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ copy_speed_effect()

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

Definition at line 2573 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, NULL, src, 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 1861 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ copy_wipe_effect()

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

Definition at line 1663 of file effects.c.

References Sequence::effectdata, MEM_dupallocN, and src.

◆ do_add_effect()

static void do_add_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  fac,
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  fac,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 762 of file effects.c.

References min_ii(), usdtokens::out(), x, and y.

Referenced by do_add_effect().

◆ do_add_effect_float()

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

Definition at line 786 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_add_effect().

◆ do_adjustment()

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

Definition at line 2508 of file effects.c.

References blender::compositor::context, do_adjustment_impl(), NULL, and usdtokens::out().

◆ 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  fac,
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  fac,
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  fac,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 245 of file effects.c.

References usdtokens::out(), 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  fac,
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  fac,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

◆ do_alphaunder_effect_float()

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

Definition at line 358 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_alphaunder_effect().

◆ do_blend_effect_byte()

static void do_blend_effect_byte ( float  fac,
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  fac,
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  fac,
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   UNUSEDfac,
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  fac,
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  fac,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 433 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_cross_effect().

◆ do_cross_effect_float()

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

Definition at line 457 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_cross_effect().

◆ do_drop_effect_byte()

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

Definition at line 928 of file effects.c.

References MAX2, min_ii(), usdtokens::out(), x, XOFF, y, and YOFF.

Referenced by do_overdrop_effect().

◆ do_drop_effect_float()

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

Definition at line 962 of file effects.c.

References MAX2, min_ii(), usdtokens::out(), 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  fac,
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  fac,
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  fac,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 697 of file effects.c.

References gammaCorrect(), invGammaCorrect(), usdtokens::out(), 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   UNUSEDfac,
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

◆ 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

◆ 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  fac,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_glow_effect_byte()

static void do_glow_effect_byte ( Sequence seq,
int  render_size,
float  fac,
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  fac,
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  fac,
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  fac,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 1002 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_mul_effect().

◆ do_mul_effect_float()

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

Definition at line 1029 of file effects.c.

References usdtokens::out(), x, and y.

Referenced by do_mul_effect().

◆ do_multicam()

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

◆ do_overdrop_effect()

static void do_overdrop_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  fac,
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   UNUSEDfac,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_speed_effect()

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

◆ do_sub_effect()

static void do_sub_effect ( const SeqRenderData context,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float  fac,
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  fac,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
)
static

Definition at line 842 of file effects.c.

References max_ii(), usdtokens::out(), x, and y.

Referenced by do_sub_effect().

◆ do_sub_effect_float()

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

Definition at line 866 of file effects.c.

References max_ff(), usdtokens::out(), 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   UNUSEDfac,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_transform_effect()

static void do_transform_effect ( const SeqRenderData context,
Sequence seq,
float   UNUSEDtimeline_frame,
float   UNUSEDfac,
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  fac,
ImBuf ibuf1,
ImBuf ibuf2,
ImBuf ibuf3 
)
static

◆ do_wipe_effect_byte()

static void do_wipe_effect_byte ( Sequence seq,
float  fac,
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  fac,
int  x,
int  y,
float rect1,
float rect2,
float out 
)
static

Definition at line 1734 of file effects.c.

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

Referenced by do_wipe_effect().

◆ early_out_adjustment()

static int early_out_adjustment ( Sequence UNUSEDseq,
float   UNUSEDfac 
)
static

Definition at line 2464 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_color()

static int early_out_color ( Sequence UNUSEDseq,
float   UNUSEDfac 
)
static

Definition at line 2340 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_fade()

static int early_out_fade ( Sequence UNUSEDseq,
float  fac 
)
static

Definition at line 3475 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   UNUSEDfac 
)
static

Definition at line 2801 of file effects.c.

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

◆ early_out_mul_input1()

static int early_out_mul_input1 ( Sequence UNUSEDseq,
float  fac 
)
static

Definition at line 3494 of file effects.c.

References EARLY_DO_EFFECT, and EARLY_USE_INPUT_2.

◆ early_out_mul_input2()

static int early_out_mul_input2 ( Sequence UNUSEDseq,
float  fac 
)
static

Definition at line 3486 of file effects.c.

References EARLY_DO_EFFECT, and EARLY_USE_INPUT_1.

◆ early_out_multicam()

static int early_out_multicam ( Sequence UNUSEDseq,
float   UNUSEDfac 
)
static

Definition at line 2416 of file effects.c.

References EARLY_NO_INPUT.

◆ early_out_noop()

static int early_out_noop ( Sequence UNUSEDseq,
float   UNUSEDfac 
)
static

Definition at line 3470 of file effects.c.

References EARLY_DO_EFFECT.

◆ early_out_speed()

static int early_out_speed ( Sequence UNUSEDseq,
float   UNUSEDfac 
)
static

Definition at line 2581 of file effects.c.

References EARLY_DO_EFFECT.

◆ early_out_text()

static int early_out_text ( Sequence seq,
float   UNUSEDfac 
)
static

Definition at line 3306 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 3465 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ free_gammacross()

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

Definition at line 664 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 2791 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ free_glow_effect()

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

Definition at line 2205 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ free_noop()

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

Definition at line 3451 of file effects.c.

◆ free_solid_color()

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

Definition at line 2330 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ free_speed_effect()

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

Definition at line 2564 of file effects.c.

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

◆ free_text_effect()

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

Definition at line 3275 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 1856 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ free_wipe_effect()

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

Definition at line 1658 of file effects.c.

References Sequence::effectdata, and MEM_SAFE_FREE.

◆ 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

◆ gamtabs()

static void gamtabs ( float  gamma)
static

Definition at line 613 of file effects.c.

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

Referenced by build_gammatabs().

◆ get_default_fac_fade()

static void get_default_fac_fade ( const Scene scene,
Sequence seq,
float  timeline_frame,
float fac 
)
static

◆ get_default_fac_noop()

static void get_default_fac_noop ( const Scene UNUSEDscene,
Sequence UNUSEDseq,
float   UNUSEDtimeline_frame,
float fac 
)
static

Definition at line 3502 of file effects.c.

◆ get_sequence_effect_impl()

static struct SeqEffectHandle get_sequence_effect_impl ( int  seq_type)
static

◆ in_band()

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

This function calculates the blur band for the wipe effects.

Definition at line 1398 of file effects.c.

References 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 1326 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 3519 of file effects.c.

◆ init_gammacross()

static void init_gammacross ( Sequence UNUSEDseq)
static

Definition at line 656 of file effects.c.

◆ init_gaussian_blur_effect()

static void init_gaussian_blur_effect ( Sequence seq)
static

Definition at line 2777 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 3443 of file effects.c.

◆ init_solid_color()

static void init_solid_color ( Sequence seq)
static

Definition at line 2311 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 2536 of file effects.c.

References Sequence::effectdata, MEM_callocN, MEM_freeN, SEQ_SPEED_STRETCH, 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 1826 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 1644 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 660 of file effects.c.

◆ load_noop()

static void load_noop ( Sequence UNUSEDseq)
static

Definition at line 3447 of file effects.c.

◆ load_speed_effect()

static void load_speed_effect ( Sequence seq)
static

Definition at line 2553 of file effects.c.

References Sequence::effectdata, NULL, and v.

◆ load_text_effect()

static void load_text_effect ( Sequence seq)
static

Definition at line 3286 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

No effect inputs for adjustment, we use #give_ibuf_seq.

Definition at line 2459 of file effects.c.

◆ num_inputs_color()

static int num_inputs_color ( void  )
static

Definition at line 2325 of file effects.c.

◆ num_inputs_default()

static int num_inputs_default ( void  )
static

Definition at line 3455 of file effects.c.

◆ num_inputs_gaussian_blur()

static int num_inputs_gaussian_blur ( void  )
static

Definition at line 2786 of file effects.c.

◆ num_inputs_glow()

static int num_inputs_glow ( void  )
static

Definition at line 2200 of file effects.c.

◆ num_inputs_multicam()

static int num_inputs_multicam ( void  )
static

No effect inputs for multi-camera, we use #give_ibuf_seq.

Definition at line 2411 of file effects.c.

◆ num_inputs_speed()

static int num_inputs_speed ( void  )
static

Definition at line 2559 of file effects.c.

◆ num_inputs_text()

static int num_inputs_text ( void  )
static

Definition at line 3301 of file effects.c.

◆ num_inputs_transform()

static int num_inputs_transform ( void  )
static

Definition at line 1851 of file effects.c.

◆ num_inputs_wipe()

static int num_inputs_wipe ( void  )
static

Definition at line 1653 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 2138 of file effects.c.

References Freestyle::a, usdtokens::b(), 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

◆ 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_frame_map_ensure()

static void seq_effect_speed_frame_map_ensure ( Scene scene,
Sequence seq 
)
static

◆ seq_effect_speed_rebuild_map()

void seq_effect_speed_rebuild_map ( struct Scene scene,
struct Sequence seq 
)

◆ seq_effect_speed_speed_factor_curve_get()

static FCurve* seq_effect_speed_speed_factor_curve_get ( Scene scene,
Sequence seq 
)
static

◆ 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 3227 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 ( struct Scene scene,
struct 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 ( Scene scene,
Sequence seq_speed,
float  timeline_frame 
)
static

Definition at line 2690 of file effects.c.

References blender::math::floor(), scene, and seq_speed_effect_target_frame_get().

Referenced by do_speed_effect().

◆ 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 525 of file effects.c.

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

◆ color_step

float color_step
static

Definition at line 526 of file effects.c.

Referenced by makeGammaTables(), and ui_draw_gradient().

◆ gamfactor_table

float gamfactor_table[RE_GAMMA_TABLE_SIZE]
static

Definition at line 522 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 521 of file effects.c.

Referenced by gammaCorrect(), and makeGammaTables().

◆ gamma_tabs_init

bool gamma_tabs_init = false
static

Definition at line 517 of file effects.c.

Referenced by build_gammatabs().

◆ gamtab

unsigned short gamtab[65536]
static

Definition at line 515 of file effects.c.

Referenced by gamtabs().

◆ igamtab1

unsigned short igamtab1[256]
static

Definition at line 516 of file effects.c.

Referenced by gamtabs().

◆ inv_color_step

float inv_color_step
static

Definition at line 527 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 524 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 523 of file effects.c.

Referenced by invGammaCorrect(), and makeGammaTables().

◆ valid_gamma

float valid_gamma
static

Definition at line 528 of file effects.c.

Referenced by gammaCorrect(), and makeGammaTables().

◆ valid_inv_gamma

float valid_inv_gamma
static

Definition at line 529 of file effects.c.

Referenced by invGammaCorrect(), and makeGammaTables().