From dc89c1c13564c2b95affb78bf385dc08b7733ea4 Mon Sep 17 00:00:00 2001 From: c0ntrol Date: Fri, 25 Mar 2016 16:16:04 +0100 Subject: [PATCH] fix compile warnings ( ./configure --enable-compile-warnings ) --- veejay-current/veejay-server/libel/avilib.c | 8 +- veejay-current/veejay-server/libel/avilib.h | 2 +- veejay-current/veejay-server/libel/lav_io.c | 48 ------ .../veejay-server/libel/vj-avcodec.c | 2 +- veejay-current/veejay-server/libel/vj-el.c | 35 +---- veejay-current/veejay-server/libel/vj-el.h | 2 + .../veejay-server/libplugger/defaults.c | 2 +- .../veejay-server/libplugger/defaults.h | 2 +- .../veejay-server/libplugger/frei0r-loader.c | 31 ++-- .../veejay-server/libplugger/livido-loader.c | 4 +- .../veejay-server/libplugger/utility.c | 30 +--- .../veejay-server/libplugger/utility.h | 3 +- .../veejay-server/libsample/sampleadm.c | 30 +--- .../veejay-server/libstream/vj-tag.c | 2 +- .../veejay-server/libsubsample/subsample.c | 4 +- veejay-current/veejay-server/libvevo/vevo.c | 7 +- .../libvje/effects/chromamagickalpha.c | 2 +- .../libvje/effects/coloradjust.c | 10 +- .../veejay-server/libvje/effects/dissolve.c | 1 - .../veejay-server/libvje/effects/dummy.c | 1 + .../veejay-server/libvje/effects/lumamagick.c | 2 +- .../veejay-server/libvje/effects/lumamagick.h | 117 -------------- .../libvje/effects/magicoverlays.c | 1 - .../veejay-server/libvje/effects/whiteframe.c | 1 - .../veejay-server/libvje/effects/zoom.c | 2 + .../libvje/transitions/slidingdoor.c | 3 +- .../libvje/transitions/transblend.c | 2 - .../libvje/transitions/transline.c | 1 - .../veejay-server/libvje/transitions/vbar.c | 2 - .../veejay-server/libvje/vj-effect.c | 4 +- veejay-current/veejay-server/libvje/vje.h | 4 +- .../veejay-server/libvjmem/memcpy.c | 44 +++--- .../veejay-server/libvjmem/vj-x86.c | 29 +++- veejay-current/veejay-server/libvjmem/vjmem.h | 5 +- veejay-current/veejay-server/libvjnet/cmd.c | 5 +- .../veejay-server/libvjnet/packet.c | 9 +- .../veejay-server/libvjnet/vj-server.c | 25 +-- .../veejay-server/libyuv/mmx_macros.h | 2 +- veejay-current/veejay-server/libyuv/yuvconv.c | 6 +- .../thirdparty/mjpegtools/yuv4mpeg.c | 4 +- .../veejay-server/veejay/liblavplayvj.c | 66 ++++---- veejay-current/veejay-server/veejay/veejay.c | 6 + .../veejay-server/veejay/vj-event.c | 146 ++---------------- .../veejay-server/veejay/vj-eventman.c | 2 +- .../veejay-server/veejay/vj-perform.c | 11 -- .../veejay-server/veejay/vj-share.c | 2 +- .../veejay-server/veejay/vj-share.h | 20 ++- 47 files changed, 186 insertions(+), 561 deletions(-) diff --git a/veejay-current/veejay-server/libel/avilib.c b/veejay-current/veejay-server/libel/avilib.c index 36ee10ef..faf254f8 100644 --- a/veejay-current/veejay-server/libel/avilib.c +++ b/veejay-current/veejay-server/libel/avilib.c @@ -2653,7 +2653,7 @@ int avi_parse_input_file(avi_t *AVI, int getIndex) if(!AVI->track[0].a_chans) AVI->track[0].audio_strn = 99; { - int i=0; + i=0; for(j=0; janum+1; ++j) { if (j == AVI->video_strn) continue; AVI->track[i].audio_tag[0] = j/10 + '0'; @@ -3501,7 +3501,7 @@ int AVI_read_data(avi_t *AVI, unsigned char *vidbuf, long max_vidbuf, /* AVI_print_error: Print most recent error (similar to perror) */ -char *(avi_errors[]) = +const char *(avi_errors[]) = { /* 0 */ "avilib - No Error", /* 1 */ "avilib - AVI file size limit reached", @@ -3544,7 +3544,7 @@ void AVI_print_error(char *str) } } -char *AVI_strerror(void) +const char *AVI_strerror(void) { int aerrno; @@ -3557,7 +3557,7 @@ char *AVI_strerror(void) AVI_errno == AVI_ERR_CLOSE ) { snprintf(error_string, sizeof(error_string), "%s - %s",avi_errors[aerrno],strerror(errno)); - return error_string; + return (const char*) error_string; } else { diff --git a/veejay-current/veejay-server/libel/avilib.h b/veejay-current/veejay-server/libel/avilib.h index 3c5e0de1..aeb7d437 100644 --- a/veejay-current/veejay-server/libel/avilib.h +++ b/veejay-current/veejay-server/libel/avilib.h @@ -383,7 +383,7 @@ int AVI_read_data(avi_t *AVI, unsigned char *vidbuf, long max_vidbuf, long *len); void AVI_print_error(char *str); -char *AVI_strerror(void); +const char *AVI_strerror(void); char *AVI_syserror(void); int AVI_scan(char *name); diff --git a/veejay-current/veejay-server/libel/lav_io.c b/veejay-current/veejay-server/libel/lav_io.c index 638cb95b..f95a7470 100644 --- a/veejay-current/veejay-server/libel/lav_io.c +++ b/veejay-current/veejay-server/libel/lav_io.c @@ -614,54 +614,6 @@ int lav_video_MJPG_chroma(lav_file_t *lav_file) return lav_file->MJPG_chroma; } -int lav_is_yuv_planar( int pix_fmt ) -{ - switch(pix_fmt){ - case PIX_FMT_YUVJ420P: - case PIX_FMT_YUVJ422P: - case PIX_FMT_YUVJ444P: - case PIX_FMT_YUV420P: - case PIX_FMT_YUV422P: - case PIX_FMT_YUV444P: - return 1; - } - return 0; -} - -int lav_video_cmodel( lav_file_t *lav_file) -{ - switch(lav_file->MJPG_chroma) - { - case CHROMA411: - return PIX_FMT_YUV411P; - case CHROMA420: - return PIX_FMT_YUV420P; - case CHROMA422: - return PIX_FMT_YUV422P; - case CHROMA420F: - return PIX_FMT_YUVJ420P; - case CHROMA422F: - return PIX_FMT_YUVJ422P; - case CHROMA444: - return PIX_FMT_YUV444P; - default: - return -1; - } - - return -1; -} - -int lav_video_is_qt( lav_file_t *lav_file) -{ -#ifdef HAVE_LIBQUICK_TIME - if( lav_file->qt_fd) - return 1; -#endif - return 0; -} - - - int lav_video_compressor_type(lav_file_t *lav_file) { #ifdef SUPPORT_READ_DV2 diff --git a/veejay-current/veejay-server/libel/vj-avcodec.c b/veejay-current/veejay-server/libel/vj-avcodec.c index 9466fc72..5d233891 100644 --- a/veejay-current/veejay-server/libel/vj-avcodec.c +++ b/veejay-current/veejay-server/libel/vj-avcodec.c @@ -48,7 +48,7 @@ static int out_pixel_format = FMT_422F; -char* vj_avcodec_get_codec_name(int codec_id ) +static char* vj_avcodec_get_codec_name(int codec_id ) { char name[64]; switch(codec_id) diff --git a/veejay-current/veejay-server/libel/vj-el.c b/veejay-current/veejay-server/libel/vj-el.c index 6f9287b4..647959af 100644 --- a/veejay-current/veejay-server/libel/vj-el.c +++ b/veejay-current/veejay-server/libel/vj-el.c @@ -306,7 +306,7 @@ int vj_el_cache_size() #define GREMLIN_GUARDIAN (128*1024)-1 #endif -vj_decoder *_el_new_decoder( void *ctx, int id , int width, int height, float fps, int pixel_format, int out_fmt, long max_frame_size) +static vj_decoder *_el_new_decoder( void *ctx, int id , int width, int height, float fps, int pixel_format, int out_fmt, long max_frame_size) { vj_decoder *d = (vj_decoder*) vj_calloc(sizeof(vj_decoder)); if(!d) @@ -360,10 +360,6 @@ int get_ffmpeg_pixfmt( int pf ) } return PIX_FMT_YUV422P; } -int get_ffmpeg_shift_size(int fmt) -{ - return 0; -} static long get_max_frame_size( lav_file_t *fd ) { @@ -500,24 +496,7 @@ int open_video_file(char *filename, editlist * el, int preserve_pathname, int de veejay_msg(VEEJAY_MSG_DEBUG,"\tWidth: %d", lav_video_width(el->lav_fd[n])); veejay_msg(VEEJAY_MSG_DEBUG,"\tHeight: %d", lav_video_height(el->lav_fd[n])); - const char *int_msg; - switch (lav_video_interlacing(el->lav_fd[n])) - { - case LAV_NOT_INTERLACED: - int_msg = "Not interlaced"; - break; - case LAV_INTER_TOP_FIRST: - int_msg = "Top field first"; - break; - case LAV_INTER_BOTTOM_FIRST: - int_msg = "Bottom field first"; - break; - default: - int_msg = "Unknown!"; - break; - } - - if( deinter == 1 && (lav_video_interlacing(el->lav_fd[n]) != LAV_NOT_INTERLACED)) + if( deinter == 1 && (lav_video_interlacing(el->lav_fd[n]) != LAV_NOT_INTERLACED)) el->auto_deinter = 1; veejay_msg(VEEJAY_MSG_DEBUG,"\tFrames/sec: %f", lav_frame_rate(el->lav_fd[n])); @@ -1638,16 +1617,6 @@ void vj_el_print(editlist *el) veejay_msg(VEEJAY_MSG_INFO, "\tDuration: %s (%2d hours, %2d minutes)(%ld frames)", timecode,ttc.h,ttc.m,el->video_frames); } -MPEG_timecode_t get_timecode(editlist *el, long num_frames) -{ - MPEG_timecode_t tc; - veejay_memset(&tc,0,sizeof(tc)); - mpeg_timecode(&tc, num_frames, - mpeg_framerate_code( mpeg_conform_framerate( el->video_fps )), - el->video_fps ); - return tc; -} - int vj_el_get_file_entry(editlist *el, long *start_pos, long *end_pos, long entry ) { if(entry >= el->num_video_files) diff --git a/veejay-current/veejay-server/libel/vj-el.h b/veejay-current/veejay-server/libel/vj-el.h index be4d4a7b..4913ef9f 100644 --- a/veejay-current/veejay-server/libel/vj-el.h +++ b/veejay-current/veejay-server/libel/vj-el.h @@ -159,4 +159,6 @@ long vj_el_get_mem_size(); int vj_el_auto_detect_scenes( editlist *el, uint8_t *tmp[4], int w, int h, int dl_threshold ); +int vj_el_get_decoder_from_fourcc( const char *fourcc ); + #endif diff --git a/veejay-current/veejay-server/libplugger/defaults.c b/veejay-current/veejay-server/libplugger/defaults.c index 662ce02f..ed48c93f 100644 --- a/veejay-current/veejay-server/libplugger/defaults.c +++ b/veejay-current/veejay-server/libplugger/defaults.c @@ -31,7 +31,7 @@ #define PATH_MAX 1024 #endif -FILE *plug_open_config(const char *basedir, const char *filename, char *mode, int chkdir ) +FILE *plug_open_config(const char *basedir, const char *filename, const char *mode, int chkdir ) { char path[PATH_MAX]; char *home = getenv( "HOME" ); diff --git a/veejay-current/veejay-server/libplugger/defaults.h b/veejay-current/veejay-server/libplugger/defaults.h index 1f00e190..0032d17d 100644 --- a/veejay-current/veejay-server/libplugger/defaults.h +++ b/veejay-current/veejay-server/libplugger/defaults.h @@ -23,6 +23,6 @@ */ -FILE *plug_open_config(const char *basedir, const char *filename, char *mode, int chkdir ); +FILE *plug_open_config(const char *basedir, const char *filename, const char *mode, int chkdir ); #endif diff --git a/veejay-current/veejay-server/libplugger/frei0r-loader.c b/veejay-current/veejay-server/libplugger/frei0r-loader.c index 280ff6f0..ce94eacf 100644 --- a/veejay-current/veejay-server/libplugger/frei0r-loader.c +++ b/veejay-current/veejay-server/libplugger/frei0r-loader.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #define RUP8(num)(((num)+8)&~8) @@ -585,7 +586,7 @@ static int is_bad_frei0r_plugin( f0r_plugin_info_t *info ) return 0; } -void frei0r_read_plug_configuration(void *plugin, const char *name) +static void frei0r_read_plug_configuration(void *plugin, const char *name) { FILE *f = plug_open_config( "frei0r", name, "r",0 ); if(!f) { @@ -620,15 +621,15 @@ void frei0r_read_plug_configuration(void *plugin, const char *name) void* deal_with_fr( void *handle, char *name) { void *port = vpn( VEVO_FR_PORT ); - f0r_init_f f0r_init = dlsym( handle, "f0r_init" ); - if( f0r_init == NULL ) + f0r_init_f f0r_init_func = dlsym( handle, "f0r_init" ); + if( f0r_init_func == NULL ) { vpf( port ); return NULL; } - f0r_deinit_f f0r_deinit = dlsym( handle, "f0r_deinit" ); - if( f0r_deinit == NULL ) + f0r_deinit_f f0r_deinit_func = dlsym( handle, "f0r_deinit" ); + if( f0r_deinit_func == NULL ) { vpf( port ); return NULL; @@ -656,8 +657,8 @@ void* deal_with_fr( void *handle, char *name) void *get_params = dlsym( handle, "f0r_get_param_value" ); vevo_property_set( port, "handle", VEVO_ATOM_TYPE_VOIDPTR,1, &handle ); - vevo_property_set( port, "init", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_init ); - vevo_property_set( port, "deinit", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_deinit ); + vevo_property_set( port, "init", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_init_func ); + vevo_property_set( port, "deinit", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_deinit_func ); vevo_property_set( port, "info", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_info ); vevo_property_set( port, "parameters", VEVO_ATOM_TYPE_VOIDPTR, 1, &f0r_param ); @@ -682,7 +683,7 @@ void* deal_with_fr( void *handle, char *name) memset( &finfo,0,sizeof(f0r_plugin_info_t)); - if( (*f0r_init)() == 0) + if( (*f0r_init_func)() == 0) { veejay_msg(VEEJAY_MSG_ERROR,"Failed to initialize frei0r plugin '%s': ", name); vpf( port ); @@ -695,7 +696,7 @@ void* deal_with_fr( void *handle, char *name) { veejay_msg(VEEJAY_MSG_ERROR,"I am using frei0r version %d but plugin requires %d", FREI0R_MAJOR_VERSION, finfo.frei0r_version ); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); return NULL; } @@ -703,7 +704,7 @@ void* deal_with_fr( void *handle, char *name) if( is_bad_frei0r_plugin( &finfo ) ) { veejay_msg(VEEJAY_MSG_ERROR, "Frei0r %s-%d.%d is blacklisted. Please upgrade this plug-in to a newer version.", finfo.name, finfo.major_version, finfo.minor_version); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); return NULL; } @@ -721,7 +722,7 @@ void* deal_with_fr( void *handle, char *name) n_inputs = 2; if( processm == NULL ) { veejay_msg(VEEJAY_MSG_ERROR, "Supposed to be mixer plugin (2 sources) but no f0r_update2"); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); if(plug_name) free(plug_name); return NULL; @@ -730,7 +731,7 @@ void* deal_with_fr( void *handle, char *name) n_inputs = 1; if( processf == NULL ) { veejay_msg(VEEJAY_MSG_ERROR, "Supposed to be filter plugin (1 input source) but no f0r_update"); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); if(plug_name) free(plug_name); return NULL; @@ -740,14 +741,14 @@ void* deal_with_fr( void *handle, char *name) n_outputs = 1; if( processf == NULL ) { veejay_msg(VEEJAY_MSG_ERROR, "Supposed to be generator plugin (1 output source) but no f0r_update"); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); if(plug_name) free(plug_name); return NULL; } } else { veejay_msg(VEEJAY_MSG_ERROR, "Frei0r plugin '%s' (%s) unsupported type", finfo.name, plugin_name ); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); if(plug_name) free(plug_name); return NULL; @@ -758,7 +759,7 @@ void* deal_with_fr( void *handle, char *name) if( (finfo.plugin_type == F0R_PLUGIN_TYPE_FILTER && processf == NULL) || (finfo.plugin_type == F0R_PLUGIN_TYPE_MIXER2 && processm == NULL) ) { veejay_msg(0, "Frei0r plugin %s behaves badly",name); - (*f0r_deinit)(); + (*f0r_deinit_func)(); vpf(port); return NULL; } diff --git a/veejay-current/veejay-server/libplugger/livido-loader.c b/veejay-current/veejay-server/libplugger/livido-loader.c index 02d4f71c..2dcd4cb9 100644 --- a/veejay-current/veejay-server/libplugger/livido-loader.c +++ b/veejay-current/veejay-server/libplugger/livido-loader.c @@ -52,7 +52,7 @@ #define IS_RGB_PALETTE( p ) ( p < 512 ? 1 : 0 ) -void livido_dummy_function() +static void livido_dummy_function() { } @@ -945,7 +945,7 @@ static void livido_push_channel_local( void *instance,const char *key, int n, VJ void livido_push_channel( void *instance,int n,int dir, VJFrame *frame ) // in_channels / out_channels { - char *key = (dir == 0 ? "in_channels" : "out_channels" ); + const char *key = (dir == 0 ? "in_channels" : "out_channels" ); livido_push_channel_local(instance, key, n, frame ); } diff --git a/veejay-current/veejay-server/libplugger/utility.c b/veejay-current/veejay-server/libplugger/utility.c index d12b84ba..b1cc4de6 100644 --- a/veejay-current/veejay-server/libplugger/utility.c +++ b/veejay-current/veejay-server/libplugger/utility.c @@ -36,7 +36,7 @@ #include #include #include - +#include char *get_str_vevo( void *port, const char *key ){ return vevo_property_get_string(port,key); @@ -152,31 +152,3 @@ void clone_prop_vevo( void *port, void *to_port, const char *key, const char *as } - -void clone_prop_vevo2( void *port, void *to_port, const char *key, const char *as_key ) -{ - int n = vevo_property_atom_type( port ,key); - int itmp = 0; - double dtmp = 0.0; - - switch(n) - { - case VEVO_ATOM_TYPE_INT: - vevo_property_get( port, key, 0, &itmp ); - vevo_property_set( to_port, as_key, n, 1, &itmp ); - break; - case VEVO_ATOM_TYPE_DOUBLE: - vevo_property_get( port, key, 0, &dtmp ); - vevo_property_set( to_port, as_key, n, 1, &dtmp ); - break; - case VEVO_ATOM_TYPE_BOOL: - vevo_property_get( port, key, 0, &itmp ); - vevo_property_set( to_port, as_key, n, 1, &itmp ); - break; - default: - veejay_msg(0, "Type %d cannot be cloned",n); - break; - } -} - - diff --git a/veejay-current/veejay-server/libplugger/utility.h b/veejay-current/veejay-server/libplugger/utility.h index f149e9e4..7b836b8d 100644 --- a/veejay-current/veejay-server/libplugger/utility.h +++ b/veejay-current/veejay-server/libplugger/utility.h @@ -1,7 +1,7 @@ #ifndef UTIL_H #define UTIL_H /* veejay - Linux VeeJay - * (C) 2002-2005 Niels Elburg + * (C) 2002-2016 Niels Elburg * * * This program is free software; you can redistribute it and/or modify @@ -24,4 +24,5 @@ double *get_dbl_arr_vevo( void *port, const char *key ); void clone_prop_vevo( void *port, void *to_port, const char *key, const char *as_key ); void util_convertrgba32( uint8_t **data, int w, int h,int in_pix_fmt,int shiftv, void *out_buffer ); void util_convertsrc( void *indata, int w, int h, int out_pix_fmt, uint8_t **data); +int auto_scale_int( void *port, const char *key, int n, int *dst); #endif diff --git a/veejay-current/veejay-server/libsample/sampleadm.c b/veejay-current/veejay-server/libsample/sampleadm.c index 589352bc..4284c3f7 100644 --- a/veejay-current/veejay-server/libsample/sampleadm.c +++ b/veejay-current/veejay-server/libsample/sampleadm.c @@ -3406,33 +3406,7 @@ int sample_read_edl( sample_info *sample ) return res; } -int is_samplelist(char *filename) -{ - xmlDocPtr doc; - xmlNodePtr cur; - doc = xmlParseFile(filename); - if (doc == NULL) - return (0); - - cur = xmlDocGetRootElement(doc); - if (cur == NULL) - { - xmlFreeDoc(doc); - return (0); - } - - if (xmlStrcmp(cur->name, (const xmlChar *) XMLTAG_SAMPLES)) - { - xmlFreeDoc(doc); - return (0); - } - - xmlFreeDoc(doc); - - return 1; -} - -void LoadSubtitles( sample_info *skel, char *file, void *font ) +static void LoadSubtitles( sample_info *skel, char *file, void *font ) { char tmp[512]; @@ -3783,7 +3757,7 @@ static void WriteSubtitles( sample_info *next_sample, void *font, char *file ) int sample_writeToFile(char *sampleFile, void *vp,void *seq, void *font, int id, int mode) { int i; - char *encoding = "UTF-8"; + const char *encoding = "UTF-8"; xmlChar *version = xmlCharStrdup("1.0"); sample_info *next_sample; xmlDocPtr doc; diff --git a/veejay-current/veejay-server/libstream/vj-tag.c b/veejay-current/veejay-server/libstream/vj-tag.c index c6164fcc..4a147543 100644 --- a/veejay-current/veejay-server/libstream/vj-tag.c +++ b/veejay-current/veejay-server/libstream/vj-tag.c @@ -3842,7 +3842,7 @@ static void tagParseEffects(xmlDocPtr doc, xmlNodePtr cur, int dst_stream) } } -void tagParseCalibration( xmlDocPtr doc, xmlNodePtr cur, int dst_sample , void *vp) +static void tagParseCalibration( xmlDocPtr doc, xmlNodePtr cur, int dst_sample , void *vp) { } diff --git a/veejay-current/veejay-server/libsubsample/subsample.c b/veejay-current/veejay-server/libsubsample/subsample.c index ef693a87..6f6224f5 100644 --- a/veejay-current/veejay-server/libsubsample/subsample.c +++ b/veejay-current/veejay-server/libsubsample/subsample.c @@ -496,7 +496,7 @@ static void tr_422_to_444( uint8_t *buffer, int width, int height) } } #else - const int mmx_stride = stride >> 3; +// const int mmx_stride = stride >> 3; // int left = (mmx_stride % 16); /* FIXME */ for( y = height -1 ; y > 0; y -- ) { uint8_t *src = buffer + (y* stride); @@ -529,7 +529,7 @@ static void tr_422_to_444t(uint8_t *out, uint8_t *in, int width, int height) } } #else - const int mmx_stride = stride >> 3; +// const int mmx_stride = stride >> 3; // int left = (mmx_stride % 16); /* FIXME */ int x1 = 0; for( y = height -1 ; y > 0; y -- ) { diff --git a/veejay-current/veejay-server/libvevo/vevo.c b/veejay-current/veejay-server/libvevo/vevo.c index 24cf4439..d726766b 100644 --- a/veejay-current/veejay-server/libvevo/vevo.c +++ b/veejay-current/veejay-server/libvevo/vevo.c @@ -2776,13 +2776,13 @@ void vevo_dom_dump( void *p, FILE *file ) fclose(file); }*/ - +/* int vevo_write_xml( vevo_port_t *root, const char *destination, char *hiearchy[] ) { char **properties = vevo_list_properties( root ); if( properties == NULL ) return 0; -/* xmlNodePtr childnode; + xmlNodePtr childnode; xmlDocPtr doc = xmlNewDoc( "1.0" ); xmlNodePtr rootnode = xmlNewDocNode( doc, NULL , (const xmlChar*) hiearchy[0], NULL ); @@ -2804,9 +2804,8 @@ int vevo_write_xml( vevo_port_t *root, const char *destination, char *hiearchy[] } xmlNodePtr childnode = xmlNewChild( rootnode, NULL, (const xmlChar*) "timeline", NULL ); -*/ return 1; -} +} */ diff --git a/veejay-current/veejay-server/libvje/effects/chromamagickalpha.c b/veejay-current/veejay-server/libvje/effects/chromamagickalpha.c index d0f2bc62..fc925f15 100644 --- a/veejay-current/veejay-server/libvje/effects/chromamagickalpha.c +++ b/veejay-current/veejay-server/libvje/effects/chromamagickalpha.c @@ -893,7 +893,7 @@ static void chromamagicalpha_softlightmode(VJFrame *frame,VJFrame *frame2,int wi } } -void chromamagicalpha_dodge(VJFrame *frame, VJFrame *frame2, int w, int h, +static void chromamagicalpha_dodge(VJFrame *frame, VJFrame *frame2, int w, int h, int op_a) { unsigned int i; const int len = frame->len; diff --git a/veejay-current/veejay-server/libvje/effects/coloradjust.c b/veejay-current/veejay-server/libvje/effects/coloradjust.c index fc5bd850..221043a2 100644 --- a/veejay-current/veejay-server/libvje/effects/coloradjust.c +++ b/veejay-current/veejay-server/libvje/effects/coloradjust.c @@ -52,24 +52,22 @@ vj_effect *coloradjust_init(int w, int h) } /* these methods were derived from yuv-subtitler */ -inline uint8_t ccolor_adjust_u(double dcolor, double dsaturation) +static inline uint8_t ccolor_adjust_u(double dcolor, double dsaturation) { return (sin(dcolor) * dsaturation) + 128; } -inline uint8_t ccolor_adjust_v(double dcolor, double dsaturation) +static inline uint8_t ccolor_adjust_v(double dcolor, double dsaturation) { return (cos(dcolor) * dsaturation) + 128; } - - -inline double ccolor_sqrt(double u, double v) +static inline double ccolor_sqrt(double u, double v) { // return sqrt((u * u) + (v * v)); double r; fast_sqrt( r,(u*u)+(v*v)); return r; } -inline double ccolor_sine(int u, double dsaturation) +static inline double ccolor_sine(int u, double dsaturation) { return asin((u / dsaturation)); } diff --git a/veejay-current/veejay-server/libvje/effects/dissolve.c b/veejay-current/veejay-server/libvje/effects/dissolve.c index 75a37e0e..6bc9d067 100644 --- a/veejay-current/veejay-server/libvje/effects/dissolve.c +++ b/veejay-current/veejay-server/libvje/effects/dissolve.c @@ -80,4 +80,3 @@ void dissolve_apply(VJFrame *frame, VJFrame *frame2, int width, } } -void dissolve_free(){} diff --git a/veejay-current/veejay-server/libvje/effects/dummy.c b/veejay-current/veejay-server/libvje/effects/dummy.c index 3038d19a..514f04fc 100644 --- a/veejay-current/veejay-server/libvje/effects/dummy.c +++ b/veejay-current/veejay-server/libvje/effects/dummy.c @@ -24,6 +24,7 @@ #include #include #include +#include "dummy.h" vj_effect *dummy_init(int w, int h) { diff --git a/veejay-current/veejay-server/libvje/effects/lumamagick.c b/veejay-current/veejay-server/libvje/effects/lumamagick.c index d3b044bd..4e1d019f 100644 --- a/veejay-current/veejay-server/libvje/effects/lumamagick.c +++ b/veejay-current/veejay-server/libvje/effects/lumamagick.c @@ -24,7 +24,7 @@ #include #include #include -#include "magicoverlays.h" +#include "lumamagick.h" #include "common.h" /* 04/01/03: added transparency parameters for frame a and frame b in each function */ diff --git a/veejay-current/veejay-server/libvje/effects/lumamagick.h b/veejay-current/veejay-server/libvje/effects/lumamagick.h index c5ecfb27..a25729ef 100644 --- a/veejay-current/veejay-server/libvje/effects/lumamagick.h +++ b/veejay-current/veejay-server/libvje/effects/lumamagick.h @@ -29,121 +29,4 @@ vj_effect *lumamagick_init(); void lumamagic_apply(VJFrame *frame, VJFrame *frame2, int width, int height, int n, int op_a, int op_b); -void _lumamagick_add_distorted(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_sub_distorted(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_multiply(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_divide(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_additive(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_substractive(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_softburn(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_inverseburn(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_colordodge(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_mulsub(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_lighten(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_difference(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_diffnegate(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_exclusive(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_basecolor(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_freeze(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_unfreeze(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_hardlight(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - - -void _lumamagick_relativesublum(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - - -void _lumamagick_relativeaddlum(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - - -void _lumamagick_relativesub(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_relativeadd(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - - -void _lumamagick_maxselect(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - - -void _lumamagick_minselect(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - - -void _lumamagick_minsubselect(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); -void _lumamagick_maxsubselect(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); -void _lumamagick_addsubselectlum(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, - int op_b); - -void _lumamagick_addsubselect(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); -void _lumamagick_addtest(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); -void _lumamagick_addtest2(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); -void _lumamagick_addtest3(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); -void _lumamagick_addtest4(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_selectmin(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_selectmax(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - -void _lumamagick_selectfreeze(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_selectunfreeze(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_selectdiff(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); - -void _lumamagick_selectdiffneg(VJFrame *frame, VJFrame *frame2, - int width, int height, int op_a, int op_b); -void _lumamagick_addlum(VJFrame *frame, VJFrame *frame2, int width, - int height, int op_a, int op_b); - #endif diff --git a/veejay-current/veejay-server/libvje/effects/magicoverlays.c b/veejay-current/veejay-server/libvje/effects/magicoverlays.c index e38e31a9..1ae2c9c6 100644 --- a/veejay-current/veejay-server/libvje/effects/magicoverlays.c +++ b/veejay-current/veejay-server/libvje/effects/magicoverlays.c @@ -797,4 +797,3 @@ void overlaymagic_apply(VJFrame *frame, VJFrame *frame2, int width, } -void overlaymagic_free(){} diff --git a/veejay-current/veejay-server/libvje/effects/whiteframe.c b/veejay-current/veejay-server/libvje/effects/whiteframe.c index 042baca4..06f56501 100644 --- a/veejay-current/veejay-server/libvje/effects/whiteframe.c +++ b/veejay-current/veejay-server/libvje/effects/whiteframe.c @@ -72,4 +72,3 @@ void whiteframe_apply( VJFrame *frame, VJFrame *frame2, int width, } } } -void whitereplace_free(){} diff --git a/veejay-current/veejay-server/libvje/effects/zoom.c b/veejay-current/veejay-server/libvje/effects/zoom.c index af0a83bc..1cde7972 100644 --- a/veejay-current/veejay-server/libvje/effects/zoom.c +++ b/veejay-current/veejay-server/libvje/effects/zoom.c @@ -24,6 +24,8 @@ #include #include #include "common.h" +#include "zoom.h" + vj_effect *zoom_init(int width , int height) { vj_effect *ve = (vj_effect *) vj_calloc(sizeof(vj_effect)); diff --git a/veejay-current/veejay-server/libvje/transitions/slidingdoor.c b/veejay-current/veejay-server/libvje/transitions/slidingdoor.c index c949d11a..c8eb955b 100644 --- a/veejay-current/veejay-server/libvje/transitions/slidingdoor.c +++ b/veejay-current/veejay-server/libvje/transitions/slidingdoor.c @@ -20,9 +20,9 @@ #include #include #include -#include "transblend.h" #include #include +#include "slidingdoor.h" vj_effect *slidingdoor_init(int width, int height) { @@ -91,4 +91,3 @@ void slidingdoor_apply( VJFrame *frame, VJFrame *frame2, int width, frame->shift_v );*/ } -void slidingdoor_free(){} diff --git a/veejay-current/veejay-server/libvje/transitions/transblend.c b/veejay-current/veejay-server/libvje/transitions/transblend.c index 571d0ac7..c846a598 100644 --- a/veejay-current/veejay-server/libvje/transitions/transblend.c +++ b/veejay-current/veejay-server/libvje/transitions/transblend.c @@ -108,6 +108,4 @@ void transblend_apply( VJFrame *frame, VJFrame *frame2, int width, Cr[p] = func_c( Cr[p], Cr2[q]); } } - } -void transblend_free(){} diff --git a/veejay-current/veejay-server/libvje/transitions/transline.c b/veejay-current/veejay-server/libvje/transitions/transline.c index 831c65ed..bd7e87ee 100644 --- a/veejay-current/veejay-server/libvje/transitions/transline.c +++ b/veejay-current/veejay-server/libvje/transitions/transline.c @@ -155,4 +155,3 @@ void transline_apply( VJFrame *frame, VJFrame *frame2, int width, transline2_apply(frame->data, frame2->data, width, height, distance, line_width, opacity); } -void transline_free(){} diff --git a/veejay-current/veejay-server/libvje/transitions/vbar.c b/veejay-current/veejay-server/libvje/transitions/vbar.c index 2940b818..b16455cd 100644 --- a/veejay-current/veejay-server/libvje/transitions/vbar.c +++ b/veejay-current/veejay-server/libvje/transitions/vbar.c @@ -127,5 +127,3 @@ void vbar_apply(VJFrame *frame, VJFrame *frame2, int width, int height,int divid bar_top_vert += top_x; bar_bot_vert += bot_x; } - -void vbar_free(){} diff --git a/veejay-current/veejay-server/libvje/vj-effect.c b/veejay-current/veejay-server/libvje/vj-effect.c index 1e39f788..29bf3290 100644 --- a/veejay-current/veejay-server/libvje/vj-effect.c +++ b/veejay-current/veejay-server/libvje/vj-effect.c @@ -825,7 +825,7 @@ int vj_effect_get_by_name(char *name) } /* returns the description of an effect */ -char *vj_effect_get_description(int effect_id) +const char *vj_effect_get_description(int effect_id) { /* 115 */ int entry = vj_effect_real_to_sequence(effect_id); if (entry >= 0) @@ -834,7 +834,7 @@ char *vj_effect_get_description(int effect_id) return ""; } -char *vj_effect_get_param_description(int effect_id, int param_nr) +const char *vj_effect_get_param_description(int effect_id, int param_nr) { int entry; entry = vj_effect_real_to_sequence(effect_id); diff --git a/veejay-current/veejay-server/libvje/vje.h b/veejay-current/veejay-server/libvje/vje.h index fd30996a..c059280a 100644 --- a/veejay-current/veejay-server/libvje/vje.h +++ b/veejay-current/veejay-server/libvje/vje.h @@ -113,8 +113,8 @@ extern void vj_effect_shutdown(); extern int vj_effect_max_effects(); extern int vj_effect_real_to_sequence(int effect_id); extern int vj_effect_get_real_id( int entry_num ); -extern char *vj_effect_get_description(int effect_id); -extern char *vj_effect_get_param_description(int effect_id, int param_nr); +extern const char *vj_effect_get_description(int effect_id); +extern const char *vj_effect_get_param_description(int effect_id, int param_nr); extern int vj_effect_get_extra_frame(int effect_id); extern int vj_effect_get_num_params(int effect_id); extern int vj_effect_get_default(int effect_id, int param_nr); diff --git a/veejay-current/veejay-server/libvjmem/memcpy.c b/veejay-current/veejay-server/libvjmem/memcpy.c index a0f077bc..7c4ee00d 100644 --- a/veejay-current/veejay-server/libvjmem/memcpy.c +++ b/veejay-current/veejay-server/libvjmem/memcpy.c @@ -1240,16 +1240,6 @@ void fast_memset_dirty(void * to, int val, size_t len) if(len) small_memset(t, val, len); } - - -/* Fast memory set. See comments for fast_memcpy */ -void fast_memset(void * to, int val, size_t len) -{ - fast_memset_dirty( to, val , len ); - if(len >= MIN_LEN) - fast_memset_finish(); -} - static void *linux_kernel_memcpy(void *to, const void *from, size_t len) { return __memcpy(to,from,len); } @@ -1325,11 +1315,20 @@ static void *memcpy_neon( void *to, const void *from, size_t n ) } #endif +/* Fast memory set. See comments for fast_memcpy */ +static void fast_memset(void * to, int val, size_t len) +{ + fast_memset_dirty( to, val , len ); + if(len >= MIN_LEN) + fast_memset_finish(); +} + + static struct { - char *name; - void *(*function)(void *to, const void *from, size_t len); - double t; + const char *name; + void *(*function)(void *to, const void *from, size_t len); + double t; uint32_t cpu_require; } memcpy_method[] = { @@ -1378,10 +1377,10 @@ static struct { }; static struct { - char *name; - void *(*function)(void *to, uint8_t c, size_t len); - uint32_t cpu_require; - double t; + const char *name; + void *(*function)(void *to, uint8_t c, size_t len); + uint32_t cpu_require; + double t; } memset_method[] = { { NULL, NULL, 0,0}, @@ -1689,7 +1688,7 @@ static void vj_frame_slow_job( void *arg ) } -void vj_frame_slow_single( uint8_t **p0_buffer, uint8_t **p1_buffer, uint8_t **img, int len, int uv_len,const float frac ) +static void vj_frame_slow_single( uint8_t **p0_buffer, uint8_t **p1_buffer, uint8_t **img, int len, int uv_len,const float frac ) { vj_frame_slow1(img[0],p0_buffer[0],p1_buffer[0],len,frac ); vj_frame_slow1(img[1],p0_buffer[1],p1_buffer[1],uv_len,frac ); @@ -1735,7 +1734,7 @@ void vj_frame_slow_threaded( uint8_t **p0_buffer, uint8_t **p1_buffer, uint8_t * } -void vj_frame_simple_clear( uint8_t **input, int *strides, int v ) +static void vj_frame_simple_clear( uint8_t **input, int *strides, int v ) { int i; for( i = 0; i < 4; i ++ ) { @@ -1746,7 +1745,7 @@ void vj_frame_simple_clear( uint8_t **input, int *strides, int v ) } -void vj_frame_simple_copy( uint8_t **input, uint8_t **output, int *strides ) +static void vj_frame_simple_copy( uint8_t **input, uint8_t **output, int *strides ) { int i; for( i = 0; i < 4; i ++ ) { @@ -1881,8 +1880,7 @@ static double benchmark_single_copy(long c,int dummy, uint8_t **dest, uint8_t ** typedef double (*benchmark_func)(long c, int dummy, uint8_t **dest, uint8_t **source, int *planes); - -void run_benchmark_test(int n_tasks, benchmark_func f, char *str, int n_frames, uint8_t **dest, uint8_t **source, int *planes ) +static void run_benchmark_test(int n_tasks, benchmark_func f, const char *str, int n_frames, uint8_t **dest, uint8_t **source, int *planes ) { int N = 8; double stats[N]; @@ -1914,7 +1912,7 @@ void run_benchmark_test(int n_tasks, benchmark_func f, char *str, int n_frames, veejay_msg(VEEJAY_MSG_INFO, "run done: best score for %s is %g, worst is %g, average is %g",str, fastest, slowest, average ); } -void benchmark_tasks(unsigned int n_tasks, long n_frames, int w, int h) +static void benchmark_tasks(unsigned int n_tasks, long n_frames, int w, int h) { int len = w * h; int uv_len = (w/2) * h; diff --git a/veejay-current/veejay-server/libvjmem/vj-x86.c b/veejay-current/veejay-server/libvjmem/vj-x86.c index a8917cec..68339a7d 100644 --- a/veejay-current/veejay-server/libvjmem/vj-x86.c +++ b/veejay-current/veejay-server/libvjmem/vj-x86.c @@ -39,10 +39,13 @@ static int MEM_ALIGNMENT_SIZE = 32; static int CACHE_LINE_SIZE = 64; -#ifdef ARCH_X86 -int has_cpuid(void) +static int has_cpuid(void) { - int a, c; +#ifdef ARCH_X86_64 + return 1; +#endif +#ifdef ARCH_X86 + int a, c; // code from libavcodec: __asm__ __volatile__ ( @@ -67,11 +70,12 @@ int has_cpuid(void) ); return (a!=c); +#endif + return 0; } // copied from Mplayer (want to have cache line size detection ;) ) -void -do_cpuid(unsigned int ax, unsigned int *p) +static void do_cpuid(unsigned int ax, unsigned int *p) { // code from libavcodec: __asm __volatile @@ -83,7 +87,7 @@ do_cpuid(unsigned int ax, unsigned int *p) : "0" (ax)); } -int get_cache_line_size() +static int get_cache_line_size() { unsigned int regs[4]; unsigned int regs2[4]; @@ -110,7 +114,7 @@ int get_cache_line_size() return ret; } - +#ifdef ARCH_X86 static void mymemset_generic(void * s, char c,size_t count) { int d0, d1; @@ -123,7 +127,7 @@ __asm__ __volatile__( } #else -void mymemset_generic(void *s, char c, size_t cc ) +static void mymemset_generic(void *s, char c, size_t cc ) { memset(s,c,cc); } @@ -134,6 +138,11 @@ int cpu_cache_size() return CACHE_LINE_SIZE; } +int mem_align_size() +{ + return MEM_ALIGNMENT_SIZE; +} + void vj_mem_init(void) { ac_init( AC_ALL ); @@ -142,9 +151,13 @@ void vj_mem_init(void) #ifdef ARCH_X86 CACHE_LINE_SIZE = get_cache_line_size(); +#endif +#ifdef ARCH_X86_64 + CACHE_LINE_SIZE = get_cache_line_size(); #endif if(MEM_ALIGNMENT_SIZE == 0) MEM_ALIGNMENT_SIZE = getpagesize(); + #if defined (HAVE_ASM_MMX) || defined (HAVE_ASM_SSE) yuyv_plane_init(); #endif diff --git a/veejay-current/veejay-server/libvjmem/vjmem.h b/veejay-current/veejay-server/libvjmem/vjmem.h index 82d0727d..24953d08 100644 --- a/veejay-current/veejay-server/libvjmem/vjmem.h +++ b/veejay-current/veejay-server/libvjmem/vjmem.h @@ -36,13 +36,14 @@ extern void init_parallel_tasks(int n_tasks); #define vj_malloc(i) vj_malloc_(i) #define vj_calloc(i) vj_calloc_(i) - +extern void find_best_memset(); +extern void find_best_memcpy(); extern void fast_memset_dirty(void * to, int val, size_t len); extern void fast_memset_finish(); extern void packed_plane_clear( size_t len, void *to ); extern void yuyv_plane_clear( size_t len, void *to ); extern int cpu_cache_size(); -extern int get_cache_line_size(); +extern int mem_align_size(); extern char *veejay_strncat( char *s1, char *s2, size_t n ); extern char *veejay_strncpy( char *s1, const char *s2, size_t n ); extern void yuyv_plane_init(); diff --git a/veejay-current/veejay-server/libvjnet/cmd.c b/veejay-current/veejay-server/libvjnet/cmd.c index b5cb1345..edec5b18 100644 --- a/veejay-current/veejay-server/libvjnet/cmd.c +++ b/veejay-current/veejay-server/libvjnet/cmd.c @@ -48,7 +48,7 @@ static void create_ghbn_key() { pthread_key_create(&ghbn_key, ghbn_cleanup); } -struct hostent *sock_gethostbyname(const char *name) { +static struct hostent *sock_gethostbyname(const char *name) { struct hostent *result; int local_errno; @@ -252,12 +252,13 @@ int sock_t_recv( vj_sock_t *s, void *dst, int len ) int bytes_left = len; int n; int bytes_done = 0; + char *addr = (char*) dst; while( bytes_left > 0 ) { sock_t_recv_lbl: //@ setup socket with SO_RCVTIMEO - n = recv( s->sock_fd, dst + bytes_done, bytes_left, MSG_WAITALL ); + n = recv( s->sock_fd, addr + bytes_done, bytes_left, MSG_WAITALL ); if ( n <= 0 ) { if( n == -1 ) { if( errno == EAGAIN ) { diff --git a/veejay-current/veejay-server/libvjnet/packet.c b/veejay-current/veejay-server/libvjnet/packet.c index b17c02a5..20db0f2a 100644 --- a/veejay-current/veejay-server/libvjnet/packet.c +++ b/veejay-current/veejay-server/libvjnet/packet.c @@ -79,7 +79,7 @@ int packet_get_info(frame_info_t *i, const void *data ) int packet_put_padded_data(packet_header_t *h, frame_info_t *i , void *payload, const uint8_t *plane, int bytes ) { - const char *dst = (const char*) payload; + char *dst = (char*) payload; size_t len = sizeof( packet_header_t ); veejay_memcpy( dst, h , len ); veejay_memcpy( dst + len, i , sizeof( frame_info_t )); @@ -90,10 +90,11 @@ int packet_put_padded_data(packet_header_t *h, frame_info_t *i , void *payload int packet_put_data(packet_header_t *h, frame_info_t *i , void *payload, const uint8_t *plane ) { size_t len = sizeof( packet_header_t ); - veejay_memcpy( payload, h , len ); - veejay_memcpy( payload + len, i , sizeof( frame_info_t )); + char *dst = (char*) payload; + veejay_memcpy( dst, h , len ); + veejay_memcpy( dst + len, i , sizeof( frame_info_t )); len += sizeof(frame_info_t ); - veejay_memcpy( payload + len, plane, CHUNK_SIZE ); + veejay_memcpy( dst + len, plane, CHUNK_SIZE ); return 1; } diff --git a/veejay-current/veejay-server/libvjnet/vj-server.c b/veejay-current/veejay-server/libvjnet/vj-server.c index a4a98072..6b8302a6 100644 --- a/veejay-current/veejay-server/libvjnet/vj-server.c +++ b/veejay-current/veejay-server/libvjnet/vj-server.c @@ -1099,29 +1099,8 @@ int vj_server_link_used( vj_server *vje, int link_id) { vj_link **Link = (vj_link**) vje->link; return Link[link_id]->in_use; -/* - if( link_id < 0 || link_id >= VJ_MAX_CONNECTIONS ) - return 0; - if (Link[link_id]->in_use) - return 1; - return 0;*/ } - -int vj_server_min_bufsize( vj_server *vje, int id ) -{ - vj_link **Link = (vj_link**) vje->link; - if (!Link[id]->in_use) - return 0; - - int index = Link[id]->n_retrieved; - if( index >= Link[id]->n_queued ) - return 0; // done - - return Link[id]->m_queue[index]->len; -} - - char *vj_server_retrieve_msg(vj_server *vje, int id, char *dst, int *str_len ) { vj_link **Link = (vj_link**) vje->link; @@ -1153,8 +1132,8 @@ char *vj_server_my_ip() return NULL; } - char *target = "8.8.8.8"; //google public dns - char *port = "53"; + const char *target = "8.8.8.8"; //google public dns + const char *port = "53"; veejay_memset(&h,0,sizeof(h)); h.ai_family = AF_INET; diff --git a/veejay-current/veejay-server/libyuv/mmx_macros.h b/veejay-current/veejay-server/libyuv/mmx_macros.h index 3e0320f2..30737586 100644 --- a/veejay-current/veejay-server/libyuv/mmx_macros.h +++ b/veejay-current/veejay-server/libyuv/mmx_macros.h @@ -9,7 +9,7 @@ #undef SFENCE #undef MIN_LEN -#if HAVE_ASM_3DNOW +#ifdef HAVE_ASM_3DNOW #define PREFETCH "prefetch" #elif HAVE_ASM_MMX2 #define PREFETCH "prefetchnta" diff --git a/veejay-current/veejay-server/libyuv/yuvconv.c b/veejay-current/veejay-server/libyuv/yuvconv.c index 680ae1fb..5e27b509 100644 --- a/veejay-current/veejay-server/libyuv/yuvconv.c +++ b/veejay-current/veejay-server/libyuv/yuvconv.c @@ -69,7 +69,7 @@ static int ffmpeg_aclib[AV_PIX_FMT_NB]; static struct { int i; - char *s; + const char *s; } pixstr[] = { {PIX_FMT_YUV420P, "PIX_FMT_YUV420P"}, { PIX_FMT_YUV422P, "PIX_FMT_YUV422P"}, @@ -95,8 +95,8 @@ static struct { }; -void yuv_pixstr( const char *s, char *s2, int fmt ) { - char *str = NULL; +static void yuv_pixstr( const char *s, const char *s2, int fmt ) { + const char *str = NULL; int i; for( i = 0; pixstr[i].s != NULL ; i ++ ) if( fmt == pixstr[i].i ) str = pixstr[i].s; diff --git a/veejay-current/veejay-server/thirdparty/mjpegtools/yuv4mpeg.c b/veejay-current/veejay-server/thirdparty/mjpegtools/yuv4mpeg.c index 0d42fea1..90e6e64d 100644 --- a/veejay-current/veejay-server/thirdparty/mjpegtools/yuv4mpeg.c +++ b/veejay-current/veejay-server/thirdparty/mjpegtools/yuv4mpeg.c @@ -118,14 +118,14 @@ ssize_t y4m_write_cb(y4m_cb_writer_t * fd, const void *buf, size_t len) /* Functions to use the callback interface from plain filedescriptors */ /* read len bytes from fd into buf */ -ssize_t y4m_read_fd(void * data, void *buf, size_t len) +static ssize_t y4m_read_fd(void * data, void *buf, size_t len) { int * f = (int*)data; return y4m_read(*f, buf, len); } /* write len bytes from fd into buf */ -ssize_t y4m_write_fd(void * data, const void *buf, size_t len) +static ssize_t y4m_write_fd(void * data, const void *buf, size_t len) { int * f = (int*)data; return y4m_write(*f, buf, len); diff --git a/veejay-current/veejay-server/veejay/liblavplayvj.c b/veejay-current/veejay-server/veejay/liblavplayvj.c index 596d4880..b3b865a3 100644 --- a/veejay-current/veejay-server/veejay/liblavplayvj.c +++ b/veejay-current/veejay-server/veejay/liblavplayvj.c @@ -102,26 +102,8 @@ #define QUEUE_LEN 1 #include #include -/* -#ifdef HAVE_GL -#include -#endif -*/ #include #include - -static veejay_t *veejay_instance_ = NULL; -static int best_performance_ = 0; - -void veejay_set_instance( veejay_t *info ) -{ - veejay_instance_ = info; -} - - -static void veejay_schedule_fifo( veejay_t *info, int pid ); - -//#include #include #include #ifdef HAVE_SDL @@ -152,7 +134,6 @@ static void veejay_schedule_fifo( veejay_t *info, int pid ); #include #define VALUE_NOT_FILLED -10000 - extern void vj_osc_set_veejay_t(veejay_t *t); extern void GoMultiCast(const char *groupname); extern void set_pixel_range(uint8_t Yhi,uint8_t Uhi, uint8_t Ylo, uint8_t Ulo); @@ -160,21 +141,24 @@ extern void set_pixel_range(uint8_t Yhi,uint8_t Uhi, uint8_t Ylo, uint8_t Ulo); #ifdef HAVE_SDL extern int vj_event_single_fire(void *ptr, SDL_Event event, int pressed); #endif -static int total_mem_mb_ = 0; -static int chunk_size_ = 0; -static int n_cache_slots_ = 0; -int get_num_slots(void) + +static veejay_t *veejay_instance_ = NULL; +static int best_performance_ = 0; + +void veejay_set_instance( veejay_t *info ) { - return n_cache_slots_; + veejay_instance_ = info; } + + +static void veejay_schedule_fifo( veejay_t *info, int pid ); + +static int total_mem_mb_ = 0; +static int n_cache_slots_ = 0; int get_total_mem(void) { return total_mem_mb_; } -int get_chunk_size(void) -{ - return chunk_size_; -} int veejay_get_state(veejay_t *info) { video_playback_setup *settings = (video_playback_setup*)info->settings; @@ -878,7 +862,7 @@ int veejay_create_tag(veejay_t * info, int type, char *filename, * * return value: 1 on succes, 0 on error ******************************************************/ - +/* int veejay_stop(veejay_t * info) { video_playback_setup *settings = @@ -890,11 +874,11 @@ int veejay_stop(veejay_t * info) } } - /*pthread_cancel( settings->playback_thread ); */ veejay_msg(VEEJAY_MSG_DEBUG, "Waiting for playback_thread ..."); pthread_join(settings->playback_thread, NULL); return 1; } +*/ /* stop playing a sample, continue with video */ void veejay_stop_sampling(veejay_t * info) @@ -1110,7 +1094,7 @@ static void veejay_mjpeg_software_frame_sync(veejay_t * info, settings->syncinfo[settings->currently_processed_frame].timestamp = settings->lastframe_completion; } -void veejay_pipe_write_status(veejay_t * info) +static void veejay_pipe_write_status(veejay_t * info) { video_playback_setup *settings = (video_playback_setup *) info->settings; int d_len = 0; @@ -1192,7 +1176,7 @@ void veejay_pipe_write_status(veejay_t * info) if (info->uc->chain_changed == 1) info->uc->chain_changed = 0; } -static char *veejay_concat_paths(char *path, char *suffix) +static char *veejay_concat_paths(char *path, const char *suffix) { int n = strlen(path) + strlen(suffix) + 2; char *str = vj_calloc( n * sizeof(char)); @@ -1930,7 +1914,7 @@ int veejay_init(veejay_t * info, int x, int y,char *arg, int def_tags, int gen_t return -1; } - char *my_ip = (info->qrcode == 1 ? vj_server_my_ip() : "http://veejayhq.net/contributing/" ); + char *my_ip = (info->qrcode == 1 ? vj_server_my_ip() : (char*) "http://veejayhq.net/contributing/" ); if( my_ip != NULL ) { char outfile[1024]; char connectionStr[1024]; @@ -2148,7 +2132,7 @@ int veejay_init(veejay_t * info, int x, int y,char *arg, int def_tags, int gen_t int dummy_id; /* Use dummy mode, action file could have specified something */ if( vj_tag_size()-1 <= 0 ) - dummy_id = vj_tag_new( VJ_TAG_TYPE_COLOR, "Solid", -1, el,info->pixel_format,-1,0,0); + dummy_id = vj_tag_new( VJ_TAG_TYPE_COLOR, (char*) "Solid", -1, el,info->pixel_format,-1,0,0); else dummy_id = vj_tag_size()-1; @@ -2767,7 +2751,6 @@ int prepare_cache_line(int perc, int n_slots) int chunk_size = (int) (max_memory <= 0 ? 0: max_memory / n_slots ); - chunk_size_ = chunk_size; n_cache_slots_ = n_slots; vj_el_set_mmap_size( mmap_memory ); @@ -3714,10 +3697,8 @@ static int configure_dummy_defaults(veejay_t *info, char override_norm, float fp default_norm = (override_norm == '\0' ? veejay_get_norm(vj_el_get_default_norm(tmp_fps)) : veejay_get_norm(override_norm)); veejay_msg(VEEJAY_MSG_DEBUG, "Video source is: %dx%d %2.2f fps norm %d",in_w,in_h,tmp_fps, default_norm); - } else { - veejay_msg(VEEJAY_MSG_DEBUG, "Dummy source is: %dx%d %2.2f fps norm %d",dw,dh,dfps, default_norm ); - } - + } + if( info->video_output_width <= 0 ) info->video_output_width = dw; else @@ -3745,7 +3726,12 @@ static int configure_dummy_defaults(veejay_t *info, char override_norm, float fp info->dummy->chroma = get_chroma_from_pixfmt( vj_to_pixfmt( info->pixel_format ) ); info->settings->output_fps = dfps; - + + if( n_files <= 0 ) { + veejay_msg(VEEJAY_MSG_DEBUG, "Dummy source is: %dx%d %2.2f fps norm %d",dw,dh,dfps, info->dummy->norm ); + } + + if( info->audio ) { if( tmp_arate > 0 && info->audio == AUDIO_PLAY ) { diff --git a/veejay-current/veejay-server/veejay/veejay.c b/veejay-current/veejay-server/veejay/veejay.c index d2014653..98d2ef5a 100644 --- a/veejay-current/veejay-server/veejay/veejay.c +++ b/veejay-current/veejay-server/veejay/veejay.c @@ -844,6 +844,12 @@ int main(int argc, char **argv) free(mem_func); } + veejay_msg(VEEJAY_MSG_INFO, + "CPU cache line size: %d bytes", cpu_cache_size()); + + veejay_msg(VEEJAY_MSG_INFO, + "Memory page size: %d bytes",mem_align_size()); + info->use_keyb = use_keyb; info->use_mouse = use_mouse; info->show_cursor = show_cursor; diff --git a/veejay-current/veejay-server/veejay/vj-event.c b/veejay-current/veejay-server/veejay/vj-event.c index a0700e39..d3055da9 100644 --- a/veejay-current/veejay-server/veejay/vj-event.c +++ b/veejay-current/veejay-server/veejay/vj-event.c @@ -454,115 +454,6 @@ else { veejay_msg(VEEJAY_MSG_DEBUG,"arg has size of 0x0");} //@ F1 -> sample playing FX=off -> standard help //@ F1 -> sample playing FX=on entry >= 0 <= MAX_E : show help for FX on entry N // -/* -static struct { - const char *msg; -} embedded_help[] = { - { "'[' Set starting position of sample\n" }, - { "']' Set ending position and create new sample\n"}, - { "'F1-F12' Play sample (Bank * 12) + Fx\n"}, - { "'0-9' Select Bank 0-12\n"}, - { "'KP/' Toggle between plain and sample mode\n"}, - { "'A...L' Speed\n"}, - { "'A...L' + ALT Slow motion\n"}, - { "'KP8' Forward 1 second\n"}, - { "'KP2' Back 1 second\n"}, - { "'KP5' Pause playback\n"}, - { "'KP4' Play backward\n"}, - { "'KP6' Play forward\n"}, - { "'KP7' Back one frame\n"}, - { "'KP9' Forward one frame\n"}, - { "'KP1' Goto starting position\n"}, - { "'KP3' Goto ending position\n"}, - { "'KP*' Change sample looping\n"}, - { "Cursor Up/Down Select FX from FX list\n"}, - { "ENTER Add selected FX to current FX slot\n"}, - - { NULL } -}; */ - -static struct { - const char *msg; -} fx_embedded_help[] = { - { "'PgUp/PgDn' Inc/Dec FX parameter 0 "}, - { "'KP Ins/Del' Inc/Dec FX parameter 1 "}, - { "',/.' Inc/Dec FX parameter 2 "}, - { "'q/w' Inc/Dec FX parameter 3 "}, - { "'e/r' Inc/Dec FX parameter 4 "}, - { "'t/y' Inc/Dec FX parameter 5 "}, - { "'u/i' Inc/Dec FX parameter 6 "}, - { "'o/p' Inc/Dec FX parameter 7 "}, - {"'\nEND' Toggle FX Chain\n"}, - {"'Delete' Clear current FX slot\n"}, - { "'KP-' Down 1 position in FX chain\n"}, - { "'KP+' Up 1 position in FX chain\n"}, - { "-/+ Select mix-in source" }, - { "/ Toggle between stream and sample source"}, - { NULL } -}; - -/* -static char *get_arr_embedded_help(char *ehelp[]) -{ - int i; - int len = 0; - for( i = 0; ehelp[i] != NULL ; i ++ ) { - len += strlen(ehelp[i]) + 1; - } - if( len <= 0 ) - return NULL; - char *msg = (char*) vj_calloc(sizeof(char) * len ); - if( msg == NULL ) - return NULL; - char *p = msg; - int x = 0; - for( i = 0; ehelp[i] != NULL; i ++ ) { - x = strlen(ehelp[i]); - strncpy(p,ehelp[i],x); - p += x; - } - return msg; -} -*/ -char *get_embedded_help( int fx_mode, int play_mode, int fx_entry, int id ) -{ - char msg[16384]; - if( play_mode == VJ_PLAYBACK_MODE_PLAIN || ( play_mode == VJ_PLAYBACK_MODE_SAMPLE && fx_mode == 0 ) ) - { - return NULL; - } else { - int fx_id = 0; - if( play_mode == VJ_PLAYBACK_MODE_TAG ) { - fx_id = vj_tag_get_effect_any(id,fx_entry); - } else if( play_mode == VJ_PLAYBACK_MODE_SAMPLE ) { - fx_id = sample_get_effect_any(id,fx_entry); - } - if( fx_id <= 0 ) - return NULL; - - int n = vj_effect_get_num_params( fx_id ); - char *fx_descr = vj_effect_get_description(fx_id); - snprintf(msg,sizeof(msg),"FX slot %d:%s\n", fx_entry, fx_descr ); - char *p = msg + strlen(msg); - int i; - for( i = 0; i < n ; i ++ ) { //@ specific FX help - char name[128]; - char *descr = vj_effect_get_param_description(fx_id,i ); - snprintf(name,sizeof(name)-1,"%s'%s'\n",fx_embedded_help[i].msg,descr ); - int len = strlen(name); - strncpy(p, name, len ); - p += len; - //free(descr); - } - for( i = 0; fx_embedded_help[8+i].msg != NULL; i ++ ) { - int len = strlen(fx_embedded_help[8+i].msg); - strncpy(p, fx_embedded_help[8+i].msg, len ); - p += len; - } - return vj_strdup(msg); - } - return NULL; -} static void init_vims_for_macro(); @@ -887,7 +778,7 @@ int keyboard_event_exists(int id) return 0; } -void destroy_keyboard_event( vj_keyboard_event *ev ) +static void destroy_keyboard_event( vj_keyboard_event *ev ) { if( ev ) { if( ev->vims ) @@ -1100,10 +991,8 @@ void vj_event_trigger_function(void *ptr, vj_event f, int max_args, const char * va_end(ap); } - - /* parse a keyframe packet */ -void vj_event_parse_kf( veejay_t *v, char *msg, int len ) +static void vj_event_parse_kf( veejay_t *v, char *msg, int len ) { if(SAMPLE_PLAYING(v)) { @@ -1967,8 +1856,7 @@ veejay_strncpy(buf,var,strlen(var));\ xmlNewChild(node, NULL, (const xmlChar*) name, (const xmlChar*) buf );}\ } - -void vj_event_format_xml_settings( veejay_t *v, xmlNodePtr node ) +static void vj_event_format_xml_settings( veejay_t *v, xmlNodePtr node ) { char *buf = (char*) vj_calloc(sizeof(char) * 4000 ); int c = veejay_is_colored(); @@ -2006,7 +1894,7 @@ void vj_event_format_xml_settings( veejay_t *v, xmlNodePtr node ) free(buf); } -void vj_event_xml_parse_config( veejay_t *v, xmlDocPtr doc, xmlNodePtr cur ) +static void vj_event_xml_parse_config( veejay_t *v, xmlDocPtr doc, xmlNodePtr cur ) { if( veejay_get_state(v) != LAVPLAY_STATE_STOP) return; @@ -2428,7 +2316,7 @@ int vj_event_register_keyb_event(int event_id, int symbol, int modifier, const return 1; } #endif -void vj_event_init_network_events() +static void vj_event_init_network_events() { int i; int net_id = 0; @@ -2462,7 +2350,7 @@ char *find_keyboard_default(int id) return result; } -void vj_event_load_keyboard_configuration(veejay_t *info) +static void vj_event_load_keyboard_configuration(veejay_t *info) { char path[1024]; snprintf(path,sizeof(path), "%s/keyboard.cfg", info->homedir); @@ -2495,7 +2383,7 @@ void vj_event_load_keyboard_configuration(veejay_t *info) fclose(f); } -void vj_event_init_keyboard_defaults() +static void vj_event_init_keyboard_defaults() { int i; int keyb_events = 0; @@ -3771,8 +3659,8 @@ void vj_event_inc_frame(void *ptr, const char format[], va_list ap) { veejay_t *v = (veejay_t*) ptr; int args[1]; - char *s = NULL; - P_A( args,s,format, ap ); + char *str = NULL; + P_A( args,str,format, ap ); if(!STREAM_PLAYING(v)) { video_playback_setup *s = v->settings; @@ -6441,8 +6329,8 @@ void vj_event_chain_arg_inc(void *ptr, const char format[], va_list ap) int val = sample_get_effect_arg(v->uc->sample_id,c,args[0]); if ( vj_effect_is_valid( effect ) ) { - char *effect_descr = vj_effect_get_description(effect); - char *effect_param_descr = vj_effect_get_param_description(effect,args[0]); + const char *effect_descr = vj_effect_get_description(effect); + const char *effect_param_descr = vj_effect_get_param_description(effect,args[0]); int tval = val + args[1]; if( tval > vj_effect_get_max_limit( effect,args[0] ) ) tval = vj_effect_get_min_limit( effect,args[0]); @@ -6462,8 +6350,8 @@ void vj_event_chain_arg_inc(void *ptr, const char format[], va_list ap) int effect = vj_tag_get_effect_any(v->uc->sample_id, c); int val = vj_tag_get_effect_arg(v->uc->sample_id, c, args[0]); - char *effect_descr = vj_effect_get_description(effect); - char *effect_param_descr = vj_effect_get_param_description(effect,args[0]); + const char *effect_descr = vj_effect_get_description(effect); + const char *effect_param_descr = vj_effect_get_param_description(effect,args[0]); int tval = val + args[1]; if( tval > vj_effect_get_max_limit( effect,args[0] )) @@ -6499,8 +6387,8 @@ void vj_event_chain_entry_set_arg_val(void *ptr, const char format[], va_list ap if(sample_exists(args[0])) { int effect = sample_get_effect_any( args[0], args[1] ); - char *effect_descr = vj_effect_get_description(effect); - char *effect_param_descr = vj_effect_get_param_description(effect,args[2]); + const char *effect_descr = vj_effect_get_description(effect); + const char *effect_param_descr = vj_effect_get_param_description(effect,args[2]); if( vj_effect_valid_value(effect,args[2],args[3]) ) { if(sample_set_effect_arg( args[0], args[1], args[2], args[3])) { @@ -6528,8 +6416,8 @@ void vj_event_chain_entry_set_arg_val(void *ptr, const char format[], va_list ap if(vj_tag_exists(args[0])) { int effect = vj_tag_get_effect_any(args[0],args[1] ); - char *effect_descr = vj_effect_get_description(effect); - char *effect_param_descr = vj_effect_get_param_description(effect,args[2]); + const char *effect_descr = vj_effect_get_description(effect); + const char *effect_param_descr = vj_effect_get_param_description(effect,args[2]); if ( vj_effect_valid_value( effect,args[2],args[3] ) ) { if(vj_tag_set_effect_arg(args[0],args[1],args[2],args[3])) { diff --git a/veejay-current/veejay-server/veejay/vj-eventman.c b/veejay-current/veejay-server/veejay/vj-eventman.c index 7de7d14f..83154fbe 100644 --- a/veejay-current/veejay-server/veejay/vj-eventman.c +++ b/veejay-current/veejay-server/veejay/vj-eventman.c @@ -83,7 +83,7 @@ static void dump_event_stderr(vevo_port_t *event) free(name); } -int vj_event_vevo_list_size(void) +static int vj_event_vevo_list_size(void) { int i; int len =0; diff --git a/veejay-current/veejay-server/veejay/vj-perform.c b/veejay-current/veejay-server/veejay/vj-perform.c index a195b1de..8efdae01 100644 --- a/veejay-current/veejay-server/veejay/vj-perform.c +++ b/veejay-current/veejay-server/veejay/vj-perform.c @@ -1407,17 +1407,6 @@ void vj_perform_get_output_frame_420p( veejay_t *info, uint8_t **frame, int w, i } } -int vj_perform_is_ready(veejay_t *info) -{ - if( info->settings->zoom ) - { - if( video_output_buffer[0]->Y == NULL ) return 0; - if( video_output_buffer[0]->Cb == NULL ) return 0; - if( video_output_buffer[0]->Cr == NULL ) return 0; - } - return 1; -} - void vj_perform_get_primary_frame_420p(veejay_t *info, uint8_t **frame ) { uint8_t *pframe[3]; diff --git a/veejay-current/veejay-server/veejay/vj-share.c b/veejay-current/veejay-server/veejay/vj-share.c index 229bf859..d6c1ae7d 100644 --- a/veejay-current/veejay-server/veejay/vj-share.c +++ b/veejay-current/veejay-server/veejay/vj-share.c @@ -79,7 +79,7 @@ static void vj_flush(vj_client *sayvims,int frames) { } } -int32_t vj_share_pull_master( void *shm, char *master_host, int master_port ) +int32_t vj_share_pull_master( void *shm, const char *master_host, int master_port ) { char tmp[64]; vj_client *c = vj_share_connect( master_host, master_port ); diff --git a/veejay-current/veejay-server/veejay/vj-share.h b/veejay-current/veejay-server/veejay/vj-share.h index 81860aa9..c734eb69 100644 --- a/veejay-current/veejay-server/veejay/vj-share.h +++ b/veejay-current/veejay-server/veejay/vj-share.h @@ -1,6 +1,24 @@ +/* + * Linux VeeJay + * + * Copyright(C)2002-2015 Niels Elburg + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License , or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + */ #ifndef VJSHARE #define VJSHARE -int32_t vj_share_pull_master( void *shm, char *master_host, int master_port ); +int32_t vj_share_pull_master( void *shm, const char *master_host, int master_port ); int vj_share_get_info( char *host, int port, int *width, int *height, int *format, int *key, int screen_id ); int vj_share_start_slave( char *host, int port, int shm_id);