1/*---------------------------------------------------------------------------* 2 * fronttyp.h * 3 * * 4 * Copyright 2007, 2008 Nuance Communciations, Inc. * 5 * * 6 * Licensed under the Apache License, Version 2.0 (the 'License'); * 7 * you may not use this file except in compliance with the License. * 8 * * 9 * You may obtain a copy of the License at * 10 * http://www.apache.org/licenses/LICENSE-2.0 * 11 * * 12 * Unless required by applicable law or agreed to in writing, software * 13 * distributed under the License is distributed on an 'AS IS' BASIS, * 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 15 * See the License for the specific language governing permissions and * 16 * limitations under the License. * 17 * * 18 *---------------------------------------------------------------------------*/ 19 20#ifndef _h_fronttyp_ 21#define _h_fronttyp_ 22 23typedef long bigdata; 24typedef int coefdata; 25typedef short samdata; 26typedef int fftdata; /* TODO: Swap in fixed point datatype when working */ 27typedef int cepdata; 28 29/****************************************************************************** 30** Fixed point processing macros. These are defined in non-fixed point build also. 31*******************************************************************************/ 32 33#define COEFDATA_SIZE 32 /* coefficients */ 34#define SAMDATA_SIZE 16 /* samples */ 35#define FFTDATA_SIZE 32 /* fft internal data */ 36#define CEPDATA_SIZE 32 /* cepstrum internal data */ 37 38#define HALF_COEFDATA_SIZE (COEFDATA_SIZE >> 1) 39#define HALF_SAMDATA_SIZE (SAMDATA_SIZE >> 1) 40#define HALF_FFTDATA_SIZE (FFTDATA_SIZE >> 1) 41#define HALF_CEPDATA_SIZE (CEPDATA_SIZE >> 1) 42#define QUART_CEPDATA_SIZE (CEPDATA_SIZE >> 2) 43#define QUART_FFTDATA_SIZE (CEPDATA_SIZE >> 2) 44 45/* scaling in terms of shifts */ 46#define COSINE_TABLE_SHIFT HALF_CEPDATA_SIZE /* minimum 5 */ 47#define RAMP_SHIFT 6 48#define HALF_RAMP_SHIFT (RAMP_SHIFT >> 1) 49#define COEFDATA_SHIFT 8 50#define HALF_COEFDATA_SHIFT (COEFDATA_SHIFT >> 1) 51#define WAVE_SHIFT 0 52#define BYTERANGE_SHIFT 1 53 54#endif 55