mirror of https://git.ffmpeg.org/ffmpeg.git
ARM: intmath: use native-size return types for clipping functions
This avoids having the compiler redundantly mask the values to the smaller size. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
69665bd6f4
commit
87fa05a0da
|
@ -44,7 +44,7 @@ static av_always_inline av_const int FASTDIV(int a, int b)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define av_clip_uint8 av_clip_uint8_arm
|
#define av_clip_uint8 av_clip_uint8_arm
|
||||||
static av_always_inline av_const uint8_t av_clip_uint8_arm(int a)
|
static av_always_inline av_const unsigned av_clip_uint8_arm(int a)
|
||||||
{
|
{
|
||||||
unsigned x;
|
unsigned x;
|
||||||
__asm__ ("usat %0, #8, %1" : "=r"(x) : "r"(a));
|
__asm__ ("usat %0, #8, %1" : "=r"(x) : "r"(a));
|
||||||
|
@ -52,15 +52,15 @@ static av_always_inline av_const uint8_t av_clip_uint8_arm(int a)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define av_clip_int8 av_clip_int8_arm
|
#define av_clip_int8 av_clip_int8_arm
|
||||||
static av_always_inline av_const uint8_t av_clip_int8_arm(int a)
|
static av_always_inline av_const int av_clip_int8_arm(int a)
|
||||||
{
|
{
|
||||||
unsigned x;
|
int x;
|
||||||
__asm__ ("ssat %0, #8, %1" : "=r"(x) : "r"(a));
|
__asm__ ("ssat %0, #8, %1" : "=r"(x) : "r"(a));
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define av_clip_uint16 av_clip_uint16_arm
|
#define av_clip_uint16 av_clip_uint16_arm
|
||||||
static av_always_inline av_const uint16_t av_clip_uint16_arm(int a)
|
static av_always_inline av_const unsigned av_clip_uint16_arm(int a)
|
||||||
{
|
{
|
||||||
unsigned x;
|
unsigned x;
|
||||||
__asm__ ("usat %0, #16, %1" : "=r"(x) : "r"(a));
|
__asm__ ("usat %0, #16, %1" : "=r"(x) : "r"(a));
|
||||||
|
@ -68,7 +68,7 @@ static av_always_inline av_const uint16_t av_clip_uint16_arm(int a)
|
||||||
}
|
}
|
||||||
|
|
||||||
#define av_clip_int16 av_clip_int16_arm
|
#define av_clip_int16 av_clip_int16_arm
|
||||||
static av_always_inline av_const int16_t av_clip_int16_arm(int a)
|
static av_always_inline av_const int av_clip_int16_arm(int a)
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
__asm__ ("ssat %0, #16, %1" : "=r"(x) : "r"(a));
|
__asm__ ("ssat %0, #16, %1" : "=r"(x) : "r"(a));
|
||||||
|
|
Loading…
Reference in New Issue