From f1ced59ccb5fb17cb0b23fd022ebd2fbb71c5d05 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Mon, 26 Oct 2015 16:51:06 +0100 Subject: [PATCH] geometrictransform: rename gemetric math functions to have their symbols namespaced Otherwise those symbols can conflict with external libraries when linking everything statically for mobile targets. Use the gst_gm_ prefix, short for gst geometric math. https://bugzilla.gnome.org/show_bug.cgi?id=756882 --- gst/geometrictransform/geometricmath.c | 20 +++++++++---------- gst/geometrictransform/geometricmath.h | 14 ++++++------- gst/geometrictransform/gstbulge.c | 4 ++-- gst/geometrictransform/gstcircle.c | 2 +- .../gstgeometrictransform.c | 4 ++-- gst/geometrictransform/gstkaleidoscope.c | 4 ++-- gst/geometrictransform/gstmarble.c | 6 +++--- gst/geometrictransform/gstmarble.h | 2 +- gst/geometrictransform/gstsquare.c | 8 ++++---- gst/geometrictransform/gststretch.c | 4 ++-- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gst/geometrictransform/geometricmath.c b/gst/geometrictransform/geometricmath.c index 1ca5a785e7..6c7949e1c5 100644 --- a/gst/geometrictransform/geometricmath.c +++ b/gst/geometrictransform/geometricmath.c @@ -54,7 +54,7 @@ #define B 0x100 #define BM 0xff -struct _Noise +struct _GstGMNoise { gdouble p[2 * B + 2]; gdouble g2[2 * B + 2][2]; @@ -69,10 +69,10 @@ normalize_2 (gdouble * v) v[1] = v[1] / s; } -Noise * -noise_new (void) +GstGMNoise * +gst_gm_noise_new (void) { - Noise *noise = g_new0 (Noise, 1); + GstGMNoise *noise = g_new0 (GstGMNoise, 1); gint i, j, k; for (i = 0; i < B; i++) { @@ -102,7 +102,7 @@ noise_new (void) } void -noise_free (Noise * noise) +gst_gm_noise_free (GstGMNoise * noise) { g_free (noise); } @@ -120,7 +120,7 @@ lerp (gdouble t, gdouble a, gdouble b) } gdouble -noise_2 (Noise * noise, gdouble x, gdouble y) +gst_gm_noise_2 (GstGMNoise * noise, gdouble x, gdouble y) { gint bx0, bx1, by0, by1, b00, b10, b01, b11; gdouble rx0, rx1, ry0, ry1, sx, sy, a, b, t, u, v; @@ -169,7 +169,7 @@ noise_2 (Noise * noise, gdouble x, gdouble y) * This differs from the % operator with respect to negative numbers */ gdouble -mod_float (gdouble a, gdouble b) +gst_gm_mod_float (gdouble a, gdouble b) { gint n = (gint) (a / b); @@ -183,9 +183,9 @@ mod_float (gdouble a, gdouble b) * Returns a repeating triangle shape in the range 0..1 with wavelength 1.0 */ gdouble -geometric_math_triangle (gdouble x) +gst_gm_triangle (gdouble x) { - gdouble r = mod_float (x, 1.0); + gdouble r = gst_gm_mod_float (x, 1.0); return 2.0 * (r < 0.5 ? r : 1 - r); } @@ -194,7 +194,7 @@ geometric_math_triangle (gdouble x) * Hermite interpolation */ gdouble -smoothstep (gdouble edge0, gdouble edge1, gdouble x) +gst_gm_smoothstep (gdouble edge0, gdouble edge1, gdouble x) { gdouble t = CLAMP ((x - edge0) / (edge1 - edge0), 0.0, 1.0); return t * t * (3.0 - 2.0 * t); diff --git a/gst/geometrictransform/geometricmath.h b/gst/geometrictransform/geometricmath.h index 0c6ccdcbae..40451d8205 100644 --- a/gst/geometrictransform/geometricmath.h +++ b/gst/geometrictransform/geometricmath.h @@ -54,16 +54,16 @@ G_BEGIN_DECLS -typedef struct _Noise Noise; +typedef struct _GstGMNoise GstGMNoise; -Noise * noise_new (void); -void noise_free (Noise * noise); -gdouble noise_2 (Noise * noise, gdouble x, gdouble y); +GstGMNoise * gst_gm_noise_new (void); +void gst_gm_noise_free (GstGMNoise * noise); +gdouble gst_gm_noise_2 (GstGMNoise * noise, gdouble x, gdouble y); -gdouble mod_float (gdouble a, gdouble b); -gdouble geometric_math_triangle (gdouble x); +gdouble gst_gm_mod_float (gdouble a, gdouble b); +gdouble gst_gm_triangle (gdouble x); -gdouble smoothstep (gdouble edge0, gdouble edge1, gdouble x); +gdouble gst_gm_smoothstep (gdouble edge0, gdouble edge1, gdouble x); G_END_DECLS diff --git a/gst/geometrictransform/gstbulge.c b/gst/geometrictransform/gstbulge.c index 5864c83e04..4baf223573 100644 --- a/gst/geometrictransform/gstbulge.c +++ b/gst/geometrictransform/gstbulge.c @@ -140,8 +140,8 @@ bulge_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, * zoom is achieved dividing */ scale = - 1.0 / (bulge->zoom + ((1.0 - bulge->zoom) * smoothstep (0, cgt->radius, - r))); + 1.0 / (bulge->zoom + ((1.0 - bulge->zoom) * gst_gm_smoothstep (0, + cgt->radius, r))); norm_x *= scale; norm_y *= scale; diff --git a/gst/geometrictransform/gstcircle.c b/gst/geometrictransform/gstcircle.c index cbbd415597..cf6ab01d9a 100644 --- a/gst/geometrictransform/gstcircle.c +++ b/gst/geometrictransform/gstcircle.c @@ -158,7 +158,7 @@ circle_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, distance = sqrt (dx * dx + dy * dy); theta = atan2 (-dy, -dx) + circle->angle; - theta = mod_float (theta, 2 * G_PI); + theta = gst_gm_mod_float (theta, 2 * G_PI); *in_x = gt->width * theta / (circle->spread_angle + 0.0001); *in_y = diff --git a/gst/geometrictransform/gstgeometrictransform.c b/gst/geometrictransform/gstgeometrictransform.c index 7cfaafd0e6..94910ed2e7 100644 --- a/gst/geometrictransform/gstgeometrictransform.c +++ b/gst/geometrictransform/gstgeometrictransform.c @@ -181,8 +181,8 @@ gst_geometric_transform_do_map (GstGeometricTransform * gt, guint8 * in_data, break; case GST_GT_OFF_EDGES_PIXELS_WRAP: - in_x = mod_float (in_x, gt->width); - in_y = mod_float (in_y, gt->height); + in_x = gst_gm_mod_float (in_x, gt->width); + in_y = gst_gm_mod_float (in_y, gt->height); if (in_x < 0) in_x += gt->width; if (in_y < 0) diff --git a/gst/geometrictransform/gstkaleidoscope.c b/gst/geometrictransform/gstkaleidoscope.c index 9caf7f4209..5546558510 100644 --- a/gst/geometrictransform/gstkaleidoscope.c +++ b/gst/geometrictransform/gstkaleidoscope.c @@ -158,12 +158,12 @@ kaleidoscope_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, distance = sqrt (dx * dx + dy * dy); theta = atan2 (dy, dx) - kaleidoscope->angle - kaleidoscope->angle2; - theta = geometric_math_triangle (theta / G_PI * kaleidoscope->sides * 0.5); + theta = gst_gm_triangle (theta / G_PI * kaleidoscope->sides * 0.5); if (cgt->precalc_radius != 0) { gdouble radiusc = cgt->precalc_radius / cos (theta); - distance = radiusc * geometric_math_triangle (distance / radiusc); + distance = radiusc * gst_gm_triangle (distance / radiusc); } theta += kaleidoscope->angle; diff --git a/gst/geometrictransform/gstmarble.c b/gst/geometrictransform/gstmarble.c index 08bbd3cb26..a268a3d6db 100644 --- a/gst/geometrictransform/gstmarble.c +++ b/gst/geometrictransform/gstmarble.c @@ -158,7 +158,7 @@ gst_marble_finalize (GObject * obj) { GstMarble *marble = GST_MARBLE_CAST (obj); - noise_free (marble->noise); + gst_gm_noise_free (marble->noise); g_free (marble->sin_table); g_free (marble->cos_table); @@ -172,7 +172,7 @@ marble_prepare (GstGeometricTransform * trans) gint i; if (!marble->noise) { - marble->noise = noise_new (); + marble->noise = gst_gm_noise_new (); } g_free (marble->sin_table); @@ -197,7 +197,7 @@ marble_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, GstMarble *marble = GST_MARBLE_CAST (gt); gint displacement; - displacement = 127 * (1 + noise_2 (marble->noise, x / marble->xscale, + displacement = 127 * (1 + gst_gm_noise_2 (marble->noise, x / marble->xscale, y / marble->xscale)); displacement = CLAMP (displacement, 0, 255); diff --git a/gst/geometrictransform/gstmarble.h b/gst/geometrictransform/gstmarble.h index b74768f88b..2665775aba 100644 --- a/gst/geometrictransform/gstmarble.h +++ b/gst/geometrictransform/gstmarble.h @@ -76,7 +76,7 @@ struct _GstMarble gdouble turbulence; gdouble amount; - Noise *noise; + GstGMNoise *noise; gdouble *sin_table; gdouble *cos_table; }; diff --git a/gst/geometrictransform/gstsquare.c b/gst/geometrictransform/gstsquare.c index 8e4c99cbc9..ba0d2bf4fd 100644 --- a/gst/geometrictransform/gstsquare.c +++ b/gst/geometrictransform/gstsquare.c @@ -157,12 +157,12 @@ square_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, /* zoom at the center, smoothstep around half quadrant and get back to normal */ norm_x *= (1.0 / square->zoom) * (1.0 + (square->zoom - - 1.0) * smoothstep (square->width - 0.125, square->width + 0.125, - ABS (norm_x))); + 1.0) * gst_gm_smoothstep (square->width - 0.125, + square->width + 0.125, ABS (norm_x))); norm_y *= (1.0 / square->zoom) * (1.0 + (square->zoom - - 1.0) * smoothstep (square->height - 0.125, square->height + 0.125, - ABS (norm_y))); + 1.0) * gst_gm_smoothstep (square->height - 0.125, + square->height + 0.125, ABS (norm_y))); /* unnormalize */ *in_x = 0.5 * (norm_x + 1.0) * width; diff --git a/gst/geometrictransform/gststretch.c b/gst/geometrictransform/gststretch.c index f9b3344de1..f0c7998fea 100644 --- a/gst/geometrictransform/gststretch.c +++ b/gst/geometrictransform/gststretch.c @@ -145,8 +145,8 @@ stretch_map (GstGeometricTransform * gt, gint x, gint y, gdouble * in_x, a = 1.0 + (MAX_SHRINK_AMOUNT - 1.0) * stretch->intensity; b = a - 1.0; - norm_x *= a - b * smoothstep (0.0, cgt->radius, r); - norm_y *= a - b * smoothstep (0.0, cgt->radius, r); + norm_x *= a - b * gst_gm_smoothstep (0.0, cgt->radius, r); + norm_y *= a - b * gst_gm_smoothstep (0.0, cgt->radius, r); /* unnormalize */ *in_x = (0.5 * norm_x + cgt->x_center) * width;