diff options
| author | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
| commit | 8e4bff4cab0ddac6060645b0715210484d02ff40 (patch) | |
| tree | 3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/media/sprd_dcam/common/sin_cos.h | |
Diffstat (limited to 'drivers/media/sprd_dcam/common/sin_cos.h')
| -rw-r--r-- | drivers/media/sprd_dcam/common/sin_cos.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/drivers/media/sprd_dcam/common/sin_cos.h b/drivers/media/sprd_dcam/common/sin_cos.h new file mode 100644 index 00000000..f8b02ea3 --- /dev/null +++ b/drivers/media/sprd_dcam/common/sin_cos.h @@ -0,0 +1,74 @@ +/****************************************************************************** + ** File Name: sin_cos.h * + ** Author: shan.he * + ** DATE: 2010-11-22 * + ** Copyright: 2010 Spreadtrum, Incoporated. All Rights Reserved. * + ** Description: * + ** Note: * + *****************************************************************************/ +/****************************************************************************** + ** Edit History * + **---------------------------------------------------------------------------* + ** DATE NAME DESCRIPTION * + *****************************************************************************/ +#ifndef _SIN_COS_H_ +#define _SIN_COS_H_ + +/**---------------------------------------------------------------------------* + ** Dependencies * + **---------------------------------------------------------------------------*/ +//#include "sci_types.h" +#include <linux/types.h> + +/**---------------------------------------------------------------------------* + ** Macros * + **---------------------------------------------------------------------------*/ +#define COSSIN_Q 30 + +#define pi 3.14159265359 +#define PI_32 0x3243F6A88 //pi * (1 << 32) +#define ARC_32_COEF 0x80000000 +//convert arc of double type to int32 type +#define ARC_32(arc) (int32_t)((arc) / (pi) * 2147483648); + +/**---------------------------------------------------------------------------* + ** Compiler Flag * + **---------------------------------------------------------------------------*/ +#ifdef __cplusplus +extern "C" +{ +#endif + +/**---------------------------------------------------------------------------* + ** Public Functions * + **---------------------------------------------------------------------------*/ +/****************************************************************************/ +/* Purpose: get the sin value of an arc at Q32 */ +/* Author: */ +/* Input: arc at Q32 */ +/* Output: none */ +/* Return: sin value at Q30 */ +/* Note: arc at Q32 = arc * (2 ^ 32) */ +/* value at Q30 = value * (2 ^ 30) */ +/****************************************************************************/ +int32_t dcam_sin_32(int32_t n); + +/****************************************************************************/ +/* Purpose: get the cos value of an arc at Q32 */ +/* Author: */ +/* Input: arc at Q32 */ +/* Output: none */ +/* Return: cos value at Q30 */ +/* Note: arc at Q32 = arc * (2 ^ 32) */ +/* value at Q30 = value * (2 ^ 30) */ +/****************************************************************************/ +int32_t dcam_cos_32(int32_t n); + +/**---------------------------------------------------------------------------* + ** Compiler Flag * + **---------------------------------------------------------------------------*/ +#ifdef __cplusplus +} +#endif + +#endif |
