21#ifndef AVUTIL_ARM_INTMATH_H
22#define AVUTIL_ARM_INTMATH_H
33#define av_clip_uint8 av_clip_uint8_arm
37 __asm__ (
"usat %0, #8, %1" :
"=r"(x) :
"r"(
a));
41#define av_clip_int8 av_clip_int8_arm
45 __asm__ (
"ssat %0, #8, %1" :
"=r"(x) :
"r"(
a));
49#define av_clip_uint16 av_clip_uint16_arm
53 __asm__ (
"usat %0, #16, %1" :
"=r"(x) :
"r"(
a));
57#define av_clip_int16 av_clip_int16_arm
61 __asm__ (
"ssat %0, #16, %1" :
"=r"(x) :
"r"(
a));
65#define av_clip_intp2 av_clip_intp2_arm
70 __asm__ (
"ssat %0, %2, %1" :
"=r"(x) :
"r"(
a),
"i"(p+1));
73 if (((
unsigned)
a + (1 << p)) & ~((2 << p) - 1))
74 return (
a >> 31) ^ ((1 <<
p) - 1);
80#define av_clip_uintp2 av_clip_uintp2_arm
85 __asm__ (
"usat %0, %2, %1" :
"=r"(x) :
"r"(
a),
"i"(p));
88 if (
a & ~((1<<p) - 1))
return (~
a) >> 31 & ((1<<
p) - 1);
93#define av_sat_add32 av_sat_add32_arm
97 __asm__ (
"qadd %0, %1, %2" :
"=r"(
r) :
"r"(
a),
"r"(
b));
101#define av_sat_dadd32 av_sat_dadd32_arm
105 __asm__ (
"qdadd %0, %1, %2" :
"=r"(
r) :
"r"(
a),
"r"(
b));
109#define av_sat_sub32 av_sat_sub32_arm
113 __asm__ (
"qsub %0, %1, %2" :
"=r"(
r) :
"r"(
a),
"r"(
b));
117#define av_sat_dsub32 av_sat_dsub32_arm
121 __asm__ (
"qdsub %0, %1, %2" :
"=r"(
r) :
"r"(
a),
"r"(
b));
129#define av_clipl_int32 av_clipl_int32_arm
133 __asm__ (
"adds %1, %R2, %Q2, lsr #31 \n\t"
135 "mvnne %1, #1<<31 \n\t"
137 "eorne %0, %1, %R2, asr #31 \n\t"
138 :
"=r"(x),
"=&r"(y) :
"r"(
a) :
"cc");
__asm__(".macro parse_r var r\n\t" "\\var = -1\n\t" _IFC_REG(0) _IFC_REG(1) _IFC_REG(2) _IFC_REG(3) _IFC_REG(4) _IFC_REG(5) _IFC_REG(6) _IFC_REG(7) _IFC_REG(8) _IFC_REG(9) _IFC_REG(10) _IFC_REG(11) _IFC_REG(12) _IFC_REG(13) _IFC_REG(14) _IFC_REG(15) _IFC_REG(16) _IFC_REG(17) _IFC_REG(18) _IFC_REG(19) _IFC_REG(20) _IFC_REG(21) _IFC_REG(22) _IFC_REG(23) _IFC_REG(24) _IFC_REG(25) _IFC_REG(26) _IFC_REG(27) _IFC_REG(28) _IFC_REG(29) _IFC_REG(30) _IFC_REG(31) ".iflt \\var\n\t" ".error \"Unable to parse register name \\r\"\n\t" ".endif\n\t" ".endm")
Macro definitions for various function/variable attributes.
#define av_builtin_constant_p
IDirect3DDxgiInterfaceAccess _COM_Outptr_ void ** p