aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2008-07-13 19:59:44 +0000
committerVitor Sessak <vitor1001@gmail.com>2008-07-13 19:59:44 +0000
commit4138ad961c4d577d32beb930155558d05bd2cfd3 (patch)
tree3fb5e811387f72b696a87cd79e4bb9b1cce86f49
parent8effdce0e70cb130feb5c8f0e89bc01c98d1764c (diff)
downloadffmpeg-4138ad961c4d577d32beb930155558d05bd2cfd3.tar.gz
Add av_clipf() function to common.h and use it in ra288.c
Originally committed as revision 14213 to svn://svn.ffmpeg.org/ffmpeg/trunk
-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);