1 /* 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #include "dl/api/arm/armOMX.h" 12 #include "dl/api/omxtypes.h" 13 #include "dl/sp/api/armSP.h" 14 #include "dl/sp/api/omxSP.h" 15 16 17 /** 18 * Function: omxSP_FFTGetBufSize_C_FC32 19 * 20 * Description: 21 * These functions compute the size of the specification structure 22 * required for the length 2^order complex FFT and IFFT functions. The function 23 * <FFTGetBufSize_C_FC32> is used in conjunction with the 32-bit functions 24 * <FFTFwd_CToC_FC32_Sfs> and <FFTInv_CToC_FC32_Sfs>. 25 * 26 * Input Arguments: 27 * 28 * order - base-2 logarithm of the desired block length; valid in the range 29 * [1,12] ([1,15] if BIG_FFT_TABLE is defined.) 30 * 31 * Output Arguments: 32 * 33 * pSize - pointer to the number of bytes required for the specification 34 * structure 35 * 36 * Return Value: 37 * 38 * OMX_Sts_NoErr - no error 39 * 40 * 41 */ 42 43 OMXResult omxSP_FFTGetBufSize_C_FC32(OMX_INT order, OMX_INT *pSize) { 44 if (!pSize || (order < 1) || (order > TWIDDLE_TABLE_ORDER)) 45 return OMX_Sts_BadArgErr; 46 /* 47 * The required size is the same as for C_SC32, because the 48 * elements are the same size and because ARMsFFTSpec_SC32 is 49 * the same size as ARMsFFTSpec_FC32. 50 */ 51 return omxSP_FFTGetBufSize_C_SC32(order, pSize); 52 } 53