add passthrough fx to use in combinatinon with manual chain fader (simply fetch source from B to fx chain without fx processing) issue #42

This commit is contained in:
niels
2015-12-12 17:39:50 +01:00
parent fe4cd70850
commit a59d7a579b
5 changed files with 10 additions and 3 deletions

View File

@@ -57,6 +57,6 @@ libvje_la_SOURCES = vj-effect.c vj-effman.c effects/common.c \
effects/magicalphaoverlays.c effects/travelmatte.c effects/feathermask.c effects/alphaselect.c \
effects/alphaselect2.c effects/alphablend.c effects/porterduff.c effects/alphanegate.c effects/lumakeyalpha.c \
effects/chromamagickalpha.c effects/magicoverlaysalpha.c effects/gaussblur.c effects/levelcorrection.c \
effects/masktransition.c effects/alphadampen.c
effects/masktransition.c effects/alphadampen.c effects/passthrough.c

View File

@@ -30,7 +30,7 @@
#define VJ_IMAGE_EFFECT_MAX 199
#define VJ_VIDEO_EFFECT_MIN 200
#define VJ_VIDEO_EFFECT_MAX 257
#define VJ_VIDEO_EFFECT_MAX 258
#define VJ_PLUGIN 500
@@ -140,6 +140,7 @@ enum {
VJ_VIDEO_EFFECT_CHROMAMAGICKALPHA = 254,
VJ_VIDEO_EFFECT_MAGICOVERLAYALPHA = 255,
VJ_VIDEO_EFFECT_MASKTRANSITION = 256,
VJ_VIDEO_EFFECT_PASSTHROUGH = 257,
};
enum {
@@ -654,4 +655,5 @@ extern void gaussblur_apply(VJFrame *frame, int radius, int strength, int qualit
extern void levelcorrection_apply(VJFrame *frame, int min, int max, int bmin, int bmax);
extern void masktransition_apply( VJFrame *frame, VJFrame *frame2, int width,int height, int time_index, int duration);
extern void alphadampen_apply( VJFrame *frame, int b1);
extern void passthrough_apply( VJFrame *frame, VJFrame *frame2);
#endif

View File

@@ -192,6 +192,7 @@
#include "effects/levelcorrection.h"
#include "effects/alphadampen.h"
#include "effects/masktransition.h"
#include "effects/passthrough.h"
#include <libplugger/plugload.h>
#include <veejay/vims.h>
@@ -568,6 +569,7 @@ void vj_effect_initialize(int width, int height, int full_range)
vj_effects[VJ_VIDEO_EFFECT_CHROMAMAGICKALPHA] = chromamagickalpha_init(width,height);
vj_effects[VJ_VIDEO_EFFECT_MAGICOVERLAYALPHA] = overlaymagicalpha_init(width,height);
vj_effects[VJ_VIDEO_EFFECT_MASKTRANSITION] = masktransition_init(width,height);
vj_effects[VJ_VIDEO_EFFECT_PASSTHROUGH] = passthrough_init(width,height);
vj_effects[VJ_IMAGE_EFFECT_DUMMY] = dummy_init(width,height);

View File

@@ -696,6 +696,9 @@ void vj_effman_apply_video_effect( VJFrame **frames, vjp_kf *todo_info,int *arg,
case VJ_VIDEO_EFFECT_MASKTRANSITION:
masktransition_apply(frames[0],frames[1],frames[0]->width,frames[0]->height,arg[0],arg[1]);
break;
case VJ_VIDEO_EFFECT_PASSTHROUGH:
passthrough_apply(frames[0],frames[1]);
break;
}
}

View File

@@ -22,7 +22,7 @@
#define FX_LIMIT 1024
#define MAX_EFFECTS 161
#define MAX_EFFECTS 162
#define PARAM_WIDTH (1<<0x2)
#define PARAM_HEIGHT (1<<0x3)
#define PARAM_FADER (1<<0x1)