|
|
@@ -169,6 +169,18 @@ static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a) |
|
|
|
else return a; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Clip a signed integer to an unsigned power of two range. |
|
|
|
* @param a value to clip |
|
|
|
* @param p bit position to clip at |
|
|
|
* @return clipped value |
|
|
|
*/ |
|
|
|
static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p) |
|
|
|
{ |
|
|
|
if (a & ~((1<<p) - 1)) return -a >> 31 & ((1<<p) - 1); |
|
|
|
else return a; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Clip a float value into the amin-amax range. |
|
|
|
* @param a value to clip |
|
|
@@ -362,6 +374,9 @@ static av_always_inline av_const int av_popcount_c(uint32_t x) |
|
|
|
#ifndef av_clipl_int32 |
|
|
|
# define av_clipl_int32 av_clipl_int32_c |
|
|
|
#endif |
|
|
|
#ifndef av_clip_uintp2 |
|
|
|
# define av_clip_uintp2 av_clip_uintp2_c |
|
|
|
#endif |
|
|
|
#ifndef av_clipf |
|
|
|
# define av_clipf av_clipf_c |
|
|
|
#endif |
|
|
|