diff options
author | Peter Schlaile <peter@schlaile.de> | 2010-07-25 21:19:55 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2010-07-25 21:19:55 +0400 |
commit | 98e26b1b081205730c4392fa884810bb65bd0c21 (patch) | |
tree | 8d49686326f36d0b262a37112029f93a07c2134e /source/blender/blenkernel/BKE_sequencer.h | |
parent | 6ec87e60955cfa2e2737cdf9c1cc902c73f37d08 (diff) |
== Sequencer ==
Some cleanup on effects:
- converted interface to float cfra
- made effects return their own ImBufs, which has the following
advantages:
* code in sequencer.c is a lot more readable.
* multicam saves one memcpy of an image
* prepares things for GPU-rendering
Diffstat (limited to 'source/blender/blenkernel/BKE_sequencer.h')
-rw-r--r-- | source/blender/blenkernel/BKE_sequencer.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index 81ae83cafb6..b544b3461cd 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -107,15 +107,14 @@ struct SeqEffectHandle { 0: no early out, 1: out = ibuf1, 2: out = ibuf2 */ - int (*early_out)(struct Sequence *seq, - float facf0, float facf1); + int (*early_out)(struct Sequence *seq, float facf0, float facf1); /* stores the y-range of the effect IPO */ void (*store_icu_yrange)(struct Sequence * seq, short adrcode, float *ymin, float *ymax); /* stores the default facf0 and facf1 if no IPO is present */ - void (*get_default_fac)(struct Sequence *seq, int cfra, + void (*get_default_fac)(struct Sequence *seq, float cfra, float * facf0, float * facf1); /* execute the effect @@ -123,11 +122,12 @@ struct SeqEffectHandle { float-rects or byte-rects (mixed cases are handled one layer up...) */ - void (*execute)(struct Scene *scene, struct Sequence *seq, int cfra, - float facf0, float facf1, - int x, int y, int preview_render_size, - struct ImBuf *ibuf1, struct ImBuf *ibuf2, - struct ImBuf *ibuf3, struct ImBuf *out); + struct ImBuf* (*execute)( + struct Scene *scene, struct Sequence *seq, float cfra, + float facf0, float facf1, + int x, int y, int preview_render_size, + struct ImBuf *ibuf1, struct ImBuf *ibuf2, + struct ImBuf *ibuf3); }; /* ********************* prototypes *************** */ @@ -164,6 +164,10 @@ struct StripElem *give_stripelem(struct Sequence *seq, int cfra); // intern? void update_changed_seq_and_deps(struct Scene *scene, struct Sequence *changed_seq, int len_change, int ibuf_change); +int input_have_to_preprocess( + struct Scene *scene, struct Sequence * seq, + float cfra, int seqrectx, int seqrecty); + /* seqcache.c */ typedef enum { |