Libav
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
opus_imdct.h
Go to the documentation of this file.
1
/*
2
* This file is part of Libav.
3
*
4
* Libav is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* Libav is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with Libav; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVCODEC_OPUS_IMDCT_H
20
#define AVCODEC_OPUS_IMDCT_H
21
22
#include <stddef.h>
23
24
#include "
avfft.h
"
25
26
typedef
struct
CeltIMDCTContext
{
27
int
fft_n
;
28
int
len2
;
29
int
len4
;
30
31
FFTComplex
*
tmp
;
32
33
FFTComplex
*
twiddle_exptab
;
34
35
FFTComplex
*
exptab
[6];
36
40
void
(*
imdct_half
)(
struct
CeltIMDCTContext
*s,
float
*dst,
const
float
*src,
41
ptrdiff_t src_stride,
float
scale);
42
}
CeltIMDCTContext
;
43
47
int
ff_celt_imdct_init
(
CeltIMDCTContext
**s,
int
N);
48
52
void
ff_celt_imdct_uninit
(
CeltIMDCTContext
**s);
53
54
55
void
ff_celt_imdct_init_aarch64
(
CeltIMDCTContext
*s);
56
57
#endif
/* AVCODEC_OPUS_IMDCT_H */
CeltIMDCTContext::exptab
FFTComplex * exptab[6]
Definition:
opus_imdct.h:35
CeltIMDCTContext::len2
int len2
Definition:
opus_imdct.h:28
ff_celt_imdct_uninit
void ff_celt_imdct_uninit(CeltIMDCTContext **s)
Free an iMDCT.
Definition:
opus_imdct.c:69
ff_celt_imdct_init
int ff_celt_imdct_init(CeltIMDCTContext **s, int N)
Init an iMDCT of the length 2 * 15 * (2^N)
Definition:
opus_imdct.c:90
CeltIMDCTContext::tmp
FFTComplex * tmp
Definition:
opus_imdct.h:31
CeltIMDCTContext::fft_n
int fft_n
Definition:
opus_imdct.h:27
CeltIMDCTContext::twiddle_exptab
FFTComplex * twiddle_exptab
Definition:
opus_imdct.h:33
CeltIMDCTContext
Definition:
opus_imdct.h:26
CeltIMDCTContext::len4
int len4
Definition:
opus_imdct.h:29
avfft.h
FFT functions.
void
static void(WINAPI *cond_broadcast)(pthread_cond_t *cond)
FFTComplex
Definition:
avfft.h:37
ff_celt_imdct_init_aarch64
void ff_celt_imdct_init_aarch64(CeltIMDCTContext *s)
Definition:
opus_imdct_init.c:38
CeltIMDCTContext::imdct_half
void(* imdct_half)(struct CeltIMDCTContext *s, float *dst, const float *src, ptrdiff_t src_stride, float scale)
Calculate the middle half of the iMDCT.
Definition:
opus_imdct.h:40
Generated on Tue Apr 2 2019 17:54:18 for Libav by
1.8.8