mirror of
https://github.com/game-stop/veejay.git
synced 2025-12-19 14:19:58 +01:00
Libvje / refactor : opacityadv
* frame->width, frame->height
This commit is contained in:
@@ -48,12 +48,11 @@ vj_effect *opacityadv_init(int w, int h)
|
|||||||
return ve;
|
return ve;
|
||||||
}
|
}
|
||||||
|
|
||||||
void opacityadv_apply( VJFrame *frame, VJFrame *frame2, int width,
|
void opacityadv_apply( VJFrame *frame, VJFrame *frame2, int opacity,
|
||||||
int height, int opacity, int threshold,
|
int threshold, int threshold2)
|
||||||
int threshold2)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned int x, y, len = width * height;
|
unsigned int x, y, len = frame->width * frame->height;
|
||||||
uint8_t a1, a2;
|
uint8_t a1, a2;
|
||||||
unsigned int op0, op1;
|
unsigned int op0, op1;
|
||||||
uint8_t *Y = frame->data[0];
|
uint8_t *Y = frame->data[0];
|
||||||
@@ -66,8 +65,8 @@ void opacityadv_apply( VJFrame *frame, VJFrame *frame2, int width,
|
|||||||
op1 = (opacity > 255) ? 255 : opacity;
|
op1 = (opacity > 255) ? 255 : opacity;
|
||||||
op0 = 255 - op1;
|
op0 = 255 - op1;
|
||||||
|
|
||||||
for (y = 0; y < len; y += width) {
|
for (y = 0; y < len; y += frame->width) {
|
||||||
for (x = 0; x < width; x++) {
|
for (x = 0; x < frame->width; x++) {
|
||||||
a1 = Y[x + y];
|
a1 = Y[x + y];
|
||||||
a2 = Y2[x + y];
|
a2 = Y2[x + y];
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,8 +25,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
vj_effect *opacityadv_init();
|
vj_effect *opacityadv_init();
|
||||||
void opacityadv_apply( VJFrame *frame, VJFrame *frame2, int width,
|
void opacityadv_apply( VJFrame *frame, VJFrame *frame2, int opacity,
|
||||||
int height, int opacity, int threshold,
|
int threshold, int threshold2);
|
||||||
int threshold2);
|
|
||||||
void opacityadv_free();
|
void opacityadv_free();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -320,8 +320,7 @@ extern void medianfilter_apply( VJFrame *frame, int val);
|
|||||||
extern void negatechannel_apply( VJFrame *frame, int chan, int val);
|
extern void negatechannel_apply( VJFrame *frame, int chan, int val);
|
||||||
extern void colormap_apply( VJFrame *frame, int r, int g, int b);
|
extern void colormap_apply( VJFrame *frame, int r, int g, int b);
|
||||||
extern void opacity_apply(VJFrame *frame, VJFrame *frame2, int opacity);
|
extern void opacity_apply(VJFrame *frame, VJFrame *frame2, int opacity);
|
||||||
extern void opacityadv_apply(VJFrame *frame, VJFrame *frame2, int w,
|
extern void opacityadv_apply(VJFrame *frame, VJFrame *frame2, int o, int t1, int t2);
|
||||||
int h, int o, int t1, int t2);
|
|
||||||
extern void opacitythreshold_apply(VJFrame *frame, VJFrame *frame2,
|
extern void opacitythreshold_apply(VJFrame *frame, VJFrame *frame2,
|
||||||
int w, int h, int o, int t1, int t2);
|
int w, int h, int o, int t1, int t2);
|
||||||
|
|
||||||
|
|||||||
@@ -520,8 +520,7 @@ static void vj_effman_apply_video_effect( VJFrame **frames, vjp_kf *todo_info,in
|
|||||||
frames[0]->height, arg[0], arg[1],arg[2]);
|
frames[0]->height, arg[0], arg[1],arg[2]);
|
||||||
break;
|
break;
|
||||||
case VJ_VIDEO_EFFECT_THRESHOLD:
|
case VJ_VIDEO_EFFECT_THRESHOLD:
|
||||||
opacityadv_apply(frames[0], frames[1], frames[0]->width,
|
opacityadv_apply(frames[0], frames[1], arg[0], arg[1], arg[2]);
|
||||||
frames[0]->height, arg[0], arg[1], arg[2]);
|
|
||||||
break;
|
break;
|
||||||
case VJ_VIDEO_EFFECT_RGBKEY:
|
case VJ_VIDEO_EFFECT_RGBKEY:
|
||||||
rgbkey_apply(frames[0], frames[1], frames[0]->width, frames[0]->height,
|
rgbkey_apply(frames[0], frames[1], frames[0]->width, frames[0]->height,
|
||||||
|
|||||||
Reference in New Issue
Block a user