Commit 19d57ca6 authored by James Almer's avatar James Almer Committed by Vittorio Giovara

libavutil: add av_mod_uintp2

Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent 7bfda7d1
...@@ -182,6 +182,17 @@ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p) ...@@ -182,6 +182,17 @@ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
else return a; else return a;
} }
/**
* Clear high bits from an unsigned integer starting with specific bit position
* @param a value to clip
* @param p bit position to clip at
* @return clipped value
*/
static av_always_inline av_const unsigned av_mod_uintp2_c(unsigned a, unsigned p)
{
return a & ((1 << p) - 1);
}
/** /**
* Add two signed 32-bit values with saturation. * Add two signed 32-bit values with saturation.
* *
...@@ -410,6 +421,9 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x) ...@@ -410,6 +421,9 @@ static av_always_inline av_const int av_popcount64_c(uint64_t x)
#ifndef av_clip_uintp2 #ifndef av_clip_uintp2
# define av_clip_uintp2 av_clip_uintp2_c # define av_clip_uintp2 av_clip_uintp2_c
#endif #endif
#ifndef av_mod_uintp2
# define av_mod_uintp2 av_mod_uintp2_c
#endif
#ifndef av_sat_add32 #ifndef av_sat_add32
# define av_sat_add32 av_sat_add32_c # define av_sat_add32 av_sat_add32_c
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment