diff --git a/ChangeLog b/ChangeLog index 5193230a51..a66b3f4434 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-21 Sebastian Dröge + + * gst/volume/gstvolume.c: (volume_process_double): + Use oil_scalarmultiply_f64_ns() for double processing when it's + available at compile time. + 2008-03-21 Sebastian Dröge * configure.ac: diff --git a/gst/volume/gstvolume.c b/gst/volume/gstvolume.c index 89b8eaa2ba..27ce9479e3 100644 --- a/gst/volume/gstvolume.c +++ b/gst/volume/gstvolume.c @@ -464,11 +464,17 @@ static void volume_process_double (GstVolume * this, gpointer bytes, guint n_bytes) { gdouble *data = (gdouble *) bytes; - guint i, num_samples = n_bytes / sizeof (gdouble); + guint num_samples = n_bytes / sizeof (gdouble); +#ifdef oil_scalarmultiply_f64_ns + gdouble vol = this->real_vol_f; + + oil_scalarmultiply_f64_ns (data, data, &vol, num_samples); +#else for (i = 0; i < num_samples; i++) { *data++ *= this->real_vol_f; } +#endif } static void