FFmpeg
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
struct
RDFTContext
{
29
int
nbits
;
30
int
inverse
;
31
int
sign_convention
;
32
33
/* pre/post rotation tables */
34
const
FFTSample
*
tcos
;
35
const
FFTSample
*
tsin
;
36
int
negative_sin
;
37
FFTContext
fft
;
38
void (*
rdft_calc
)(
struct
RDFTContext
*
s
,
FFTSample
*z);
39
};
40
41
/**
42
* Set up a real FFT.
43
* @param nbits log2 of the length of the input array
44
* @param trans the type of transform
45
*/
46
int
ff_rdft_init
(
RDFTContext
*
s
,
int
nbits
,
enum
RDFTransformType
trans);
47
void
ff_rdft_end
(
RDFTContext
*
s
);
48
49
void
ff_rdft_init_arm
(
RDFTContext
*
s
);
50
51
52
#endif
/* AVCODEC_RDFT_H */
RDFTContext::fft
FFTContext fft
Definition:
rdft.h:37
RDFTContext::sign_convention
int sign_convention
Definition:
rdft.h:31
RDFTContext::tcos
const FFTSample * tcos
Definition:
rdft.h:34
ff_rdft_init_arm
void ff_rdft_init_arm(RDFTContext *s)
Definition:
rdft_init_arm.c:27
RDFTContext::tsin
const FFTSample * tsin
Definition:
rdft.h:35
ff_rdft_init
int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
Set up a real FFT.
Definition:
rdft.c:89
s
#define s(width, name)
Definition:
cbs_vp9.c:256
RDFTContext::nbits
int nbits
Definition:
rdft.h:29
FFTSample
float FFTSample
Definition:
avfft.h:35
FFTContext
Definition:
fft.h:76
ff_rdft_end
void ff_rdft_end(RDFTContext *s)
Definition:
rdft.c:117
RDFTContext
Definition:
rdft.h:28
RDFTransformType
RDFTransformType
Definition:
avfft.h:71
RDFTContext::inverse
int inverse
Definition:
rdft.h:30
fft.h
RDFTContext::rdft_calc
void(* rdft_calc)(struct RDFTContext *s, FFTSample *z)
Definition:
rdft.h:38
RDFTContext::negative_sin
int negative_sin
Definition:
rdft.h:36
Generated on Tue Feb 28 2023 21:33:36 for FFmpeg by
1.8.17