+static void postscale_c(float *buffer, int length,
+ float postscale, float min, float max)
+{
+ for (int i = 0; i < length; i++) {
+ buffer[i] *= postscale;
+ buffer[i] = av_clipf(buffer[i], min, max);
+ }
+}
+
+static void horiz_slice_c(float *buffer, int width, int height, int steps,
+ float nu, float bscale)
+{
+ int step, x, y;
+ float *ptr;
+ for (y = 0; y < height; y++) {
+ for (step = 0; step < steps; step++) {
+ ptr = buffer + width * y;
+ ptr[0] *= bscale;
+
+ /* Filter rightwards */
+ for (x = 1; x < width; x++)
+ ptr[x] += nu * ptr[x - 1];
+ ptr[x = width - 1] *= bscale;
+
+ /* Filter leftwards */
+ for (; x > 0; x--)
+ ptr[x - 1] += nu * ptr[x];
+ }
+ }
+}
+