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