FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
rdft.h
Go to the documentation of this file.
1
/*
2
* (I)RDFT transforms
3
* Copyright (c) 2009 Alex Converse <alex dot converse at gmail dot com>
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#if !defined(AVCODEC_RDFT_H) && (!defined(FFT_FLOAT) || FFT_FLOAT)
23
#define AVCODEC_RDFT_H
24
25
#include "
config.h
"
26
#include "
fft.h
"
27
28
#if CONFIG_HARDCODED_TABLES
29
# define SINTABLE_CONST const
30
#else
31
# define SINTABLE_CONST
32
#endif
33
34
#define SINTABLE(size) \
35
SINTABLE_CONST DECLARE_ALIGNED(16, FFTSample, ff_sin_##size)[size/2]
36
37
extern
SINTABLE
(16);
38
extern
SINTABLE
(32);
39
extern
SINTABLE
(64);
40
extern
SINTABLE
(128);
41
extern
SINTABLE
(256);
42
extern
SINTABLE
(512);
43
extern
SINTABLE
(1024);
44
extern
SINTABLE
(2048);
45
extern
SINTABLE
(4096);
46
extern
SINTABLE
(8192);
47
extern
SINTABLE
(16384);
48
extern
SINTABLE
(32768);
49
extern
SINTABLE
(65536);
50
51
struct
RDFTContext
{
52
int
nbits
;
53
int
inverse
;
54
int
sign_convention
;
55
56
/* pre/post rotation tables */
57
const
FFTSample
*
tcos
;
58
SINTABLE_CONST
FFTSample
*
tsin
;
59
FFTContext
fft
;
60
void
(*
rdft_calc
)(
struct
RDFTContext
*
s
,
FFTSample
*z);
61
};
62
63
/**
64
* Set up a real FFT.
65
* @param nbits log2 of the length of the input array
66
* @param trans the type of transform
67
*/
68
int
ff_rdft_init
(
RDFTContext
*
s
,
int
nbits
,
enum
RDFTransformType
trans);
69
void
ff_rdft_end
(
RDFTContext
*
s
);
70
71
void
ff_rdft_init_arm
(
RDFTContext
*
s
);
72
73
74
#endif
/* AVCODEC_RDFT_H */
s
const char * s
Definition:
avisynth_c.h:768
RDFTContext::nbits
int nbits
Definition:
rdft.h:52
RDFTContext
Definition:
rdft.h:51
SINTABLE_CONST
#define SINTABLE_CONST
Definition:
rdft.h:31
config.h
ff_rdft_end
void ff_rdft_end(RDFTContext *s)
Definition:
rdft.c:132
RDFTransformType
RDFTransformType
Definition:
avfft.h:71
RDFTContext::tsin
SINTABLE_CONST FFTSample * tsin
Definition:
rdft.h:58
FFTSample
float FFTSample
Definition:
avfft.h:35
RDFTContext::rdft_calc
void(* rdft_calc)(struct RDFTContext *s, FFTSample *z)
Definition:
rdft.h:60
FFTContext
Definition:
fft.h:88
void
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
ff_rdft_init_arm
void ff_rdft_init_arm(RDFTContext *s)
Definition:
rdft_init_arm.c:27
RDFTContext::fft
FFTContext fft
Definition:
rdft.h:59
fft.h
RDFTContext::sign_convention
int sign_convention
Definition:
rdft.h:54
ff_rdft_init
int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
Set up a real FFT.
Definition:
rdft.c:99
RDFTContext::inverse
int inverse
Definition:
rdft.h:53
SINTABLE
#define SINTABLE(size)
Definition:
rdft.h:34
RDFTContext::tcos
const FFTSample * tcos
Definition:
rdft.h:57
Generated on Fri Jan 12 2018 01:45:46 for FFmpeg by
1.8.6