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
This commit is contained in:
Vitor Sessak 2008-07-13 19:59:44 +00:00
parent 8effdce0e7
commit 4138ad961c
2 changed files with 16 additions and 8 deletions

View File

@ -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);
}
}

View File

@ -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);