From c2846f698b08491254d8cffee1d42002dcd6c000 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 21 Mar 2010 17:23:43 +0100 Subject: [PATCH] Make goom not use aggregate returns --- gst/goom/config_param.c | 118 +++++++++++++++++++------------------------ gst/goom/convolve_fx.c | 29 +++++------ gst/goom/filters.c | 36 ++++++------- gst/goom/flying_stars_fx.c | 28 +++++----- gst/goom/goom_config_param.h | 16 +++--- gst/goom/goom_core.c | 10 ++-- gst/goom/goom_filters.h | 2 +- gst/goom/goom_fx.h | 4 +- gst/goom/ifs.c | 18 +++---- gst/goom/ifs.h | 2 +- gst/goom/plugin_info.c | 22 ++++---- gst/goom/tentacle3d.c | 21 ++++---- gst/goom/tentacle3d.h | 2 +- 13 files changed, 141 insertions(+), 167 deletions(-) diff --git a/gst/goom/config_param.c b/gst/goom/config_param.c index 5b52d07..feb5015 100644 --- a/gst/goom/config_param.c +++ b/gst/goom/config_param.c @@ -27,97 +27,85 @@ empty_fct (PluginParam * dummy) { } -PluginParam -goom_secure_param (void) +void +goom_secure_param (PluginParam * p) { - PluginParam p; - - p.changed = empty_fct; - p.change_listener = empty_fct; - p.user_data = 0; - p.name = p.desc = 0; - p.rw = 1; - return p; + p->changed = empty_fct; + p->change_listener = empty_fct; + p->user_data = 0; + p->name = p->desc = 0; + p->rw = 1; } -PluginParam -goom_secure_f_param (const char *name) +void +goom_secure_f_param (PluginParam * p, const char *name) { - PluginParam p = secure_param (); - - p.name = name; - p.type = PARAM_FLOATVAL; - FVAL (p) = 0.5f; - FMIN (p) = 0.0f; - FMAX (p) = 1.0f; - FSTEP (p) = 0.01f; - return p; + secure_param (p); + + p->name = name; + p->type = PARAM_FLOATVAL; + FVAL (*p) = 0.5f; + FMIN (*p) = 0.0f; + FMAX (*p) = 1.0f; + FSTEP (*p) = 0.01f; } -PluginParam -goom_secure_f_feedback (const char *name) +void +goom_secure_f_feedback (PluginParam * p, const char *name) { - PluginParam p = secure_f_param (name); + secure_f_param (p, name); - p.rw = 0; - return p; + p->rw = 0; } -PluginParam -goom_secure_s_param (const char *name) +void +goom_secure_s_param (PluginParam * p, const char *name) { - PluginParam p = secure_param (); + secure_param (p); - p.name = name; - p.type = PARAM_STRVAL; - SVAL (p) = 0; - return p; + p->name = name; + p->type = PARAM_STRVAL; + SVAL (*p) = 0; } -PluginParam -goom_secure_b_param (const char *name, int value) +void +goom_secure_b_param (PluginParam * p, const char *name, int value) { - PluginParam p = secure_param (); + secure_param (p); - p.name = name; - p.type = PARAM_BOOLVAL; - BVAL (p) = value; - return p; + p->name = name; + p->type = PARAM_BOOLVAL; + BVAL (*p) = value; } -PluginParam -goom_secure_i_param (const char *name) +void +goom_secure_i_param (PluginParam * p, const char *name) { - PluginParam p = secure_param (); - - p.name = name; - p.type = PARAM_INTVAL; - IVAL (p) = 50; - IMIN (p) = 0; - IMAX (p) = 100; - ISTEP (p) = 1; - return p; + secure_param (p); + + p->name = name; + p->type = PARAM_INTVAL; + IVAL (*p) = 50; + IMIN (*p) = 0; + IMAX (*p) = 100; + ISTEP (*p) = 1; } -PluginParam -goom_secure_i_feedback (const char *name) +void +goom_secure_i_feedback (PluginParam * p, const char *name) { - PluginParam p = secure_i_param (name); + secure_i_param (p, name); - p.rw = 0; - return p; + p->rw = 0; } -PluginParameters -goom_plugin_parameters (const char *name, int nb) +void +goom_plugin_parameters (PluginParameters * p, const char *name, int nb) { - PluginParameters p; - - p.name = (char *) name; - p.desc = ""; - p.nbParams = nb; - p.params = (PluginParam **) malloc (nb * sizeof (PluginParam *)); - return p; + p->name = name; + p->desc = ""; + p->nbParams = nb; + p->params = malloc (nb * sizeof (PluginParam *)); } void diff --git a/gst/goom/convolve_fx.c b/gst/goom/convolve_fx.c index 9c29192..349de4d 100644 --- a/gst/goom/convolve_fx.c +++ b/gst/goom/convolve_fx.c @@ -102,19 +102,19 @@ convolve_init (VisualFX * _this, PluginInfo * info) data = (ConvData *) malloc (sizeof (ConvData)); _this->fx_data = (void *) data; - data->light = secure_f_param ("Screen Brightness"); + secure_f_param (&data->light, "Screen Brightness"); data->light.param.fval.max = 300.0f; data->light.param.fval.step = 1.0f; data->light.param.fval.value = 100.0f; - data->factor_adj_p = secure_f_param ("Flash Intensity"); + secure_f_param (&data->factor_adj_p, "Flash Intensity"); data->factor_adj_p.param.fval.max = 200.0f; data->factor_adj_p.param.fval.step = 1.0f; data->factor_adj_p.param.fval.value = 70.0f; - data->factor_p = secure_f_feedback ("Factor"); + secure_f_feedback (&data->factor_p, "Factor"); - data->params = plugin_parameters ("Bright Flash", 5); + plugin_parameters (&data->params, "Bright Flash", 5); data->params.params[0] = &data->light; data->params.params[1] = &data->factor_adj_p; data->params.params[2] = 0; @@ -233,9 +233,8 @@ create_output_with_brightness (VisualFX * _this, Pixel * src, Pixel * dest, ytex -= s; iff2 = - ifftab[(int) data-> - conv_motif[(ytex >> 16) & CONV_MOTIF_WMASK][(xtex >> 16) & - CONV_MOTIF_WMASK]]; + ifftab[(int) data->conv_motif[(ytex >> 16) & CONV_MOTIF_WMASK][(xtex + >> 16) & CONV_MOTIF_WMASK]]; #define sat(a) ((a)>0xFF?0xFF:(a)) f0 = src[i].val; @@ -358,14 +357,12 @@ convolve_apply (VisualFX * _this, Pixel * src, Pixel * dest, PluginInfo * info) */ } -VisualFX -convolve_create (void) +void +convolve_create (VisualFX * vfx) { - VisualFX vfx = { - convolve_init, - convolve_free, - convolve_apply, - NULL - }; - return vfx; + vfx->init = convolve_init; + vfx->free = convolve_free; + vfx->apply = convolve_apply; + vfx->fx_data = NULL; + vfx->params = NULL; } diff --git a/gst/goom/filters.c b/gst/goom/filters.c index e33c4eb..8c6dbb1 100644 --- a/gst/goom/filters.c +++ b/gst/goom/filters.c @@ -176,10 +176,9 @@ typedef struct _ZOOM_FILTER_FX_WRAPPER_DATA -static inline v2g -zoomVector (ZoomFilterFXWrapperData * data, float X, float Y) +static inline void +zoomVector (v2g * vecteur, ZoomFilterFXWrapperData * data, float X, float Y) { - v2g vecteur; float vx, vy; float sq_dist = X * X + Y * Y; @@ -260,10 +259,8 @@ zoomVector (ZoomFilterFXWrapperData * data, float X, float Y) /* TODO : Water Mode */ // if (data->waveEffect) - vecteur.x = vx; - vecteur.y = vy; - - return vecteur; + vecteur->x = vx; + vecteur->y = vy; } @@ -303,7 +300,9 @@ makeZoomBufferStripe (ZoomFilterFXWrapperData * data, int INTERLACE_INCR) float X = -((float) data->middleX) * ratio; for (x = 0; x < data->prevX; x++) { - v2g vector = zoomVector (data, X, Y); + v2g vector; + + zoomVector (&vector, data, X, Y); /* Finish and avoid null displacement */ if (fabs (vector.x) < min) @@ -803,9 +802,9 @@ zoomFilterVisualFXWrapper_init (struct _VISUAL_FX *_this, PluginInfo * info) data->wave = data->wavesp = 0; - data->enabled_bp = secure_b_param ("Enabled", 1); + secure_b_param (&data->enabled_bp, "Enabled", 1); - data->params = plugin_parameters ("Zoom Filter", 1); + plugin_parameters (&data->params, "Zoom Filter", 1); data->params.params[0] = &data->enabled_bp; _this->params = &data->params; @@ -840,17 +839,14 @@ zoomFilterVisualFXWrapper_apply (struct _VISUAL_FX *_this, Pixel * src, { } -VisualFX -zoomFilterVisualFXWrapper_create (void) +void +zoomFilterVisualFXWrapper_create (VisualFX * fx) { - VisualFX fx; - - fx.init = zoomFilterVisualFXWrapper_init; - fx.free = zoomFilterVisualFXWrapper_free; - fx.apply = zoomFilterVisualFXWrapper_apply; - fx.params = NULL; - fx.fx_data = NULL; - return fx; + fx->init = zoomFilterVisualFXWrapper_init; + fx->free = zoomFilterVisualFXWrapper_free; + fx->apply = zoomFilterVisualFXWrapper_apply; + fx->params = NULL; + fx->fx_data = NULL; } diff --git a/gst/goom/flying_stars_fx.c b/gst/goom/flying_stars_fx.c index beed750..a0ad8b7 100644 --- a/gst/goom/flying_stars_fx.c +++ b/gst/goom/flying_stars_fx.c @@ -112,33 +112,33 @@ fs_init (VisualFX * _this, PluginInfo * info) data->stars = (Star *) malloc (data->maxStars * sizeof (Star)); data->nbStars = 0; - data->max_age_p = secure_i_param ("Fireworks Smallest Bombs"); + secure_i_param (&data->max_age_p, "Fireworks Smallest Bombs"); IVAL (data->max_age_p) = 80; IMIN (data->max_age_p) = 0; IMAX (data->max_age_p) = 100; ISTEP (data->max_age_p) = 1; - data->min_age_p = secure_i_param ("Fireworks Largest Bombs"); + secure_i_param (&data->min_age_p, "Fireworks Largest Bombs"); IVAL (data->min_age_p) = 99; IMIN (data->min_age_p) = 0; IMAX (data->min_age_p) = 100; ISTEP (data->min_age_p) = 1; - data->nbStars_limit_p = secure_i_param ("Max Number of Particules"); + secure_i_param (&data->nbStars_limit_p, "Max Number of Particules"); IVAL (data->nbStars_limit_p) = 512; IMIN (data->nbStars_limit_p) = 0; IMAX (data->nbStars_limit_p) = data->maxStars; ISTEP (data->nbStars_limit_p) = 64; - data->fx_mode_p = secure_i_param ("FX Mode"); + secure_i_param (&data->fx_mode_p, "FX Mode"); IVAL (data->fx_mode_p) = data->fx_mode; IMIN (data->fx_mode_p) = 1; IMAX (data->fx_mode_p) = 3; ISTEP (data->fx_mode_p) = 1; - data->nbStars_p = secure_f_feedback ("Number of Particules (% of Max)"); + secure_f_feedback (&data->nbStars_p, "Number of Particules (% of Max)"); - data->params = plugin_parameters ("Particule System", 7); + plugin_parameters (&data->params, "Particule System", 7); data->params.params[0] = &data->fx_mode_p; data->params.params[1] = &data->nbStars_limit_p; data->params.params[2] = 0; @@ -350,14 +350,12 @@ fs_apply (VisualFX * _this, Pixel * src, Pixel * dest, PluginInfo * info) } } -VisualFX -flying_star_create (void) +void +flying_star_create (VisualFX * vfx) { - VisualFX vfx = { - fs_init, - fs_free, - fs_apply, - NULL - }; - return vfx; + vfx->init = fs_init; + vfx->free = fs_free; + vfx->apply = fs_apply; + vfx->fx_data = NULL; + vfx->params = NULL; } diff --git a/gst/goom/goom_config_param.h b/gst/goom/goom_config_param.h index c7f8db6..15fd22f 100644 --- a/gst/goom/goom_config_param.h +++ b/gst/goom/goom_config_param.h @@ -97,15 +97,15 @@ typedef struct _PARAM { #define IMAX(p) ((p).param.ival.max) #define ISTEP(p) ((p).param.ival.step) -PluginParam goom_secure_param(void); +void goom_secure_param(PluginParam *p); -PluginParam goom_secure_f_param(const char *name); -PluginParam goom_secure_i_param(const char *name); -PluginParam goom_secure_b_param(const char *name, int value); -PluginParam goom_secure_s_param(const char *name); +void goom_secure_f_param(PluginParam *p, const char *name); +void goom_secure_i_param(PluginParam *p, const char *name); +void goom_secure_b_param(PluginParam *p, const char *name, int value); +void goom_secure_s_param(PluginParam *p, const char *name); -PluginParam goom_secure_f_feedback(const char *name); -PluginParam goom_secure_i_feedback(const char *name); +void goom_secure_f_feedback(PluginParam *p, const char *name); +void goom_secure_i_feedback(PluginParam *p, const char *name); void goom_set_str_param_value(PluginParam *p, const char *str); void goom_set_list_param_value(PluginParam *p, const char *str); @@ -117,7 +117,7 @@ typedef struct _PARAMETERS { PluginParam **params; } PluginParameters; -PluginParameters goom_plugin_parameters(const char *name, int nb); +void goom_plugin_parameters(PluginParameters *p, const char *name, int nb); void goom_plugin_parameters_free(PluginParameters *p); #define secure_param goom_secure_param diff --git a/gst/goom/goom_core.c b/gst/goom/goom_core.c index a6121d5..7c2aef1 100644 --- a/gst/goom/goom_core.c +++ b/gst/goom/goom_core.c @@ -91,16 +91,16 @@ goom_init (guint32 resx, guint32 resy) goomInfo->cycle = 0; - goomInfo->star_fx = flying_star_create (); + flying_star_create (&goomInfo->star_fx); goomInfo->star_fx.init (&goomInfo->star_fx, goomInfo); - goomInfo->zoomFilter_fx = zoomFilterVisualFXWrapper_create (); + zoomFilterVisualFXWrapper_create (&goomInfo->zoomFilter_fx); goomInfo->zoomFilter_fx.init (&goomInfo->zoomFilter_fx, goomInfo); - goomInfo->tentacles_fx = tentacle_fx_create (); + tentacle_fx_create (&goomInfo->tentacles_fx); goomInfo->tentacles_fx.init (&goomInfo->tentacles_fx, goomInfo); - goomInfo->convolve_fx = convolve_create (); + convolve_create (&goomInfo->convolve_fx); goomInfo->convolve_fx.init (&goomInfo->convolve_fx, goomInfo); plugin_info_add_visual (goomInfo, 0, &goomInfo->zoomFilter_fx); @@ -108,7 +108,7 @@ goom_init (guint32 resx, guint32 resy) plugin_info_add_visual (goomInfo, 2, &goomInfo->star_fx); plugin_info_add_visual (goomInfo, 3, &goomInfo->convolve_fx); - goomInfo->ifs_fx = ifs_visualfx_create (); + ifs_visualfx_create (&goomInfo->ifs_fx); goomInfo->ifs_fx.init (&goomInfo->ifs_fx, goomInfo); goomInfo->gmline1 = goom_lines_init (goomInfo, resx, goomInfo->screen.height, diff --git a/gst/goom/goom_filters.h b/gst/goom/goom_filters.h index dfbcbc6..5c6545a 100644 --- a/gst/goom/goom_filters.h +++ b/gst/goom/goom_filters.h @@ -24,7 +24,7 @@ #include "goom_visual_fx.h" #include "goom_graphic.h" -VisualFX zoomFilterVisualFXWrapper_create(void); +void zoomFilterVisualFXWrapper_create(VisualFX *fx); struct _ZOOM_FILTER_DATA { diff --git a/gst/goom/goom_fx.h b/gst/goom/goom_fx.h index 9f6c6b1..b239a38 100644 --- a/gst/goom/goom_fx.h +++ b/gst/goom/goom_fx.h @@ -22,8 +22,8 @@ #include "goom_visual_fx.h" #include "goom_plugin_info.h" -VisualFX convolve_create (void); -VisualFX flying_star_create (void); +void convolve_create (VisualFX *vfx); +void flying_star_create (VisualFX *vfx); void zoom_filter_c(int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16]); diff --git a/gst/goom/ifs.c b/gst/goom/ifs.c index 129aaff..9c59d92 100644 --- a/gst/goom/ifs.c +++ b/gst/goom/ifs.c @@ -762,15 +762,13 @@ ifs_vfx_free (VisualFX * _this) free (data); } -VisualFX -ifs_visualfx_create (void) +void +ifs_visualfx_create (VisualFX * vfx) { - VisualFX vfx; - - vfx.init = ifs_vfx_init; - vfx.free = ifs_vfx_free; - vfx.apply = ifs_vfx_apply; - vfx.fx_data = NULL; - vfx.params = NULL; - return vfx; + + vfx->init = ifs_vfx_init; + vfx->free = ifs_vfx_free; + vfx->apply = ifs_vfx_apply; + vfx->fx_data = NULL; + vfx->params = NULL; } diff --git a/gst/goom/ifs.h b/gst/goom/ifs.h index 370a0bb..4003773 100644 --- a/gst/goom/ifs.h +++ b/gst/goom/ifs.h @@ -37,7 +37,7 @@ #include "goom_plugin_info.h" #include "goom_visual_fx.h" -VisualFX ifs_visualfx_create(void); +void ifs_visualfx_create(VisualFX *vfx); /* init ifs for a (width)x(height) output. * / void init_ifs (PluginInfo *goomInfo, int width, int height); diff --git a/gst/goom/plugin_info.c b/gst/goom/plugin_info.c index 6a2411d..7ef7e77 100644 --- a/gst/goom/plugin_info.c +++ b/gst/goom/plugin_info.c @@ -120,27 +120,27 @@ plugin_info_init (PluginInfo * pp, int nbVisuals) p.sound.timeSinceLastBigGoom = 1; p.sound.cycle = 0; - p.sound.volume_p = secure_f_feedback ("Sound Volume"); - p.sound.accel_p = secure_f_feedback ("Sound Acceleration"); - p.sound.speed_p = secure_f_feedback ("Sound Speed"); - p.sound.goom_limit_p = secure_f_feedback ("Goom Limit"); - p.sound.last_goom_p = secure_f_feedback ("Goom Detection"); - p.sound.last_biggoom_p = secure_f_feedback ("Big Goom Detection"); - p.sound.goom_power_p = secure_f_feedback ("Goom Power"); - - p.sound.biggoom_speed_limit_p = secure_i_param ("Big Goom Speed Limit"); + secure_f_feedback (&p.sound.volume_p, "Sound Volume"); + secure_f_feedback (&p.sound.accel_p, "Sound Acceleration"); + secure_f_feedback (&p.sound.speed_p, "Sound Speed"); + secure_f_feedback (&p.sound.goom_limit_p, "Goom Limit"); + secure_f_feedback (&p.sound.last_goom_p, "Goom Detection"); + secure_f_feedback (&p.sound.last_biggoom_p, "Big Goom Detection"); + secure_f_feedback (&p.sound.goom_power_p, "Goom Power"); + + secure_i_param (&p.sound.biggoom_speed_limit_p, "Big Goom Speed Limit"); IVAL (p.sound.biggoom_speed_limit_p) = 10; IMIN (p.sound.biggoom_speed_limit_p) = 0; IMAX (p.sound.biggoom_speed_limit_p) = 100; ISTEP (p.sound.biggoom_speed_limit_p) = 1; - p.sound.biggoom_factor_p = secure_i_param ("Big Goom Factor"); + secure_i_param (&p.sound.biggoom_factor_p, "Big Goom Factor"); IVAL (p.sound.biggoom_factor_p) = 10; IMIN (p.sound.biggoom_factor_p) = 0; IMAX (p.sound.biggoom_factor_p) = 100; ISTEP (p.sound.biggoom_factor_p) = 1; - p.sound.params = plugin_parameters ("Sound", 11); + plugin_parameters (&p.sound.params, "Sound", 11); p.nbParams = 0; p.params = NULL; diff --git a/gst/goom/tentacle3d.c b/gst/goom/tentacle3d.c index 26d1070..83de43e 100644 --- a/gst/goom/tentacle3d.c +++ b/gst/goom/tentacle3d.c @@ -72,8 +72,8 @@ tentacle_fx_init (VisualFX * _this, PluginInfo * info) TentacleFXData *data = (TentacleFXData *) malloc (sizeof (TentacleFXData)); - data->enabled_bp = secure_b_param ("Enabled", 1); - data->params = plugin_parameters ("3D Tentacles", 1); + secure_b_param (&data->enabled_bp, "Enabled", 1); + plugin_parameters (&data->params, "3D Tentacles", 1); data->params.params[0] = &data->enabled_bp; data->cycle = 0.0f; @@ -125,17 +125,14 @@ tentacle_fx_free (VisualFX * _this) free (_this->fx_data); } -VisualFX -tentacle_fx_create (void) +void +tentacle_fx_create (VisualFX * fx) { - VisualFX fx; - - fx.init = tentacle_fx_init; - fx.apply = tentacle_fx_apply; - fx.free = tentacle_fx_free; - fx.fx_data = NULL; - fx.params = NULL; - return fx; + fx->init = tentacle_fx_init; + fx->apply = tentacle_fx_apply; + fx->free = tentacle_fx_free; + fx->fx_data = NULL; + fx->params = NULL; } /* ----- */ diff --git a/gst/goom/tentacle3d.h b/gst/goom/tentacle3d.h index 7a7941e..3696dd8 100644 --- a/gst/goom/tentacle3d.h +++ b/gst/goom/tentacle3d.h @@ -21,6 +21,6 @@ #include "goom_visual_fx.h" -VisualFX tentacle_fx_create(void); +void tentacle_fx_create(VisualFX *fx); #endif -- 2.7.4