From ae52eb7fc74273a7472f93241943a0887f0db503 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 26 Oct 2012 19:37:43 +0200 Subject: lavu: add av_clip64() Signed-off-by: Michael Niedermayer --- libavutil/common.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libavutil/common.h') diff --git a/libavutil/common.h b/libavutil/common.h index c2a54c4987..03a2354db4 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -102,6 +102,20 @@ static av_always_inline av_const int av_clip_c(int a, int amin, int amax) else return a; } +/** + * Clip a signed 64bit integer 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 av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax) +{ + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; +} + /** * Clip a signed integer value into the 0-255 range. * @param a value to clip @@ -375,6 +389,9 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x) #ifndef av_clip # define av_clip av_clip_c #endif +#ifndef av_clip64 +# define av_clip64 av_clip64_c +#endif #ifndef av_clip_uint8 # define av_clip_uint8 av_clip_uint8_c #endif -- cgit v1.2.3