Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
mpeg4audio.h
Go to the documentation of this file.
1
/*
2
* MPEG-4 Audio common header
3
* Copyright (c) 2008 Baptiste Coudurier <baptiste.coudurier@free.fr>
4
*
5
* This file is part of Libav.
6
*
7
* Libav 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
* Libav 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 Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVCODEC_MPEG4AUDIO_H
23
#define AVCODEC_MPEG4AUDIO_H
24
25
#include <stdint.h>
26
#include "
get_bits.h
"
27
#include "
put_bits.h
"
28
29
typedef
struct
{
30
int
object_type
;
31
int
sampling_index
;
32
int
sample_rate
;
33
int
chan_config
;
34
int
sbr
;
35
int
ext_object_type
;
36
int
ext_sampling_index
;
37
int
ext_sample_rate
;
38
int
ext_chan_config
;
39
int
channels
;
40
int
ps
;
41
}
MPEG4AudioConfig
;
42
43
extern
const
int
avpriv_mpeg4audio_sample_rates
[16];
44
extern
const
uint8_t
ff_mpeg4audio_channels
[8];
45
54
int
avpriv_mpeg4audio_get_config
(
MPEG4AudioConfig
*c,
const
uint8_t *buf,
55
int
bit_size,
int
sync_extension);
56
57
enum
AudioObjectType
{
58
AOT_NULL
,
59
// Support? Name
60
AOT_AAC_MAIN
,
61
AOT_AAC_LC
,
62
AOT_AAC_SSR
,
63
AOT_AAC_LTP
,
64
AOT_SBR
,
65
AOT_AAC_SCALABLE
,
66
AOT_TWINVQ
,
67
AOT_CELP
,
68
AOT_HVXC
,
69
AOT_TTSI
= 12,
70
AOT_MAINSYNTH
,
71
AOT_WAVESYNTH
,
72
AOT_MIDI
,
73
AOT_SAFX
,
74
AOT_ER_AAC_LC
,
75
AOT_ER_AAC_LTP
= 19,
76
AOT_ER_AAC_SCALABLE
,
77
AOT_ER_TWINVQ
,
78
AOT_ER_BSAC
,
79
AOT_ER_AAC_LD
,
80
AOT_ER_CELP
,
81
AOT_ER_HVXC
,
82
AOT_ER_HILN
,
83
AOT_ER_PARAM
,
84
AOT_SSC
,
85
AOT_PS
,
86
AOT_SURROUND
,
87
AOT_ESCAPE
,
88
AOT_L1
,
89
AOT_L2
,
90
AOT_L3
,
91
AOT_DST
,
92
AOT_ALS
,
93
AOT_SLS
,
94
AOT_SLS_NON_CORE
,
95
AOT_ER_AAC_ELD
,
96
AOT_SMR_SIMPLE
,
97
AOT_SMR_MAIN
,
98
AOT_USAC_NOSBR
,
99
AOT_SAOC
,
100
AOT_LD_SURROUND
,
101
AOT_USAC
,
102
};
103
104
#define MAX_PCE_SIZE 304
105
106
107
int
avpriv_copy_pce_data
(
PutBitContext
*pb,
GetBitContext
*gb);
108
109
#endif
/* AVCODEC_MPEG4AUDIO_H */