Пример #1
0
vj_effect *dupmagic_init(int w, int h)
{
	vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
	ve->num_params = 1;
	ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
	ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
	ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
	ve->defaults[0] = 5;
	ve->description = "Strong Luma Overlay";
	ve->limits[0][0] = 0;
	ve->limits[1][0] = 12;
	ve->extra_frame = 1;
	ve->parallel = 1;    
	ve->sub_format = -1;
	ve->has_user = 0;
	ve->parallel = 1;
	ve->param_description = vje_build_param_list( ve->num_params, "Mode" );

	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints, ve->limits[1][0], 0, "Softburn", "Additive",
	   "Multiply", "Divide", "Lighten", "Difference Negate", "Freeze", "Unfreeze", "Relative Add",
	   "Relative Add Luma",	"Max Select", "Min Select", "Experimental"   );

	return ve;
}
Пример #2
0
vj_effect *colormap_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 255;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;

    ve->defaults[0] = 46;
    ve->defaults[1] = 109;
    ve->defaults[2] = 92;

    ve->description = "Color mapping";
    ve->sub_format = -1;
    ve->extra_frame = 0;
	ve->has_user = 0;
	ve->parallel = 1;
	ve->param_description = vje_build_param_list( ve->num_params, "Red","Green","Blue" );
    return ve;
}
Пример #3
0
vj_effect *contourextract_init(int width, int height)
{
    //int i,j;
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 5;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 255;
    ve->limits[0][1] = 0;	/* reverse */
    ve->limits[1][1] = 1;
    ve->limits[0][2] = 0;	/* show thresholded image / contour */
    ve->limits[1][2] = 2;
    ve->limits[0][3] = 1;	/* thinning */
    ve->limits[1][3] = 100;
    ve->limits[0][4] = 1;	/* minimum blob weight */
    ve->limits[1][4] = 5000;

    ve->defaults[0] = 30;
    ve->defaults[1] = 0;
    ve->defaults[2] = 0;
    ve->defaults[3] = 3;
    ve->defaults[4] = 200;

    ve->description = "Contour extraction";
    ve->extra_frame = 0;
    ve->sub_format = 0;
    ve->has_user = 1;
    ve->user_data = NULL;
    ve->param_description = vje_build_param_list( ve->num_params, "Threshold", "Mode", "Show image/contour", "Thinning", "Min weight" );
    return ve;
}
Пример #4
0
vj_effect *noisepencil_init(int width , int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->defaults[0] = 0;	/* type */
    ve->defaults[1] = 1000;
    ve->defaults[2] = 68;
    ve->defaults[3] = 110;
  
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 3;
    ve->limits[0][1] = 1;
    ve->limits[1][1] = 10000;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;
    ve->limits[0][3] = 0;
    ve->limits[1][3] = 255;
	ve->param_description = vje_build_param_list(ve->num_params, "Mode", "Amplification", "Min Threshold", "Max Threshold");
    ve->description = "Noise Pencil";

    ve->extra_frame = 0;
    ve->sub_format = 0;
	ve->has_user = 0;
    return ve;
}
Пример #5
0
vj_effect *videowall_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0; // selector
    ve->limits[1][0] = n_pics(w,h);
    ve->limits[0][1] = 0;
    ve->limits[1][1] = w; // displacement x
    ve->limits[0][2] = 0;
    ve->limits[1][2] = h; // displacement y
    ve->limits[0][3] = 0;
    ve->limits[1][3] = 1; // lock update of x,y in offset[selector]
    ve->defaults[0] = 0;
    ve->defaults[1] = 1;
    ve->defaults[2] = 1; 
    ve->defaults[3] = 0; 
    ve->description = "VideoWall / Tile Placement";
    ve->sub_format = 1; // todo: optimize to work in 4:2:0/4:2:2, see also photo/video play.c
    ve->extra_frame = 1;
    ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Photos","X Displacement", "Y displacement", "Lock update");
    return ve;
}
Пример #6
0
vj_effect *constantblend_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 31;
    ve->limits[0][1] = 1;  // scale from 0.0 to 5.0 (only luma)
    ve->limits[1][1] = 500;
    ve->limits[0][2] = pixel_Y_lo_;
    ve->limits[1][2] = pixel_Y_hi_;
    ve->defaults[0] = 1;   // blend type (additive)
    ve->defaults[1] = 110; // scale before blend
    ve->defaults[2] = 16;  // constant Y
    ve->description = "Constant Luminance Blend";
    ve->parallel = 1;
    ve->sub_format = 0;
    ve->extra_frame = 0;
    ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Mode", "Threshold", "Constant" );
    return ve;
}
Пример #7
0
vj_effect *bar_init(int width, int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 5;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *)vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 4;
    ve->defaults[1] = 1;
    ve->defaults[2] = 3;
    ve->defaults[3] = 0;
    ve->defaults[4] = 0;
    ve->limits[0][0] = 1;
    ve->limits[1][0] = height;

    ve->sub_format = 1;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = height;

    ve->limits[0][2] = 0;
    ve->limits[1][2] = height;

    ve->limits[0][3] = 0;
    ve->limits[1][3] = height;
    ve->limits[0][4] = 0;
    ve->limits[1][4] = height;
    ve->description = "Horizontal Sliding Bars";

    ve->extra_frame = 1;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list(ve->num_params, "Divider", "Top Y", "Bot Y", "Top X", "Bot X");
    return ve;
}
Пример #8
0
vj_effect *toalpha_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 1;
    ve->description = "Alpha: Set from Image";
    ve->sub_format = -1;
    ve->extra_frame = 0;
    ve->parallel = 1;
	ve->has_user = 0;

	ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);     /* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);    /* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);    /* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 1;
    ve->defaults[0] = !yuv_use_auto_ccir_jpeg();
    ve->param_description = vje_build_param_list( ve->num_params, "Scale Luminance to range 0-255 (1=on)" );

	ve->alpha = FLAG_ALPHA_OUT;

	__init_lookup_table( __lookup_table, 256, 16.0f, 235.0f, 0, 255 ); 

	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints, ve->limits[1][0], 0, "Verbatim", "Full range" );

    return ve;
}
Пример #9
0
vj_effect *tripplicity_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 255; // opacity Y
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255; // opacity Cb
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255; // opacity Cr
    ve->defaults[0] = 150;
    ve->defaults[1] = 150;
    ve->defaults[2] = 150;

    ve->description = "Normal Overlay (per Channel)";
    ve->sub_format = 0;
    ve->extra_frame = 1;
    ve->has_user = 0;
    ve->parallel = 1;
    ve->param_description = vje_build_param_list( ve->num_params, "Opacity Y", "Opacity Cb", "Opacity Cr" );

    return ve;
}
Пример #10
0
vj_effect *mtracer_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 2;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 32;
    ve->limits[0][1] = 1;
    ve->limits[1][1] = 25;
    ve->defaults[0] = 150;
    ve->defaults[1] = 8;
    ve->description = "Magic Tracer";
    ve->sub_format = -1;
    ve->extra_frame = 1;
    ve->has_user = 0;	
    ve->param_description = vje_build_param_list( ve->num_params, "Mode", "Length");

	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints, ve->limits[1][0], 0,
		"Additive", "Subtractive","Multiply","Divide","Lighten","Hardlight",
		"Difference","Difference Negate","Exclusive","Base","Freeze",
		"Unfreeze","Relative Add","Relative Subtract","Max select", "Min select",
		"Relative Luma Add", "Relative Luma Subtract", "Min Subselect", "Max Subselect",
		"Add Subselect", "Add Average", "Experimental 1","Experimental 2", "Experimental 3",
		"Multisub", "Softburn", "Inverse Burn", "Dodge", "Distorted Add", "Distorted Subtract", "Experimental 4", "Negation Divide");


    return ve;
}
Пример #11
0
vj_effect *average_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 2;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 1;
    ve->limits[1][0] = 1000;
	ve->limits[0][1] = 0;
	ve->limits[1][1] = 1;
    ve->defaults[0] = 1;
	ve->defaults[1] = 0;
	ve->parallel = 0; //@ cannot run in parallel
    ve->description = "Average";
    ve->sub_format = 1; 
    ve->extra_frame = 0;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Number of frames to average", "Mode");

	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints, ve->limits[1][1], 1, "Running Average", "Average" );

 	return ve;
}
Пример #12
0
vj_effect *transline_init(int width, int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 150;	/* opacity */
    ve->defaults[1] = 10;	/* line width */
    ve->defaults[2] = 3;	/* distance */
    ve->defaults[3] = 0;	/* type */
    
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 255;

    ve->limits[0][1] = 1;
    ve->limits[1][1] = width;
    ve->limits[0][2] = 2;
    ve->limits[1][2] = width;
    ve->limits[0][3] = 0;
    ve->limits[1][3] = 1;
    ve->sub_format = 1;
    ve->description = "Transition Line";
    ve->extra_frame = 1;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list(ve->num_params, "Opacity", "Line width", "Distance" , "Mode");
    return ve;
}
Пример #13
0
vj_effect *zoom_init(int width , int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = width/2;
    ve->defaults[1] = height/2;
    ve->defaults[2] = 50;
    ve->defaults[3] = 1;

    ve->limits[0][0] = 0;
    ve->limits[1][0] = width;

    ve->limits[0][1] = 0;
    ve->limits[1][1] = height;

    ve->limits[0][2] = 10;
    ve->limits[1][2] = 100;

    ve->limits[0][3] = 0;
    ve->limits[1][3] = 1;

    ve->description = "Zoom";
    ve->sub_format = 1;
    ve->extra_frame = 0;
    ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Width", "Height", "Factor", "Mode" );
    return ve;
}
Пример #14
0
vj_effect *autoeq_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 1;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;

    ve->defaults[0] = 0; // y only, v only, u only, all
    ve->defaults[1] = 200; // intensity
    ve->defaults[2] = 132; // strength

    ve->description = "Automatic Histogram Equalizer";
    ve->sub_format = 0;
    ve->extra_frame = 0;
    ve->has_user = 0;
    ve->param_description = vje_build_param_list( ve->num_params, "Channel (Y,U,V,All)","Intensity","Strength");
    return ve;
}
Пример #15
0
vj_effect *cutstop_init(int width , int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 40; // treshold
    ve->defaults[1] = 50; // hold frame freq
    ve->defaults[2] = 0;   // cut mode
    ve->defaults[3] = 0;   // hold front/back

    ve->limits[0][0] = 0;
    ve->limits[1][0] = 255;

    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;

    ve->limits[0][2] = 0;
    ve->limits[1][2] = 1;

    ve->limits[0][3] = 0;
    ve->limits[1][3] = 1;

    ve->description = "vvCutStop";
    ve->sub_format = 1;
    ve->extra_frame = 0;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Threshold", "Frame freq", "Cut mode", "Hold front/back" );	
	frq_cnt = 256;

    return ve;
}
Пример #16
0
vj_effect *neighbours3_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 2;
    ve->limits[1][0] = 32;	/* line size */
    ve->limits[0][1] = 1;
    ve->limits[1][1] = 255;     /* smoothness */
    ve->limits[0][2] = 0; 	/* luma only / include chroma */
    ve->limits[1][2] = 1;
    ve->defaults[0] = 9;
    ve->defaults[1] = 7;
    ve->defaults[2] = 1;
    ve->description = "ZArtistic Filter (Horizontal strokes)";
    ve->sub_format = 1;
    ve->extra_frame = 0;
    ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Line size", "Smoothness", "Mode (Luma/Chroma)" );

    return ve;
}
Пример #17
0
static	int prepare_filmstrip(int film_length, int w, int h)
{
	int i,j;
	int picture_width = w / sqrt(film_length);
	int picture_height = h / sqrt(film_length);

	photo_list = (picture_t**) vj_calloc(sizeof(picture_t*) * (film_length + 1) );
	if(!photo_list)
		return 0;

	rt = (int*) vj_calloc(sizeof(int) * film_length );
	if(!rt)
		return 0;

	num_photos = film_length;

	for ( i = 0; i < num_photos; i ++ )
	{
		photo_list[i] = vj_malloc(sizeof(picture_t));
		if(!photo_list[i])
			return 0;
		photo_list[i]->w = picture_width;
		photo_list[i]->h = picture_height;
		for( j = 0; j < 3; j ++ )
		{
			photo_list[i]->data[j] = vj_malloc(sizeof(uint8_t) * picture_width * picture_height );
			if(!photo_list[i]->data[j])
				return 0;
			veejay_memset(photo_list[i]->data[j], (j==0 ? pixel_Y_lo_ : 128), picture_width *picture_height );
		}
	}
	frame_counter = 0;

	return 1;
}
Пример #18
0
vj_effect *magicmirror_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */

    ve->defaults[0] = w/4;
    ve->defaults[1] = h/4;
    ve->defaults[2] = 20;
    ve->defaults[3] = 20;

    ve->limits[0][0] = 0;
    ve->limits[1][0] = w/2;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = h/2;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 100;
    ve->limits[0][3] = 0;
    ve->limits[1][3] = 100;

    ve->sub_format = 1;
    ve->description = "Magic Mirror Surface";
	ve->has_user =0;
    ve->extra_frame = 0;
	ve->param_description = vje_build_param_list(ve->num_params, "X", "Y", "X","Y" );
    return ve;
}
Пример #19
0
vj_effect *rgbchannel_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 1;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 1;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 1;

    ve->defaults[0] = 0;
    ve->defaults[0] = 0;
    ve->defaults[0] = 0;
    ve->description = "RGB Channel";
    ve->sub_format = 1;
    ve->extra_frame = 0;
    ve->has_user = 0;
	ve->rgba_only = 1;
	ve->parallel = 1;
	ve->param_description = vje_build_param_list(ve->num_params, "Red", "Green", "Blue");
    return ve;
}
Пример #20
0
int magicmirror_malloc(int w, int h)
{
	int i ;
	for( i = 0; i < 3 ;i ++ ) {
		magicmirrorbuf[i] = (uint8_t*)vj_malloc(sizeof(uint8_t) * RUP8(w*h));
		if(!magicmirrorbuf[i])
			return 0;
	}
	
	funhouse_x = (double*)vj_calloc(sizeof(double) * w );
	if(!funhouse_x) return 0;

	cache_x = (unsigned int *)vj_calloc(sizeof(unsigned int)*w);
	if(!cache_x) return 0;

	funhouse_y = (double*)vj_calloc(sizeof(double) * h );
	if(!funhouse_y) return 0;

	cache_y = (unsigned int*)vj_calloc(sizeof(unsigned int)*h);
	if(!cache_y) return 0;
	veejay_memset(cache_x,0,w);
	veejay_memset(cache_y,0,h);

	n__ =0;
	N__ =0;

	return 1;
}
Пример #21
0
vj_effect *autoeq_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 1;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;

    ve->defaults[0] = 0; // show histogram
    ve->defaults[1] = 200; // intensity
    ve->defaults[2] = 132; // strength

    ve->description = "Automatic Histogram Equalizer";
    ve->sub_format = 0;
    ve->extra_frame = 0;
    ve->has_user = 0;
    ve->param_description = vje_build_param_list( ve->num_params, "Mode","Intensity","Strength");
    ve->hints = vje_init_value_hint_list( ve->num_params );

    vje_build_value_hint_list( ve->hints, ve->limits[1][0],0,
		    "Show Histogram", "Equalize Frame" );
    return ve;
}
Пример #22
0
vj_effect *raster_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 2;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 4;
    ve->limits[1][0] = h/4;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 1;
    ve->defaults[0] = 4;
    ve->defaults[1] = 1;
	ve->description = "Grid";
    ve->sub_format = 0;
    ve->extra_frame = 0;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Grid size", "Mode");

	ve->hints = vje_init_value_hint_list( ve->num_params );
	vje_build_value_hint_list( ve->hints, ve->limits[1][1], 1,"Black", "White" );

    return ve;
}
Пример #23
0
vj_effect *fibdownscale_init(int w, int h)
{
	vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
	ve->num_params = 2;
	ve->description = "Fibonacci Downscaler";
	ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
	ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
	ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
	ve->defaults[0] = 0;
	ve->defaults[1] = 1;
	ve->limits[0][0] = 0;
	ve->limits[0][1] = 1;
	ve->limits[1][0] = 1;
	ve->limits[1][1] = 8;
	ve->sub_format = -1;
	ve->extra_frame = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Mode", "Fib" );
	ve->has_user = 0;

	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints,ve->limits[0][1],0, "Down", "Rectangle" );

	return ve;
}
Пример #24
0
int	chameleon_malloc(int w, int h)
{
	int i;
	for( i = 0; i < 3; i ++ ) {
		bgimage[i] = vj_malloc(sizeof(uint8_t) * RUP8(w * h) + RUP8(w*2) );
		tmpimage[i] = vj_malloc(sizeof(uint8_t) * RUP8(w * h) );
	}
	vj_frame_clear1( bgimage[0], pixel_Y_lo_, RUP8(w*h));
	vj_frame_clear1( tmpimage[0], pixel_Y_lo_, RUP8(w*h));
	for( i = 1; i < 3; i ++ ) {
		vj_frame_clear1( bgimage[i], 128, RUP8(w*h));
		vj_frame_clear1( tmpimage[i], 128, RUP8(w*h));
	}
	
	sum = (int32_t*) vj_calloc( RUP8(w * h) * sizeof(int32_t));
	timebuffer = (uint8_t*) vj_calloc( RUP8(w * h) * PLANES );

	has_bg = 0;
	plane = 0;
	N__ = 0;
	n__ = 0;
	last_mode_ = -1;

	return 1;
}
Пример #25
0
vj_effect *greyselect_init(int w, int h)
{
    vj_effect *ve;
    ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 4500;	/* angle */
    ve->defaults[1] = 255;	/* r */
    ve->defaults[2] = 0;	/* g */
    ve->defaults[3] = 0;	/* b */
    ve->limits[0][0] = 1;
    ve->limits[1][0] = 9000;

    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;

    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;

    ve->limits[0][3] = 0;
    ve->limits[1][3] = 255;
	ve->has_user = 0;
    ve->parallel = 1;
	ve->description = "Grayscale by Color Key (RGB)";
    ve->extra_frame = 0;
    ve->sub_format = 1;
    ve->rgb_conv = 1;
	ve->param_description = vje_build_param_list(ve->num_params,"Angle","Red","Green","Blue");

    return ve;
}
Пример #26
0
vj_effect *contrast_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);
    ve->defaults[0] = 2;	/* type */
    ve->defaults[1] = 125;
    ve->defaults[2] = 200;
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 2;
    ve->limits[0][1] = 0;
    ve->limits[1][1] = 255;
    ve->limits[0][2] = 0;
    ve->limits[1][2] = 255;
    ve->parallel = 1;
	ve->description = "Contrast";
	ve->has_user = 0;
	ve->parallel = 1;
    ve->extra_frame = 0;
    ve->sub_format = -1;
	ve->param_description = vje_build_param_list( ve->num_params, "Mode", "Luma", "Chroma" );

	ve->hints = vje_init_value_hint_list( ve->num_params );
	
	vje_build_value_hint_list( ve->hints, ve->limits[1][0], 0,
			"Luma Only", "Chroma Only" ,"All Channels" );

    return ve;
}
Пример #27
0
vj_effect *radcor_init(int w, int h)
{
	vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
	ve->num_params = 3;

	ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
	ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
	ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
	ve->limits[0][0] = 1;
	ve->limits[1][0] = 1000;
	ve->limits[0][1] = 1;
	ve->limits[1][1] = 1000;
	ve->limits[0][2] = 0;
	ve->limits[1][2] = 1;
	ve->limits[0][1] = 0;
	ve->limits[1][1] = 1;
	ve->defaults[0] = 10;
	ve->defaults[1] = 40;
	ve->defaults[2] = 0;
	ve->description = "Lens correction";
	ve->sub_format = 1;
	ve->extra_frame = 0;
	ve->has_user = 0;

	ve->alpha = FLAG_ALPHA_OPTIONAL | FLAG_ALPHA_OUT;
	ve->param_description = vje_build_param_list( ve->num_params, "Alpha X", "Alpha Y", "Direction", "Update Alpha");

	return ve;
}
Пример #28
0
vj_effect *slidingdoor_init(int width, int height)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 1;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 0; 
    ve->limits[0][0] = 0;
    ve->limits[1][0] = 7;
    
    ve->sub_format = 1;
    ve->parallel = 1;
    ve->description = "Channel Overlay";
    ve->extra_frame = 1;
	ve->has_user = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Operator" );
	ve->hints = vje_init_value_hint_list( ve->num_params );

	vje_build_value_hint_list( ve->hints, ve->limits[1][0],0,
					"Luminance B",
					"Negative Luminance B",
					"Chroma Blue B",
					"Negative Chroma Blue B",
					"Chroma Red B",
					"Negative Chroma Red B",
					"Alpha B",
					"Negative Alpha B" );

    return ve;
}
Пример #29
0
vj_effect *fadecolor_init(int w,int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 4;
    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->defaults[0] = 255;
    ve->defaults[1] = VJ_EFFECT_COLOR_BLACK;
    ve->defaults[2] = 15;
    ve->defaults[3] = 1;
    ve->sub_format = 0;
    ve->limits[0][0] = 1;
    ve->limits[1][0] = 255;

    ve->limits[0][1] = 0;
    ve->limits[1][1] = 7;

    ve->limits[0][2] = 1;
    ve->limits[1][2] = (120 * 25);
    ve->limits[0][3] = 0;
    ve->limits[1][3] = 1;
	ve->has_user = 0;
    ve->description = "Transition Fade to Color";
    ve->extra_frame = 0;
	ve->param_description = vje_build_param_list(ve->num_params, "Opacity", "Color", "Frame length", "Mode" );
    return ve;
}
Пример #30
0
vj_effect *colmorphology_init(int w, int h)
{
    vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect));
    ve->num_params = 3;

    ve->defaults = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* default values */
    ve->limits[0] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* min */
    ve->limits[1] = (int *) vj_calloc(sizeof(int) * ve->num_params);	/* max */
    ve->limits[0][0] = 0;  // threshold
    ve->limits[1][0] = 255;
    
	ve->limits[0][1] = 0; // morpology operator (dilate,erode, ... )
	ve->limits[1][1] = 8;
	ve->limits[0][2] = 0;
	ve->limits[1][2] = 1; // type
	
    ve->defaults[0] = 140;
    ve->defaults[1] = 1;
    ve->defaults[2] = 0;

    ve->description = "Colored Morphology";
    ve->sub_format = 1;
    ve->extra_frame = 0;
    ve->has_user = 0;
	ve->parallel = 0;
	ve->param_description = vje_build_param_list( ve->num_params, "Threshold","Kernel", "Dilate or Erode");
    return ve;
}