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
mpegaudiodsp.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg 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
* FFmpeg 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 FFmpeg; 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_MPEGAUDIODSP_H
20
#define AVCODEC_MPEGAUDIODSP_H
21
22
#include <stdint.h>
23
#include "
libavutil/common.h
"
24
25
typedef
struct
MPADSPContext
{
26
void
(*
apply_window_float
)(
float
*synth_buf,
float
*window,
27
int
*dither_state,
float
*samples,
int
incr);
28
void
(*
apply_window_fixed
)(
int32_t
*synth_buf,
int32_t
*window,
29
int
*dither_state, int16_t *samples,
int
incr);
30
void
(*
dct32_float
)(
float
*dst,
const
float
*
src
);
31
void
(*
dct32_fixed
)(
int
*dst,
const
int
*
src
);
32
33
void
(*
imdct36_blocks_float
)(
float
*
out
,
float
*
buf
,
float
*
in
,
34
int
count
,
int
switch_point,
int
block_type);
35
void
(*
imdct36_blocks_fixed
)(
int
*
out
,
int
*
buf
,
int
*
in
,
36
int
count
,
int
switch_point,
int
block_type);
37
}
MPADSPContext
;
38
39
void
ff_mpadsp_init
(
MPADSPContext
*
s
);
40
41
extern
int32_t
ff_mpa_synth_window_fixed
[];
42
extern
float
ff_mpa_synth_window_float
[];
43
44
extern
const
int32_t
ff_mpa_enwindow
[257];
45
46
void
ff_mpa_synth_filter_fixed
(
MPADSPContext
*
s
,
47
int32_t
*synth_buf_ptr,
int
*synth_buf_offset,
48
int32_t
*window,
int
*dither_state,
49
int16_t *samples,
int
incr,
50
int32_t
*sb_samples);
51
52
void
ff_mpa_synth_filter_float
(
MPADSPContext
*
s
,
53
float
*synth_buf_ptr,
int
*synth_buf_offset,
54
float
*window,
int
*dither_state,
55
float
*samples,
int
incr,
56
float
*sb_samples);
57
58
void
ff_mpadsp_init_arm
(
MPADSPContext
*
s
);
59
void
ff_mpadsp_init_ppc
(
MPADSPContext
*
s
);
60
void
ff_mpadsp_init_x86
(
MPADSPContext
*
s
);
61
void
ff_mpadsp_init_mipsfpu
(
MPADSPContext
*
s
);
62
void
ff_mpadsp_init_mipsdspr1
(
MPADSPContext
*
s
);
63
64
void
ff_mpa_synth_init_float
(
float
*window);
65
void
ff_mpa_synth_init_fixed
(
int32_t
*window);
66
67
void
ff_mpadsp_apply_window_float
(
float
*synth_buf,
float
*window,
68
int
*dither_state,
float
*samples,
69
int
incr);
70
void
ff_mpadsp_apply_window_fixed
(
int32_t
*synth_buf,
int32_t
*window,
71
int
*dither_state, int16_t *samples,
72
int
incr);
73
74
void
ff_imdct36_blocks_float
(
float
*
out
,
float
*
buf
,
float
*
in
,
75
int
count
,
int
switch_point,
int
block_type);
76
77
void
ff_imdct36_blocks_fixed
(
int
*
out
,
int
*
buf
,
int
*
in
,
78
int
count
,
int
switch_point,
int
block_type);
79
80
void
ff_init_mpadsp_tabs_float
(
void
);
81
void
ff_init_mpadsp_tabs_fixed
(
void
);
82
83
/** For SSE implementation, MDCT_BUF_SIZE/2 should be 128-bit aligned */
84
#define MDCT_BUF_SIZE FFALIGN(36, 2*4)
85
86
extern
int
ff_mdct_win_fixed
[8][
MDCT_BUF_SIZE
];
87
extern
float
ff_mdct_win_float
[8][
MDCT_BUF_SIZE
];
88
89
#endif
/* AVCODEC_MPEGAUDIODSP_H */
Generated on Sat Jan 25 2014 19:51:52 for FFmpeg by
1.8.2