Add av_clip_uintp2() function
Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
2c9a5172d3
commit
1550f45a89
@ -1329,9 +1329,7 @@ static av_always_inline void filter_level_for_mb(VP8Context *s, VP8Macroblock *m
|
|||||||
filter_level += s->lf_delta.mode[mb->mode];
|
filter_level += s->lf_delta.mode[mb->mode];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Like av_clip for inputs 0 and max, where max is equal to (2^n-1) */
|
filter_level = av_clip_uintp2(filter_level, 6);
|
||||||
#define POW2CLIP(x,max) (((x) & ~max) ? (-(x))>>31 & max : (x));
|
|
||||||
filter_level = POW2CLIP(filter_level, 63);
|
|
||||||
|
|
||||||
interior_limit = filter_level;
|
interior_limit = filter_level;
|
||||||
if (s->filter.sharpness) {
|
if (s->filter.sharpness) {
|
||||||
|
@ -169,6 +169,18 @@ static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a)
|
|||||||
else return 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.
|
* Clip a float value into the amin-amax range.
|
||||||
* @param a value to clip
|
* @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
|
#ifndef av_clipl_int32
|
||||||
# define av_clipl_int32 av_clipl_int32_c
|
# define av_clipl_int32 av_clipl_int32_c
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef av_clip_uintp2
|
||||||
|
# define av_clip_uintp2 av_clip_uintp2_c
|
||||||
|
#endif
|
||||||
#ifndef av_clipf
|
#ifndef av_clipf
|
||||||
# define av_clipf av_clipf_c
|
# define av_clipf av_clipf_c
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user