comparison libfaad2/cfft.h @ 12527:4a370c80fe5c

update to the 2.0 release of faad, patch by adland
author diego
date Wed, 02 Jun 2004 22:59:04 +0000
parents e989150f8216
children d81145997036
comparison
equal deleted inserted replaced
12526:e183ad37d24c 12527:4a370c80fe5c
1 /* 1 /*
2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding 2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
3 ** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com 3 ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
4 ** 4 **
5 ** This program is free software; you can redistribute it and/or modify 5 ** This program is free software; you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by 6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation; either version 2 of the License, or 7 ** the Free Software Foundation; either version 2 of the License, or
8 ** (at your option) any later version. 8 ** (at your option) any later version.
20 ** forbidden. 20 ** forbidden.
21 ** 21 **
22 ** Commercial non-GPL licensing of this software is possible. 22 ** Commercial non-GPL licensing of this software is possible.
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. 23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
24 ** 24 **
25 ** $Id: cfft.h,v 1.6 2003/07/29 08:20:12 menno Exp $ 25 ** $Id: cfft.h,v 1.1 2003/08/30 22:30:21 arpi Exp $
26 **/ 26 **/
27 27
28 #ifndef __CFFT_H__ 28 #ifndef __CFFT_H__
29 #define __CFFT_H__ 29 #define __CFFT_H__
30 30
31 #ifdef __cplusplus 31 #ifdef __cplusplus
32 extern "C" { 32 extern "C" {
33 #endif 33 #endif
34 34
35 typedef struct
36 {
37 uint16_t n;
38 uint16_t ifac[15];
39 complex_t *work;
40 complex_t *tab;
41 } cfft_info;
42
35 43
36 void cfftf(cfft_info *cfft, complex_t *c); 44 void cfftf(cfft_info *cfft, complex_t *c);
37 void cfftb(cfft_info *cfft, complex_t *c); 45 void cfftb(cfft_info *cfft, complex_t *c);
38 cfft_info *cffti(uint16_t n); 46 cfft_info *cffti(uint16_t n);
39 void cfftu(cfft_info *cfft); 47 void cfftu(cfft_info *cfft);
40 48
41 49 #ifdef USE_SSE
42 static void passf2(uint16_t ido, uint16_t l1, complex_t *cc, complex_t *ch, 50 void cfftb_sse(cfft_info *cfft, complex_t *c);
43 complex_t *wa, int8_t isign); 51 #endif
44 static void passf3(uint16_t ido, uint16_t l1, complex_t *cc, complex_t *ch,
45 complex_t *wa1, complex_t *wa2, int8_t isign);
46 static void passf4(uint16_t ido, uint16_t l1, complex_t *cc, complex_t *ch,
47 complex_t *wa1, complex_t *wa2, complex_t *wa3, int8_t isign);
48 static void passf5(uint16_t ido, uint16_t l1, complex_t *cc, complex_t *ch,
49 complex_t *wa1, complex_t *wa2, complex_t *wa3, complex_t *wa4,
50 int8_t isign);
51 INLINE void cfftf1(uint16_t n, complex_t *c, complex_t *ch,
52 uint16_t *ifac, complex_t *wa, int8_t isign);
53 static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac);
54 52
55 53
56 #ifdef __cplusplus 54 #ifdef __cplusplus
57 } 55 }
58 #endif 56 #endif