|
#define | MULT16_16SU(a, b) ((opus_val32)(opus_val16)(a)*(opus_val32)(opus_uint16)(b)) |
|
#define | MULT32_32_Q31(a, b) ADD32(ADD32(SHL32(MULT16_16(SHR32((a),16),SHR((b),16)),1), SHR32(MULT16_16SU(SHR32((a),16),((b)&0x0000ffff)),15)), SHR32(MULT16_16SU(SHR32((b),16),((a)&0x0000ffff)),15)) |
|
#define | MULT16_32_Q16(a, b) ADD32(MULT16_16((a),SHR32((b),16)), SHR32(MULT16_16SU((a),((b)&0x0000ffff)),16)) |
|
#define | MULT16_32_P16(a, b) MULT16_32_PX(a,b,16) |
|
#define | QCONST16(x, bits) ((opus_val16)(.5+(x)*(((opus_val32)1)<<(bits)))) |
|
#define | QCONST32(x, bits) ((opus_val32)(.5+(x)*(((opus_val32)1)<<(bits)))) |
|
#define | VERIFY_SHORT(x) ((x)<=32767&&(x)>=-32768) |
|
#define | VERIFY_INT(x) ((x)<=2147483647LL&&(x)>=-2147483648LL) |
|
#define | VERIFY_UINT(x) ((x)<=(2147483647LLU<<1)) |
|
#define | SHR(a, b) SHR32(a,b) |
|
#define | PSHR(a, b) PSHR32(a,b) |
|
#define | EXTRACT16(x) EXTRACT16_(x, __FILE__, __LINE__) |
|
#define | EXTEND32(x) EXTEND32_(x, __FILE__, __LINE__) |
|
#define | SHR16(a, shift) SHR16_(a, shift, __FILE__, __LINE__) |
|
#define | SHL16(a, shift) SHL16_(a, shift, __FILE__, __LINE__) |
|
#define | SHL32(a, shift) SHL32_(a, shift, __FILE__, __LINE__) |
|
#define | PSHR32(a, shift) (celt_mips--,SHR32(ADD32((a),(((opus_val32)(1)<<((shift))>>1))),shift)) |
|
#define | VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift))) |
|
#define | ROUND16(x, a) (celt_mips--,EXTRACT16(PSHR32((x),(a)))) |
|
#define | HALF16(x) (SHR16(x,1)) |
|
#define | HALF32(x) (SHR32(x,1)) |
|
#define | ADD16(a, b) ADD16_(a, b, __FILE__, __LINE__) |
|
#define | SUB16(a, b) SUB16_(a, b, __FILE__, __LINE__) |
|
#define | ADD32(a, b) ADD32_(a, b, __FILE__, __LINE__) |
|
#define | SUB32(a, b) SUB32_(a, b, __FILE__, __LINE__) |
|
#define | UADD32(a, b) UADD32_(a, b, __FILE__, __LINE__) |
|
#define | USUB32(a, b) USUB32_(a, b, __FILE__, __LINE__) |
|
#define | MULT16_16(a, b) MULT16_16_(a, b, __FILE__, __LINE__) |
|
#define | MAC16_16(c, a, b) (celt_mips-=2,ADD32((c),MULT16_16((a),(b)))) |
|
#define | MULT16_32_QX(a, b, Q) MULT16_32_QX_(a, b, Q, __FILE__, __LINE__) |
|
#define | MULT16_32_PX(a, b, Q) MULT16_32_PX_(a, b, Q, __FILE__, __LINE__) |
|
#define | MULT16_32_Q15(a, b) MULT16_32_QX(a,b,15) |
|
#define | MAC16_32_Q15(c, a, b) (celt_mips-=2,ADD32((c),MULT16_32_Q15((a),(b)))) |
|
#define | MAC16_32_Q16(c, a, b) (celt_mips-=2,ADD32((c),MULT16_32_Q16((a),(b)))) |
|
#define | MULT16_16_Q15(a, b) MULT16_16_Q15_(a, b, __FILE__, __LINE__) |
|
#define | DIV32_16(a, b) DIV32_16_(a, b, __FILE__, __LINE__) |
|
#define | DIV32(a, b) DIV32_(a, b, __FILE__, __LINE__) |
|
#define | SIG2WORD16(x) (SIG2WORD16_generic(x)) |
|
#define | PRINT_MIPS(file) do {fprintf (file, "total complexity = %llu MIPS\n", celt_mips);} while (0); |
|
Fixed-point operations with debugging.