Files
qtmultimedia/examples/spectrum/3rdparty/fftreal/fftreal_wrapper.h
Jason McDonald bc7d964a05 Update copyright year in license headers.
Change-Id: Ib82c1be5548443ef1f5e97b3d5641a2f55d212af
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-06 01:43:40 +01:00

64 lines
1.9 KiB
C++

/***************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU Lesser General Public License as
** published by the Free Software Foundation, either version 2.1. This
** program is distributed in the hope that it will be useful, but WITHOUT
** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
** for more details. You should have received a copy of the GNU General
** Public License along with this program. If not, see
** <http://www.gnu.org/licenses/>.
**
***************************************************************************/
#ifndef FFTREAL_WRAPPER_H
#define FFTREAL_WRAPPER_H
#include <QtCore/QtGlobal>
#if defined(FFTREAL_LIBRARY)
# define FFTREAL_EXPORT Q_DECL_EXPORT
#else
# define FFTREAL_EXPORT Q_DECL_IMPORT
#endif
class FFTRealWrapperPrivate;
// Each pass of the FFT processes 2^X samples, where X is the
// number below.
static const int FFTLengthPowerOfTwo = 12;
/**
* Wrapper around the FFTRealFixLen template provided by the FFTReal
* library
*
* This class instantiates a single instance of FFTRealFixLen, using
* FFTLengthPowerOfTwo as the template parameter. It then exposes
* FFTRealFixLen<FFTLengthPowerOfTwo>::do_fft via the calculateFFT
* function, thereby allowing an application to dynamically link
* against the FFTReal implementation.
*
* See http://ldesoras.free.fr/prod.html
*/
class FFTREAL_EXPORT FFTRealWrapper
{
public:
FFTRealWrapper();
~FFTRealWrapper();
typedef float DataType;
void calculateFFT(DataType in[], const DataType out[]);
private:
FFTRealWrapperPrivate* m_private;
};
#endif // FFTREAL_WRAPPER_H