Fixes compilation of host tool aacps_fixed_tablegen Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>tags/n2.8
@@ -126,7 +126,6 @@ OBJS = adler32.o \ | |||||
samplefmt.o \ | samplefmt.o \ | ||||
sha.o \ | sha.o \ | ||||
sha512.o \ | sha512.o \ | ||||
softfloat.o \ | |||||
stereo3d.o \ | stereo3d.o \ | ||||
threadmessage.o \ | threadmessage.o \ | ||||
time.o \ | time.o \ | ||||
@@ -23,55 +23,6 @@ | |||||
#include "common.h" | #include "common.h" | ||||
#include "log.h" | #include "log.h" | ||||
void av_sincos_sf(int a, int *s, int *c) | |||||
{ | |||||
int idx, sign; | |||||
int sv, cv; | |||||
int st, ct; | |||||
idx = a >> 26; | |||||
sign = (idx << 27) >> 31; | |||||
cv = av_costbl_1_sf[idx & 0xf]; | |||||
cv = (cv ^ sign) - sign; | |||||
idx -= 8; | |||||
sign = (idx << 27) >> 31; | |||||
sv = av_costbl_1_sf[idx & 0xf]; | |||||
sv = (sv ^ sign) - sign; | |||||
idx = a >> 21; | |||||
ct = av_costbl_2_sf[idx & 0x1f]; | |||||
st = av_sintbl_2_sf[idx & 0x1f]; | |||||
idx = (int)(((int64_t)cv * ct - (int64_t)sv * st + 0x20000000) >> 30); | |||||
sv = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
cv = idx; | |||||
idx = a >> 16; | |||||
ct = av_costbl_3_sf[idx & 0x1f]; | |||||
st = av_sintbl_3_sf[idx & 0x1f]; | |||||
idx = (int)(((int64_t)cv * ct - (int64_t)sv * st + 0x20000000) >> 30); | |||||
sv = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
cv = idx; | |||||
idx = a >> 11; | |||||
ct = (int)(((int64_t)av_costbl_4_sf[idx & 0x1f] * (0x800 - (a & 0x7ff)) + | |||||
(int64_t)av_costbl_4_sf[(idx & 0x1f)+1]*(a & 0x7ff) + | |||||
0x400) >> 11); | |||||
st = (int)(((int64_t)av_sintbl_4_sf[idx & 0x1f] * (0x800 - (a & 0x7ff)) + | |||||
(int64_t)av_sintbl_4_sf[(idx & 0x1f) + 1] * (a & 0x7ff) + | |||||
0x400) >> 11); | |||||
*c = (int)(((int64_t)cv * ct + (int64_t)sv * st + 0x20000000) >> 30); | |||||
*s = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
} | |||||
#ifdef TEST | #ifdef TEST | ||||
#include <stdio.h> | #include <stdio.h> | ||||
@@ -189,6 +189,53 @@ static av_always_inline SoftFloat av_sqrt_sf(SoftFloat val) | |||||
/** | /** | ||||
* Rounding-to-nearest used. | * Rounding-to-nearest used. | ||||
*/ | */ | ||||
void av_sincos_sf(int a, int *s, int *c); | |||||
static av_unused void av_sincos_sf(int a, int *s, int *c) | |||||
{ | |||||
int idx, sign; | |||||
int sv, cv; | |||||
int st, ct; | |||||
idx = a >> 26; | |||||
sign = (idx << 27) >> 31; | |||||
cv = av_costbl_1_sf[idx & 0xf]; | |||||
cv = (cv ^ sign) - sign; | |||||
idx -= 8; | |||||
sign = (idx << 27) >> 31; | |||||
sv = av_costbl_1_sf[idx & 0xf]; | |||||
sv = (sv ^ sign) - sign; | |||||
idx = a >> 21; | |||||
ct = av_costbl_2_sf[idx & 0x1f]; | |||||
st = av_sintbl_2_sf[idx & 0x1f]; | |||||
idx = (int)(((int64_t)cv * ct - (int64_t)sv * st + 0x20000000) >> 30); | |||||
sv = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
cv = idx; | |||||
idx = a >> 16; | |||||
ct = av_costbl_3_sf[idx & 0x1f]; | |||||
st = av_sintbl_3_sf[idx & 0x1f]; | |||||
idx = (int)(((int64_t)cv * ct - (int64_t)sv * st + 0x20000000) >> 30); | |||||
sv = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
cv = idx; | |||||
idx = a >> 11; | |||||
ct = (int)(((int64_t)av_costbl_4_sf[idx & 0x1f] * (0x800 - (a & 0x7ff)) + | |||||
(int64_t)av_costbl_4_sf[(idx & 0x1f)+1]*(a & 0x7ff) + | |||||
0x400) >> 11); | |||||
st = (int)(((int64_t)av_sintbl_4_sf[idx & 0x1f] * (0x800 - (a & 0x7ff)) + | |||||
(int64_t)av_sintbl_4_sf[(idx & 0x1f) + 1] * (a & 0x7ff) + | |||||
0x400) >> 11); | |||||
*c = (int)(((int64_t)cv * ct + (int64_t)sv * st + 0x20000000) >> 30); | |||||
*s = (int)(((int64_t)cv * st + (int64_t)sv * ct + 0x20000000) >> 30); | |||||
} | |||||
#endif /* AVUTIL_SOFTFLOAT_H */ | #endif /* AVUTIL_SOFTFLOAT_H */ |