more usage of av_clip()
authorAurelien Jacobs <aurel@gnuage.org>
Sat, 11 Aug 2007 23:29:21 +0000 (23:29 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Sat, 11 Aug 2007 23:29:21 +0000 (23:29 +0000)
Originally committed as revision 10082 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/adpcm.c

index 53341fd..dad0d72 100644 (file)
@@ -706,11 +706,7 @@ static inline short adpcm_ct_expand_nibble(ADPCMChannelStatus *c, char nibble)
     c->predictor = av_clip_int16(c->predictor);
     /* calculate new step and clamp it to range 511..32767 */
     new_step = (ct_adpcm_table[nibble & 7] * c->step) >> 8;
-    c->step = new_step;
-    if(c->step < 511)
-        c->step = 511;
-    if(c->step > 32767)
-        c->step = 32767;
+    c->step = av_clip(new_step, 511, 32767);
 
     return (short)c->predictor;
 }
@@ -723,16 +719,8 @@ static inline short adpcm_sbpro_expand_nibble(ADPCMChannelStatus *c, char nibble
     delta = nibble & ((1<<(size-1))-1);
     diff = delta << (7 + c->step + shift);
 
-    if (sign)
-        c->predictor -= diff;
-    else
-        c->predictor += diff;
-
     /* clamp result */
-    if (c->predictor > 16256)
-        c->predictor = 16256;
-    else if (c->predictor < -16384)
-        c->predictor = -16384;
+    c->predictor = av_clip(c->predictor + (sign ? -diff : diff), -16384,16256);
 
     /* calculate new step */
     if (delta >= (2*size - 3) && c->step < 3)