summaryrefslogtreecommitdiff
path: root/apps/codecs/libwmapro/wmapro_math.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libwmapro/wmapro_math.h')
-rw-r--r--apps/codecs/libwmapro/wmapro_math.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/codecs/libwmapro/wmapro_math.h b/apps/codecs/libwmapro/wmapro_math.h
index 83fbb40a66..b339d8616d 100644
--- a/apps/codecs/libwmapro/wmapro_math.h
+++ b/apps/codecs/libwmapro/wmapro_math.h
@@ -1,8 +1,13 @@
1#ifndef _WMAPRO_MATH_H_
2#define _WMAPRO_MATH_H_
3
1#include <inttypes.h> 4#include <inttypes.h>
2#include "types.h" 5#include "types.h"
3 6
4#define fixtof16(x) (float)((float)(x) / (float)(1 << 16)) 7#define fixtof16(x) (float)((float)(x) / (float)(1 << 16))
8#define fixtof31(x) (float)((float)(x) / (float)(1 << 31))
5#define ftofix16(x) ((int32_t)((x) * (float)(1 << 16) + ((x) < 0 ? -0.5:0.5))) 9#define ftofix16(x) ((int32_t)((x) * (float)(1 << 16) + ((x) < 0 ? -0.5:0.5)))
10#define ftofix31(x) ((int32_t)((x) * (float)(1 << 31) + ((x) < 0 ? -0.5:0.5)))
6 11
7static inline FIXED fixmulshift(FIXED x, FIXED y, int shamt) 12static inline FIXED fixmulshift(FIXED x, FIXED y, int shamt)
8{ 13{
@@ -36,11 +41,11 @@ static inline void vector_fixmul_window(FIXED *dst, const FIXED *src0,
36} 41}
37 42
38static inline void vector_fixmul_scalar(FIXED *dst, const FIXED *src, FIXED mul, 43static inline void vector_fixmul_scalar(FIXED *dst, const FIXED *src, FIXED mul,
39 int len) 44 int len, int shift)
40{ 45{
41 int i; 46 int i;
42 for(i=0; i<len; i++) { 47 for(i=0; i<len; i++)
43 dst[i] = fixmulshift(src[i],mul,32); 48 dst[i] = fixmulshift(src[i],mul,shift);
44 }
45
46} 49}
50
51#endif /* _WMAPRO_MATH_H_ */