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
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 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
#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
MPEG4AudioConfig
{
30
int
object_type
;
31
int
sampling_index
;
32
int
sample_rate
;
33
int
chan_config
;
34
int
sbr
;
///< -1 implicit, 1 presence
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
;
///< -1 implicit, 1 presence
41
}
MPEG4AudioConfig
;
42
43
extern
av_export
const
int
avpriv_mpeg4audio_sample_rates
[16];
44
extern
const
uint8_t
ff_mpeg4audio_channels
[8];
45
46
/**
47
* Parse MPEG-4 systems extradata to retrieve audio configuration.
48
* @param[in] c MPEG4AudioConfig structure to fill.
49
* @param[in] buf Extradata from container.
50
* @param[in] bit_size Extradata size in bits.
51
* @param[in] sync_extension look for a sync extension after config if true.
52
* @return On error -1 is returned, on success AudioSpecificConfig bit index in extradata.
53
*/
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
,
///< Y Main
61
AOT_AAC_LC
,
///< Y Low Complexity
62
AOT_AAC_SSR
,
///< N (code in SoC repo) Scalable Sample Rate
63
AOT_AAC_LTP
,
///< Y Long Term Prediction
64
AOT_SBR
,
///< Y Spectral Band Replication
65
AOT_AAC_SCALABLE
,
///< N Scalable
66
AOT_TWINVQ
,
///< N Twin Vector Quantizer
67
AOT_CELP
,
///< N Code Excited Linear Prediction
68
AOT_HVXC
,
///< N Harmonic Vector eXcitation Coding
69
AOT_TTSI
= 12,
///< N Text-To-Speech Interface
70
AOT_MAINSYNTH
,
///< N Main Synthesis
71
AOT_WAVESYNTH
,
///< N Wavetable Synthesis
72
AOT_MIDI
,
///< N General MIDI
73
AOT_SAFX
,
///< N Algorithmic Synthesis and Audio Effects
74
AOT_ER_AAC_LC
,
///< N Error Resilient Low Complexity
75
AOT_ER_AAC_LTP
= 19,
///< N Error Resilient Long Term Prediction
76
AOT_ER_AAC_SCALABLE
,
///< N Error Resilient Scalable
77
AOT_ER_TWINVQ
,
///< N Error Resilient Twin Vector Quantizer
78
AOT_ER_BSAC
,
///< N Error Resilient Bit-Sliced Arithmetic Coding
79
AOT_ER_AAC_LD
,
///< N Error Resilient Low Delay
80
AOT_ER_CELP
,
///< N Error Resilient Code Excited Linear Prediction
81
AOT_ER_HVXC
,
///< N Error Resilient Harmonic Vector eXcitation Coding
82
AOT_ER_HILN
,
///< N Error Resilient Harmonic and Individual Lines plus Noise
83
AOT_ER_PARAM
,
///< N Error Resilient Parametric
84
AOT_SSC
,
///< N SinuSoidal Coding
85
AOT_PS
,
///< N Parametric Stereo
86
AOT_SURROUND
,
///< N MPEG Surround
87
AOT_ESCAPE
,
///< Y Escape Value
88
AOT_L1
,
///< Y Layer 1
89
AOT_L2
,
///< Y Layer 2
90
AOT_L3
,
///< Y Layer 3
91
AOT_DST
,
///< N Direct Stream Transfer
92
AOT_ALS
,
///< Y Audio LosslesS
93
AOT_SLS
,
///< N Scalable LosslesS
94
AOT_SLS_NON_CORE
,
///< N Scalable LosslesS (non core)
95
AOT_ER_AAC_ELD
,
///< N Error Resilient Enhanced Low Delay
96
AOT_SMR_SIMPLE
,
///< N Symbolic Music Representation Simple
97
AOT_SMR_MAIN
,
///< N Symbolic Music Representation Main
98
AOT_USAC_NOSBR
,
///< N Unified Speech and Audio Coding (no SBR)
99
AOT_SAOC
,
///< N Spatial Audio Object Coding
100
AOT_LD_SURROUND
,
///< N Low Delay MPEG Surround
101
AOT_USAC
,
///< N Unified Speech and Audio Coding
102
};
103
104
#define MAX_PCE_SIZE 304
///<Maximum size of a PCE including the 3-bit ID_PCE
105
///<marker and the comment
106
107
int
avpriv_copy_pce_data
(
PutBitContext
*pb,
GetBitContext
*gb);
108
109
#endif
/* AVCODEC_MPEG4AUDIO_H */
Generated on Sun Mar 23 2014 23:49:59 for FFmpeg by
1.8.2