Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/ra288.c10
-rw-r--r--libavutil/common.h14
2 files changed, 16 insertions, 8 deletions
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 72ed8102ee..57ee6c20dd 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -88,14 +88,8 @@ static void decode(Real288_internal *glob, float gain, int cb_coef)
/* output */
for (x=0; x < 5; x++) {
- float f = glob->sb[4-x] + buffer[x];
-
- if (f > 4095)
- f = 4095;
- else if (f < -4095)
- f = -4095;
-
- glob->output[glob->phase*5+x] = glob->sb[4-x] = f;
+ glob->output[glob->phase*5+x] = glob->sb[4-x] =
+ av_clipf(glob->sb[4-x] + buffer[x], -4095, 4095);
}
}
diff --git a/libavutil/common.h b/libavutil/common.h
index 5a56832eeb..696b03e78b 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -225,6 +225,20 @@ static inline av_const int16_t av_clip_int16(int a)
else return a;
}
+/**
+ * clip a float value into the amin-amax range
+ * @param a value to clip
+ * @param amin minimum value of the clip range
+ * @param amax maximum value of the clip range
+ * @return clipped value
+ */
+static inline av_const float av_clipf(float a, float amin, float amax)
+{
+ if (a < amin) return amin;
+ else if (a > amax) return amax;
+ else return a;
+}
+
/* math */
int64_t av_const ff_gcd(int64_t a, int64_t b);