From b1078e9fe6b5d8f034d15a6ab91430fd41921fe2 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 21 Apr 2010 17:57:48 +0000 Subject: Move clipping of audio samples (for those codecs outputting float) from decoder to the audio conversion routines. Originally committed as revision 22937 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavutil/common.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavutil/common.h') diff --git a/libavutil/common.h b/libavutil/common.h index 11ae368826..8d7cc10012 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -144,6 +144,17 @@ static inline av_const int16_t av_clip_int16(int a) else return a; } +/** + * Clips a signed 64-bit integer value into the -2147483648,2147483647 range. + * @param a value to clip + * @return clipped value + */ +static inline av_const int32_t av_clipl_int32(int64_t a) +{ + if ((a+2147483648) & ~2147483647) return (a>>63) ^ 2147483647; + else return a; +} + /** * Clips a float value into the amin-amax range. * @param a value to clip -- cgit v1.2.1