Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations | Functions | Variables

seqeffects.c File Reference

#include <string.h>
#include <math.h>
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "BLI_dynlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BLI_string.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_anim_types.h"
#include "BKE_fcurve.h"
#include "BKE_main.h"
#include "BKE_plugin_types.h"
#include "BKE_sequencer.h"
#include "BKE_texture.h"
#include "BKE_utildefines.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
#include "RNA_access.h"

Go to the source code of this file.

Classes

struct  WipeZone

Defines

#define INT   96
#define FLO   128
#define RE_GAMMA_TABLE_SIZE   400
#define XOFF   8
#define YOFF   8

Typedefs

typedef struct WipeZone WipeZone

Enumerations

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

Functions

static void error (const char *UNUSED(error),...)
static struct ImBufprepare_effect_imbufs (SeqRenderData context, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void open_plugin_seq (PluginSeq *pis, const char *seqname)
static PluginSeqadd_plugin_seq (const char *str, const char *seqname)
static void free_plugin_seq (PluginSeq *pis)
static void init_plugin (Sequence *seq, const char *fname)
static int num_inputs_plugin (void)
static void load_plugin (Sequence *seq)
static void copy_plugin (Sequence *dst, Sequence *src)
static ImBufIMB_cast_away_list (ImBuf *i)
static struct ImBufdo_plugin_effect (SeqRenderData context, Sequence *seq, float cfra, float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static int do_plugin_early_out (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static void free_plugin (struct Sequence *seq)
static void init_alpha_over_or_under (Sequence *seq)
static void do_alphaover_effect_byte (float facf0, float facf1, int x, int y, char *rect1, char *rect2, char *out)
static void do_alphaover_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
static struct ImBufdo_alphaover_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void do_alphaunder_effect_byte (float facf0, float facf1, int x, int y, char *rect1, char *rect2, char *out)
static void do_alphaunder_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
static struct ImBufdo_alphaunder_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void do_cross_effect_byte (float facf0, float facf1, int x, int y, char *rect1, char *rect2, char *out)
static void do_cross_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
static struct ImBufdo_cross_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void makeGammaTables (float gamma)
static float gammaCorrect (float c)
static float invGammaCorrect (float col)
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))
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 ImBufdo_gammacross_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
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 struct ImBufdo_add_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void do_sub_effect_byte (float facf0, float facf1, int x, int y, char *rect1, char *rect2, char *out)
static void do_sub_effect_float (float facf0, float facf1, int x, int y, float *rect1, float *rect2, float *out)
static struct ImBufdo_sub_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void do_drop_effect_byte (float facf0, float facf1, int x, int y, char *rect2i, char *rect1i, 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 struct ImBufdo_mul_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
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)
static void copy_wipe_effect (Sequence *dst, Sequence *src)
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 struct ImBufdo_wipe_effect (SeqRenderData context, Sequence *seq, float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void init_transform_effect (Sequence *seq)
static int num_inputs_transform (void)
static void free_transform_effect (Sequence *seq)
static void copy_transform_effect (Sequence *dst, Sequence *src)
static void transform_image (int x, int y, struct ImBuf *ibuf1, struct ImBuf *out, float scale_x, float scale_y, float translate_x, float translate_y, float rotate, int interpolation)
static void do_transform (Scene *scene, Sequence *seq, float UNUSED(facf0), int x, int y, struct ImBuf *ibuf1, struct ImBuf *out)
static struct ImBufdo_transform_effect (SeqRenderData context, Sequence *seq, float UNUSED(cfra), float facf0, float UNUSED(facf1), struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void RVBlurBitmap2_byte (unsigned char *map, int width, int height, float blur, int quality)
static void RVBlurBitmap2_float (float *map, int width, int height, float blur, int quality)
static void RVAddBitmaps_byte (unsigned char *a, unsigned char *b, unsigned char *c, int width, int height)
static void RVAddBitmaps_float (float *a, float *b, float *c, int width, int height)
static void RVIsolateHighlights_byte (unsigned char *in, unsigned char *out, int width, int height, int threshold, float boost, float clamp)
static void RVIsolateHighlights_float (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)
static void copy_glow_effect (Sequence *dst, Sequence *src)
static void do_glow_effect_byte (Sequence *seq, int render_size, float facf0, float UNUSED(facf1), int x, int y, char *rect1, char *UNUSED(rect2), 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 struct ImBufdo_glow_effect (SeqRenderData context, Sequence *seq, float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static void init_solid_color (Sequence *seq)
static int num_inputs_color (void)
static void free_solid_color (Sequence *seq)
static void copy_solid_color (Sequence *dst, Sequence *src)
static int early_out_color (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static struct ImBufdo_solid_color (SeqRenderData context, Sequence *seq, float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static int num_inputs_multicam (void)
static int early_out_multicam (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static struct ImBufdo_multicam (SeqRenderData context, Sequence *seq, float cfra, float UNUSED(facf0), float UNUSED(facf1), struct ImBuf *UNUSED(ibuf1), struct ImBuf *UNUSED(ibuf2), struct ImBuf *UNUSED(ibuf3))
static int num_inputs_adjustment (void)
static int early_out_adjustment (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static struct ImBufdo_adjustment_impl (SeqRenderData context, Sequence *seq, float cfra)
static struct ImBufdo_adjustment (SeqRenderData context, Sequence *seq, float cfra, float UNUSED(facf0), float UNUSED(facf1), struct ImBuf *UNUSED(ibuf1), struct ImBuf *UNUSED(ibuf2), struct 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)
static void copy_speed_effect (Sequence *dst, Sequence *src)
static int early_out_speed (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static void store_icu_yrange_speed (struct Sequence *seq, short UNUSED(adrcode), float *ymin, float *ymax)
void sequence_effect_speed_rebuild_map (Scene *scene, Sequence *seq, int force)
static void init_noop (struct Sequence *UNUSED(seq))
static void load_noop (struct Sequence *UNUSED(seq))
static void init_plugin_noop (struct Sequence *UNUSED(seq), const char *UNUSED(fname))
static void free_noop (struct Sequence *UNUSED(seq))
static int num_inputs_default (void)
static int early_out_noop (struct Sequence *UNUSED(seq), float UNUSED(facf0), float UNUSED(facf1))
static int early_out_fade (struct Sequence *UNUSED(seq), float facf0, float facf1)
static int early_out_mul_input2 (struct Sequence *UNUSED(seq), float facf0, float facf1)
static void store_icu_yrange_noop (struct Sequence *UNUSED(seq), short UNUSED(adrcode), float *UNUSED(ymin), float *UNUSED(ymax))
static void get_default_fac_noop (struct Sequence *UNUSED(seq), float UNUSED(cfra), float *facf0, float *facf1)
static void get_default_fac_fade (struct Sequence *seq, float cfra, float *facf0, float *facf1)
static struct ImBufdo_overdrop_effect (SeqRenderData context, Sequence *UNUSED(seq), float UNUSED(cfra), float facf0, float facf1, struct ImBuf *ibuf1, struct ImBuf *ibuf2, struct ImBuf *ibuf3)
static struct SeqEffectHandle get_sequence_effect_impl (int seq_type)
struct SeqEffectHandle get_sequence_effect (Sequence *seq)
struct SeqEffectHandle get_sequence_blend (Sequence *seq)
int get_sequence_effect_num_inputs (int seq_type)

Variables

static unsigned short gamtab [65536]
static unsigned short igamtab1 [256]
static int 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

Detailed Description

Definition in file seqeffects.c.


Define Documentation

#define FLO   128
#define INT   96
#define RE_GAMMA_TABLE_SIZE   400

Definition at line 866 of file seqeffects.c.

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

#define XOFF   8

Definition at line 1362 of file seqeffects.c.

Referenced by do_drop_effect_byte(), and do_drop_effect_float().

#define YOFF   8

Definition at line 1363 of file seqeffects.c.

Referenced by do_drop_effect_byte(), and do_drop_effect_float().


Typedef Documentation

typedef struct WipeZone WipeZone

Enumeration Type Documentation

anonymous enum
Enumerator:
GlowR 
GlowG 
GlowB 
GlowA 

Definition at line 69 of file seqeffects.c.


Function Documentation

static PluginSeq* add_plugin_seq ( const char *  str,
const char *  seqname 
) [static]
static void build_gammatabs ( void  ) [static]

Definition at line 980 of file seqeffects.c.

References FALSE, gamtabs(), makeGammaTables(), and TRUE.

Referenced by do_gammacross_effect().

static float check_zone ( WipeZone wipezone,
int  x,
int  y,
Sequence seq,
float  facf0 
) [static]
static void copy_glow_effect ( Sequence dst,
Sequence src 
) [static]

Definition at line 2608 of file seqeffects.c.

References Sequence::effectdata, and MEM_dupallocN().

Referenced by get_sequence_effect_impl().

static void copy_plugin ( Sequence dst,
Sequence src 
) [static]

Definition at line 266 of file seqeffects.c.

References MEM_dupallocN(), Sequence::name, open_plugin_seq(), and Sequence::plugin.

Referenced by get_sequence_effect_impl().

static void copy_solid_color ( Sequence dst,
Sequence src 
) [static]

Definition at line 2695 of file seqeffects.c.

References Sequence::effectdata, and MEM_dupallocN().

Referenced by get_sequence_effect_impl().

static void copy_speed_effect ( Sequence dst,
Sequence src 
) [static]
static void copy_transform_effect ( Sequence dst,
Sequence src 
) [static]

Definition at line 2040 of file seqeffects.c.

References Sequence::effectdata, and MEM_dupallocN().

Referenced by get_sequence_effect_impl().

static void copy_wipe_effect ( Sequence dst,
Sequence src 
) [static]

Definition at line 1861 of file seqeffects.c.

References Sequence::effectdata, and MEM_dupallocN().

Referenced by get_sequence_effect_impl().

static struct ImBuf* do_add_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
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 1130 of file seqeffects.c.

References ImBuf::x.

Referenced by do_add_effect().

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

Definition at line 1182 of file seqeffects.c.

References ImBuf::x.

Referenced by do_add_effect().

static struct ImBuf* do_adjustment ( SeqRenderData  context,
Sequence seq,
float  cfra,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
struct ImBuf UNUSEDibuf1,
struct ImBuf UNUSEDibuf2,
struct ImBuf UNUSEDibuf3 
) [static, read]
static struct ImBuf* do_adjustment_impl ( SeqRenderData  context,
Sequence seq,
float  cfra 
) [static, read]
static struct ImBuf* do_alphaover_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_alphaover_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
char *  rect1,
char *  rect2,
char *  out 
) [static]

Definition at line 409 of file seqeffects.c.

References ImBuf::x.

Referenced by do_alphaover_effect(), and do_overdrop_effect().

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

Definition at line 475 of file seqeffects.c.

References ImBuf::x.

Referenced by do_alphaover_effect(), and do_overdrop_effect().

static struct ImBuf* do_alphaunder_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_alphaunder_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
char *  rect1,
char *  rect2,
char *  out 
) [static]

Definition at line 564 of file seqeffects.c.

References ImBuf::x.

Referenced by do_alphaunder_effect().

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

Definition at line 633 of file seqeffects.c.

References ImBuf::x.

Referenced by do_alphaunder_effect().

static struct ImBuf* do_cross_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_cross_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
char *  rect1,
char *  rect2,
char *  out 
) [static]

Definition at line 736 of file seqeffects.c.

References ImBuf::x.

Referenced by do_cross_effect().

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

Definition at line 784 of file seqeffects.c.

References ImBuf::x.

Referenced by do_cross_effect().

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

Definition at line 1365 of file seqeffects.c.

References MAX2, ImBuf::x, XOFF, ImBuf::y, and YOFF.

Referenced by do_overdrop_effect().

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

Definition at line 1405 of file seqeffects.c.

References MAX2, ImBuf::x, XOFF, ImBuf::y, and YOFF.

Referenced by do_overdrop_effect().

static struct ImBuf* do_gammacross_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_gammacross_effect_byte ( float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
unsigned char *  rect1,
unsigned char *  rect2,
unsigned char *  out 
) [static]

Definition at line 1001 of file seqeffects.c.

References MOST_SIG_BYTE, and ImBuf::x.

Referenced by do_gammacross_effect().

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

Definition at line 1057 of file seqeffects.c.

References gammaCorrect(), invGammaCorrect(), and ImBuf::x.

Referenced by do_gammacross_effect().

static struct ImBuf* do_glow_effect ( SeqRenderData  context,
Sequence seq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_glow_effect_byte ( Sequence seq,
int  render_size,
float  facf0,
float   UNUSEDfacf1,
int  x,
int  y,
char *  rect1,
char *  UNUSEDrect2,
char *  out 
) [static]
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]
static struct ImBuf* do_mul_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
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 1450 of file seqeffects.c.

References ImBuf::x.

Referenced by do_mul_effect().

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

Definition at line 1499 of file seqeffects.c.

References ImBuf::x.

Referenced by do_mul_effect().

static struct ImBuf* do_multicam ( SeqRenderData  context,
Sequence seq,
float  cfra,
float   UNUSEDfacf0,
float   UNUSEDfacf1,
struct ImBuf UNUSEDibuf1,
struct ImBuf UNUSEDibuf2,
struct ImBuf UNUSEDibuf3 
) [static, read]
static struct ImBuf* do_overdrop_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static int do_plugin_early_out ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 384 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static struct ImBuf* do_plugin_effect ( SeqRenderData  context,
Sequence seq,
float  cfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static struct ImBuf* do_solid_color ( SeqRenderData  context,
Sequence seq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static struct ImBuf* do_sub_effect ( SeqRenderData  context,
Sequence UNUSEDseq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void do_sub_effect_byte ( float  facf0,
float  facf1,
int  x,
int  y,
char *  rect1,
char *  rect2,
char *  out 
) [static]

Definition at line 1246 of file seqeffects.c.

References ImBuf::x.

Referenced by do_sub_effect().

static void do_sub_effect_float ( float  facf0,
float  facf1,
int  x,
int  y,
float *  rect1,
float *  rect2,
float *  out 
) [static]

Definition at line 1298 of file seqeffects.c.

References ImBuf::x.

Referenced by do_sub_effect().

static void do_transform ( Scene scene,
Sequence seq,
float   UNUSEDfacf0,
int  x,
int  y,
struct ImBuf ibuf1,
struct ImBuf out 
) [static]
static struct ImBuf* do_transform_effect ( SeqRenderData  context,
Sequence seq,
float   UNUSEDcfra,
float  facf0,
float   UNUSEDfacf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static struct ImBuf* do_wipe_effect ( SeqRenderData  context,
Sequence seq,
float   UNUSEDcfra,
float  facf0,
float  facf1,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
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]

Definition at line 1866 of file seqeffects.c.

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

Referenced by do_wipe_effect().

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 1924 of file seqeffects.c.

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

Referenced by do_wipe_effect().

static int early_out_adjustment ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 2852 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_color ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 2700 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_fade ( struct Sequence UNUSEDseq,
float  facf0,
float  facf1 
) [static]

Definition at line 3136 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_mul_input2 ( struct Sequence UNUSEDseq,
float  facf0,
float  facf1 
) [static]

Definition at line 3147 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_multicam ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 2798 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_noop ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 3130 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int early_out_speed ( struct Sequence UNUSEDseq,
float   UNUSEDfacf0,
float   UNUSEDfacf1 
) [static]

Definition at line 2967 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void error ( const char *  UNUSEDerror,
  ... 
) [static]
static void free_gammacross ( Sequence UNUSEDseq) [static]

Definition at line 997 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void free_glow_effect ( Sequence seq) [static]

Definition at line 2602 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static void free_noop ( struct Sequence UNUSEDseq) [static]

Definition at line 3120 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void free_plugin ( struct Sequence seq) [static]

Definition at line 390 of file seqeffects.c.

References free_plugin_seq(), NULL, and Sequence::plugin.

Referenced by get_sequence_effect_impl().

static void free_plugin_seq ( PluginSeq pis) [static]
static void free_solid_color ( Sequence seq) [static]

Definition at line 2689 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static void free_speed_effect ( Sequence seq) [static]

Definition at line 2950 of file seqeffects.c.

References Sequence::effectdata, SpeedControlVars::frameMap, MEM_freeN(), and NULL.

Referenced by get_sequence_effect_impl().

static void free_transform_effect ( Sequence seq) [static]

Definition at line 2034 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static void free_wipe_effect ( Sequence seq) [static]

Definition at line 1855 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static float gammaCorrect ( float  c) [static]

Definition at line 917 of file seqeffects.c.

References abs(), i, pow(), and RE_GAMMA_TABLE_SIZE.

Referenced by do_gammacross_effect_float().

static void gamtabs ( float  gamma) [static]

Definition at line 953 of file seqeffects.c.

References pow(), sqrt(), and simple_enum_gen::val.

Referenced by build_gammatabs().

static void get_default_fac_fade ( struct Sequence seq,
float  cfra,
float *  facf0,
float *  facf1 
) [static]

Definition at line 3168 of file seqeffects.c.

References Sequence::len, and Sequence::startdisp.

Referenced by get_sequence_effect_impl().

static void get_default_fac_noop ( struct Sequence UNUSEDseq,
float   UNUSEDcfra,
float *  facf0,
float *  facf1 
) [static]

Definition at line 3162 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

struct SeqEffectHandle get_sequence_blend ( Sequence seq) [read]
struct SeqEffectHandle get_sequence_effect ( Sequence seq) [read]
static struct SeqEffectHandle get_sequence_effect_impl ( int  seq_type) [static, read]

Definition at line 3213 of file seqeffects.c.

References SeqEffectHandle::copy, copy_glow_effect(), copy_plugin(), copy_solid_color(), copy_speed_effect(), copy_transform_effect(), copy_wipe_effect(), do_add_effect(), do_adjustment(), do_alphaover_effect(), do_alphaunder_effect(), do_cross_effect(), do_gammacross_effect(), do_glow_effect(), do_mul_effect(), do_multicam(), do_overdrop_effect(), do_plugin_early_out(), do_plugin_effect(), do_solid_color(), do_sub_effect(), do_transform_effect(), do_wipe_effect(), SeqEffectHandle::early_out, early_out_adjustment(), early_out_color(), early_out_fade(), early_out_mul_input2(), early_out_multicam(), early_out_noop(), early_out_speed(), SeqEffectHandle::execute, SeqEffectHandle::free, free_gammacross(), free_glow_effect(), free_noop(), free_plugin(), free_solid_color(), free_speed_effect(), free_transform_effect(), free_wipe_effect(), SeqEffectHandle::get_default_fac, get_default_fac_fade(), get_default_fac_noop(), SeqEffectHandle::init, init_alpha_over_or_under(), init_gammacross(), init_glow_effect(), init_noop(), SeqEffectHandle::init_plugin, init_plugin_noop(), init_solid_color(), init_speed_effect(), init_transform_effect(), init_wipe_effect(), SeqEffectHandle::load, load_gammacross(), load_noop(), load_plugin(), load_speed_effect(), NULL, SeqEffectHandle::num_inputs, num_inputs_adjustment(), num_inputs_color(), num_inputs_default(), num_inputs_glow(), num_inputs_multicam(), num_inputs_plugin(), num_inputs_speed(), num_inputs_transform(), num_inputs_wipe(), SEQ_ADD, SEQ_ADJUSTMENT, SEQ_ALPHAOVER, SEQ_ALPHAUNDER, SEQ_COLOR, SEQ_CROSS, SEQ_GAMCROSS, SEQ_GLOW, SEQ_MUL, SEQ_MULTICAM, SEQ_OVERDROP, SEQ_PLUGIN, SEQ_SPEED, SEQ_SUB, SEQ_TRANSFORM, SEQ_WIPE, SeqEffectHandle::store_icu_yrange, store_icu_yrange_noop(), and store_icu_yrange_speed().

Referenced by get_sequence_blend(), get_sequence_effect(), and get_sequence_effect_num_inputs().

int get_sequence_effect_num_inputs ( int  seq_type)
static ImBuf* IMB_cast_away_list ( ImBuf i) [static]

Definition at line 274 of file seqeffects.c.

References NULL.

Referenced by do_plugin_effect().

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

Definition at line 1594 of file seqeffects.c.

Referenced by check_zone().

static void init_alpha_over_or_under ( Sequence seq) [static]

Definition at line 400 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static void init_gammacross ( Sequence UNUSEDseq) [static]

Definition at line 989 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void init_glow_effect ( Sequence seq) [static]
static void init_noop ( struct Sequence UNUSEDseq) [static]

Definition at line 3105 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void init_plugin ( Sequence seq,
const char *  fname 
) [static]

Definition at line 246 of file seqeffects.c.

References add_plugin_seq(), Sequence::name, and Sequence::plugin.

static void init_plugin_noop ( struct Sequence UNUSEDseq,
const char *  UNUSEDfname 
) [static]

Definition at line 3115 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void init_solid_color ( Sequence seq) [static]

Definition at line 2673 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static void init_speed_effect ( Sequence seq) [static]
static void init_transform_effect ( Sequence seq) [static]
static void init_wipe_effect ( Sequence seq) [static]

Definition at line 1844 of file seqeffects.c.

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

Referenced by get_sequence_effect_impl().

static float invGammaCorrect ( float  col) [static]

Definition at line 937 of file seqeffects.c.

References abs(), i, pow(), and RE_GAMMA_TABLE_SIZE.

Referenced by do_gammacross_effect_float().

static void load_gammacross ( Sequence UNUSEDseq) [static]

Definition at line 993 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void load_noop ( struct Sequence UNUSEDseq) [static]

Definition at line 3110 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void load_plugin ( Sequence seq) [static]

Definition at line 259 of file seqeffects.c.

References Sequence::name, open_plugin_seq(), and Sequence::plugin.

Referenced by get_sequence_effect_impl().

static void load_speed_effect ( Sequence seq) [static]
static void makeGammaTables ( float  gamma) [static]

Definition at line 878 of file seqeffects.c.

References color_step, i, pow(), and RE_GAMMA_TABLE_SIZE.

Referenced by build_gammatabs().

static int num_inputs_adjustment ( void  ) [static]

Definition at line 2847 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_color ( void  ) [static]

Definition at line 2684 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_default ( void  ) [static]

Definition at line 3125 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_glow ( void  ) [static]

Definition at line 2597 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_multicam ( void  ) [static]

Definition at line 2793 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_plugin ( void  ) [static]

Definition at line 254 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_speed ( void  ) [static]

Definition at line 2945 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_transform ( void  ) [static]

Definition at line 2029 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static int num_inputs_wipe ( void  ) [static]

Definition at line 1850 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void open_plugin_seq ( PluginSeq pis,
const char *  seqname 
) [static]
static void precalc_wipe_zone ( WipeZone wipezone,
WipeVars wipe,
int  xo,
int  yo 
) [static]
static struct ImBuf* prepare_effect_imbufs ( SeqRenderData  context,
struct ImBuf ibuf1,
struct ImBuf ibuf2,
struct ImBuf ibuf3 
) [static, read]
static void RVAddBitmaps_byte ( unsigned char *  a,
unsigned char *  b,
unsigned char *  c,
int  width,
int  height 
) [static]

Definition at line 2490 of file seqeffects.c.

References GlowA, GlowB, GlowG, GlowR, ImBuf::index, MIN2, ImBuf::x, and ImBuf::y.

Referenced by do_glow_effect_byte().

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

Definition at line 2505 of file seqeffects.c.

References GlowA, GlowB, GlowG, GlowR, ImBuf::index, MIN2, ImBuf::x, and ImBuf::y.

Referenced by do_glow_effect_float().

static void RVBlurBitmap2_byte ( unsigned char *  map,
int  width,
int  height,
float  blur,
int  quality 
) [static]
static void RVBlurBitmap2_float ( float *  map,
int  width,
int  height,
float  blur,
int  quality 
) [static]
static void RVIsolateHighlights_byte ( unsigned char *  in,
unsigned char *  out,
int  width,
int  height,
int  threshold,
float  boost,
float  clamp 
) [static]

Definition at line 2523 of file seqeffects.c.

References GlowA, GlowB, GlowG, GlowR, ImBuf::index, MIN2, ImBuf::x, and ImBuf::y.

Referenced by do_glow_effect_byte().

static void RVIsolateHighlights_float ( float *  in,
float *  out,
int  width,
int  height,
float  threshold,
float  boost,
float  clamp 
) [static]

Definition at line 2552 of file seqeffects.c.

References GlowA, GlowB, GlowG, GlowR, ImBuf::index, MIN2, ImBuf::x, and ImBuf::y.

Referenced by do_glow_effect_float().

void sequence_effect_speed_rebuild_map ( Scene scene,
Sequence seq,
int  force 
)
static void store_icu_yrange_noop ( struct Sequence UNUSEDseq,
short   UNUSEDadrcode,
float *  UNUSEDymin,
float *  UNUSEDymax 
) [static]

Definition at line 3156 of file seqeffects.c.

Referenced by get_sequence_effect_impl().

static void store_icu_yrange_speed ( struct Sequence seq,
short   UNUSEDadrcode,
float *  ymin,
float *  ymax 
) [static]
static void transform_image ( int  x,
int  y,
struct ImBuf ibuf1,
struct ImBuf out,
float  scale_x,
float  scale_y,
float  translate_x,
float  translate_y,
float  rotate,
int  interpolation 
) [static]

Variable Documentation

float color_domain_table[RE_GAMMA_TABLE_SIZE+1] [static]

Definition at line 872 of file seqeffects.c.

float color_step [static]

Definition at line 873 of file seqeffects.c.

Referenced by makeGammaTables().

float gamfactor_table[RE_GAMMA_TABLE_SIZE] [static]

Definition at line 869 of file seqeffects.c.

float gamma_range_table[RE_GAMMA_TABLE_SIZE+1] [static]

Definition at line 868 of file seqeffects.c.

int gamma_tabs_init = FALSE [static]

Definition at line 864 of file seqeffects.c.

unsigned short gamtab[65536] [static]

Definition at line 862 of file seqeffects.c.

unsigned short igamtab1[256] [static]

Definition at line 863 of file seqeffects.c.

float inv_color_step [static]

Definition at line 874 of file seqeffects.c.

float inv_gamfactor_table[RE_GAMMA_TABLE_SIZE] [static]

Definition at line 871 of file seqeffects.c.

float inv_gamma_range_table[RE_GAMMA_TABLE_SIZE+1] [static]

Definition at line 870 of file seqeffects.c.

float valid_gamma [static]

Definition at line 875 of file seqeffects.c.

float valid_inv_gamma [static]

Definition at line 876 of file seqeffects.c.