| /* |
| * Copyright (C) 2003 - 2016 Sony Corporation |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef _FIXP_LDAC_H |
| #define _FIXP_LDAC_H |
| |
| /*************************************************************************************************** |
| Macro Definitions |
| ***************************************************************************************************/ |
| |
| #define LDAC_MAX_32BIT ((INT32)0x7fffffffL) |
| #define LDAC_MIN_32BIT ((INT32)0x80000000L) |
| |
| #define LDAC_C_BLKFLT 31 |
| |
| #define LDAC_Q_SETPCM 15 |
| |
| #define LDAC_Q_MDCT_WIN 30 |
| #define LDAC_Q_MDCT_COS 31 |
| #define LDAC_Q_MDCT_SIN 31 |
| |
| #define LDAC_Q_NORM1 15 |
| #define LDAC_Q_NORM2 31 |
| |
| #define LDAC_Q_QUANT1 47 |
| #define LDAC_Q_QUANT2 0 |
| #define LDAC_Q_QUANT3 15 |
| #define LDAC_Q_QUANT4 47 |
| |
| #define LDAC_Q_DEQUANT1 0 |
| #define LDAC_Q_DEQUANT2 0 |
| #define LDAC_Q_DEQUANT3 31 |
| |
| #define LDAC_Q_NORM (15+(LDAC_Q_NORM2-LDAC_Q_NORM1)) |
| |
| /*************************************************************************************************** |
| Function Declarations |
| ***************************************************************************************************/ |
| /* func_fixp_ldac.c */ |
| DECLFUNC INT32 sftrnd_ldac(INT32, int); |
| #define lsft_ldac(x, n) ((x) << (n)) |
| #define rsft_ldac(x, n) ((x) >> (n)) |
| #define rsft_ro_ldac(x, n) (((x) + (1 << (n-1))) >> (n)) |
| |
| #define lsftrnd_ldac(x, n) (INT32)((INT64)(x) << (-(n))) |
| #define rsftrnd_ldac(x, n) (INT32)(((INT64)(x) + ((INT64)1 << ((n)-1))) >> (n)) |
| #define mul_lsftrnd_ldac(x, y, n) (INT32)(((INT64)(x) * (INT64)(y)) << (-(n))) |
| #define mul_rsftrnd_ldac(x, y, n) (INT32)((((INT64)(x) * (INT64)(y)) + ((INT64)1 << ((n)-1))) >> (n)) |
| |
| DECLFUNC int get_bit_length_ldac(INT32); |
| DECLFUNC INT32 get_absmax_ldac(INT32 *, int); |
| |
| #endif /* _FIXP_LDAC_H */ |
| |