mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
more usage of av_clip()
Originally committed as revision 10082 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e4a50e6d2e
commit
88e2d5882b
@ -706,11 +706,7 @@ static inline short adpcm_ct_expand_nibble(ADPCMChannelStatus *c, char nibble)
|
|||||||
c->predictor = av_clip_int16(c->predictor);
|
c->predictor = av_clip_int16(c->predictor);
|
||||||
/* calculate new step and clamp it to range 511..32767 */
|
/* calculate new step and clamp it to range 511..32767 */
|
||||||
new_step = (ct_adpcm_table[nibble & 7] * c->step) >> 8;
|
new_step = (ct_adpcm_table[nibble & 7] * c->step) >> 8;
|
||||||
c->step = new_step;
|
c->step = av_clip(new_step, 511, 32767);
|
||||||
if(c->step < 511)
|
|
||||||
c->step = 511;
|
|
||||||
if(c->step > 32767)
|
|
||||||
c->step = 32767;
|
|
||||||
|
|
||||||
return (short)c->predictor;
|
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);
|
delta = nibble & ((1<<(size-1))-1);
|
||||||
diff = delta << (7 + c->step + shift);
|
diff = delta << (7 + c->step + shift);
|
||||||
|
|
||||||
if (sign)
|
|
||||||
c->predictor -= diff;
|
|
||||||
else
|
|
||||||
c->predictor += diff;
|
|
||||||
|
|
||||||
/* clamp result */
|
/* clamp result */
|
||||||
if (c->predictor > 16256)
|
c->predictor = av_clip(c->predictor + (sign ? -diff : diff), -16384,16256);
|
||||||
c->predictor = 16256;
|
|
||||||
else if (c->predictor < -16384)
|
|
||||||
c->predictor = -16384;
|
|
||||||
|
|
||||||
/* calculate new step */
|
/* calculate new step */
|
||||||
if (delta >= (2*size - 3) && c->step < 3)
|
if (delta >= (2*size - 3) && c->step < 3)
|
||||||
|
Loading…
Reference in New Issue
Block a user