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
aacdectab.h
Go to the documentation of this file.
1
/*
2
* AAC decoder data
3
* Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4
* Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
/**
24
* @file
25
* AAC decoder data
26
* @author Oded Shimon ( ods15 ods15 dyndns org )
27
* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28
*/
29
30
#ifndef AVCODEC_AACDECTAB_H
31
#define AVCODEC_AACDECTAB_H
32
33
#include "
libavutil/channel_layout.h
"
34
#include "
aac.h
"
35
36
#include <stdint.h>
37
38
/* @name ltp_coef
39
* Table of the LTP coefficients
40
*/
41
static
const
INTFLOAT
ltp_coef
[8] = {
42
Q30
(0.570829f),
Q30
(0.696616f),
Q30
(0.813004f),
Q30
(0.911304f),
43
Q30
(0.984900f),
Q30
(1.067894f),
Q30
(1.194601f),
Q30
(1.369533f),
44
};
45
46
static
const
int8_t
tags_per_config
[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 4, 5, 0, 5, 0 };
47
48
static
const
uint8_t
aac_channel_layout_map
[16][5][3] = {
49
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, },
50
{ {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, },
51
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, },
52
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_SCE
, 1,
AAC_CHANNEL_BACK
}, },
53
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 1,
AAC_CHANNEL_BACK
}, },
54
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 1,
AAC_CHANNEL_BACK
}, {
TYPE_LFE
, 0,
AAC_CHANNEL_LFE
}, },
55
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 1,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 2,
AAC_CHANNEL_BACK
}, {
TYPE_LFE
, 0,
AAC_CHANNEL_LFE
}, },
56
{ { 0, } },
57
{ { 0, } },
58
{ { 0, } },
59
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 1,
AAC_CHANNEL_BACK
}, {
TYPE_SCE
, 1,
AAC_CHANNEL_BACK
}, {
TYPE_LFE
, 0,
AAC_CHANNEL_LFE
}, },
60
{ {
TYPE_SCE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 0,
AAC_CHANNEL_FRONT
}, {
TYPE_CPE
, 1,
AAC_CHANNEL_SIDE
}, {
TYPE_CPE
, 2,
AAC_CHANNEL_BACK
}, {
TYPE_LFE
, 0,
AAC_CHANNEL_LFE
}, },
61
{ { 0, } },
62
/* TODO: Add 7+1 TOP configuration */
63
};
64
65
static
const
uint64_t
aac_channel_layout
[16] = {
66
AV_CH_LAYOUT_MONO
,
67
AV_CH_LAYOUT_STEREO
,
68
AV_CH_LAYOUT_SURROUND
,
69
AV_CH_LAYOUT_4POINT0
,
70
AV_CH_LAYOUT_5POINT0_BACK
,
71
AV_CH_LAYOUT_5POINT1_BACK
,
72
AV_CH_LAYOUT_7POINT1_WIDE_BACK
,
73
0,
74
0,
75
0,
76
AV_CH_LAYOUT_6POINT1
,
77
AV_CH_LAYOUT_7POINT1
,
78
0,
79
/* AV_CH_LAYOUT_7POINT1_TOP, */
80
};
81
82
#endif
/* AVCODEC_AACDECTAB_H */
AV_CH_LAYOUT_7POINT1
#define AV_CH_LAYOUT_7POINT1
Definition:
channel_layout.h:107
tags_per_config
static const int8_t tags_per_config[16]
Definition:
aacdectab.h:46
AV_CH_LAYOUT_6POINT1
#define AV_CH_LAYOUT_6POINT1
Definition:
channel_layout.h:102
AV_CH_LAYOUT_SURROUND
#define AV_CH_LAYOUT_SURROUND
Definition:
channel_layout.h:89
TYPE_SCE
Definition:
aac.h:56
TYPE_CPE
Definition:
aac.h:57
AV_CH_LAYOUT_4POINT0
#define AV_CH_LAYOUT_4POINT0
Definition:
channel_layout.h:91
ltp_coef
static const INTFLOAT ltp_coef[8]
Definition:
aacdectab.h:41
AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_STEREO
Definition:
channel_layout.h:86
uint8_t
uint8_t
Definition:
audio_convert.c:194
Q30
#define Q30(x)
Definition:
aac_defines.h:93
INTFLOAT
#define INTFLOAT
Definition:
aac_defines.h:85
TYPE_LFE
Definition:
aac.h:59
AAC_CHANNEL_LFE
Definition:
aac.h:99
aac_channel_layout
static const uint64_t aac_channel_layout[16]
Definition:
aacdectab.h:65
channel_layout.h
audio channel layout utility functions
aac.h
AAC definitions and structures.
AV_CH_LAYOUT_5POINT1_BACK
#define AV_CH_LAYOUT_5POINT1_BACK
Definition:
channel_layout.h:98
AAC_CHANNEL_SIDE
Definition:
aac.h:97
AV_CH_LAYOUT_7POINT1_WIDE_BACK
#define AV_CH_LAYOUT_7POINT1_WIDE_BACK
Definition:
channel_layout.h:109
AAC_CHANNEL_BACK
Definition:
aac.h:98
AV_CH_LAYOUT_5POINT0_BACK
#define AV_CH_LAYOUT_5POINT0_BACK
Definition:
channel_layout.h:97
AAC_CHANNEL_FRONT
Definition:
aac.h:96
AV_CH_LAYOUT_MONO
#define AV_CH_LAYOUT_MONO
Definition:
channel_layout.h:85
aac_channel_layout_map
static const uint8_t aac_channel_layout_map[16][5][3]
Definition:
aacdectab.h:48
Generated on Thu Sep 10 2015 11:38:55 for FFmpeg by
1.8.6