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
dca.h
Go to the documentation of this file.
1
/*
2
* DCA compatible decoder
3
* Copyright (C) 2004 Gildas Bazin
4
* Copyright (C) 2004 Benjamin Zores
5
* Copyright (C) 2006 Benjamin Larsson
6
* Copyright (C) 2007 Konstantin Shishkov
7
* Copyright (C) 2016 foo86
8
*
9
* This file is part of FFmpeg.
10
*
11
* FFmpeg is free software; you can redistribute it and/or
12
* modify it under the terms of the GNU Lesser General Public
13
* License as published by the Free Software Foundation; either
14
* version 2.1 of the License, or (at your option) any later version.
15
*
16
* FFmpeg is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
* Lesser General Public License for more details.
20
*
21
* You should have received a copy of the GNU Lesser General Public
22
* License along with FFmpeg; if not, write to the Free Software
23
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
*/
25
26
#ifndef AVCODEC_DCA_H
27
#define AVCODEC_DCA_H
28
29
#include <stdint.h>
30
31
#include "
libavutil/internal.h
"
32
#include "
libavutil/intreadwrite.h
"
33
34
enum
DCASpeaker
{
35
DCA_SPEAKER_C
,
DCA_SPEAKER_L
,
DCA_SPEAKER_R
,
DCA_SPEAKER_Ls
,
36
DCA_SPEAKER_Rs
,
DCA_SPEAKER_LFE1
,
DCA_SPEAKER_Cs
,
DCA_SPEAKER_Lsr
,
37
DCA_SPEAKER_Rsr
,
DCA_SPEAKER_Lss
,
DCA_SPEAKER_Rss
,
DCA_SPEAKER_Lc
,
38
DCA_SPEAKER_Rc
,
DCA_SPEAKER_Lh
,
DCA_SPEAKER_Ch
,
DCA_SPEAKER_Rh
,
39
DCA_SPEAKER_LFE2
,
DCA_SPEAKER_Lw
,
DCA_SPEAKER_Rw
,
DCA_SPEAKER_Oh
,
40
DCA_SPEAKER_Lhs
,
DCA_SPEAKER_Rhs
,
DCA_SPEAKER_Chr
,
DCA_SPEAKER_Lhr
,
41
DCA_SPEAKER_Rhr
,
DCA_SPEAKER_Cl
,
DCA_SPEAKER_Ll
,
DCA_SPEAKER_Rl
,
42
DCA_SPEAKER_RSV1
,
DCA_SPEAKER_RSV2
,
DCA_SPEAKER_RSV3
,
DCA_SPEAKER_RSV4
,
43
44
DCA_SPEAKER_COUNT
45
};
46
47
enum
DCASpeakerMask
{
48
DCA_SPEAKER_MASK_C
= 0x00000001,
49
DCA_SPEAKER_MASK_L
= 0x00000002,
50
DCA_SPEAKER_MASK_R
= 0x00000004,
51
DCA_SPEAKER_MASK_Ls
= 0x00000008,
52
DCA_SPEAKER_MASK_Rs
= 0x00000010,
53
DCA_SPEAKER_MASK_LFE1
= 0x00000020,
54
DCA_SPEAKER_MASK_Cs
= 0x00000040,
55
DCA_SPEAKER_MASK_Lsr
= 0x00000080,
56
DCA_SPEAKER_MASK_Rsr
= 0x00000100,
57
DCA_SPEAKER_MASK_Lss
= 0x00000200,
58
DCA_SPEAKER_MASK_Rss
= 0x00000400,
59
DCA_SPEAKER_MASK_Lc
= 0x00000800,
60
DCA_SPEAKER_MASK_Rc
= 0x00001000,
61
DCA_SPEAKER_MASK_Lh
= 0x00002000,
62
DCA_SPEAKER_MASK_Ch
= 0x00004000,
63
DCA_SPEAKER_MASK_Rh
= 0x00008000,
64
DCA_SPEAKER_MASK_LFE2
= 0x00010000,
65
DCA_SPEAKER_MASK_Lw
= 0x00020000,
66
DCA_SPEAKER_MASK_Rw
= 0x00040000,
67
DCA_SPEAKER_MASK_Oh
= 0x00080000,
68
DCA_SPEAKER_MASK_Lhs
= 0x00100000,
69
DCA_SPEAKER_MASK_Rhs
= 0x00200000,
70
DCA_SPEAKER_MASK_Chr
= 0x00400000,
71
DCA_SPEAKER_MASK_Lhr
= 0x00800000,
72
DCA_SPEAKER_MASK_Rhr
= 0x01000000,
73
DCA_SPEAKER_MASK_Cl
= 0x02000000,
74
DCA_SPEAKER_MASK_Ll
= 0x04000000,
75
DCA_SPEAKER_MASK_Rl
= 0x08000000,
76
};
77
78
#define DCA_SPEAKER_LAYOUT_MONO (DCA_SPEAKER_MASK_C)
79
#define DCA_SPEAKER_LAYOUT_STEREO (DCA_SPEAKER_MASK_L | DCA_SPEAKER_MASK_R)
80
#define DCA_SPEAKER_LAYOUT_2POINT1 (DCA_SPEAKER_LAYOUT_STEREO | DCA_SPEAKER_MASK_LFE1)
81
#define DCA_SPEAKER_LAYOUT_3_0 (DCA_SPEAKER_LAYOUT_STEREO | DCA_SPEAKER_MASK_C)
82
#define DCA_SPEAKER_LAYOUT_2_1 (DCA_SPEAKER_LAYOUT_STEREO | DCA_SPEAKER_MASK_Cs)
83
#define DCA_SPEAKER_LAYOUT_3_1 (DCA_SPEAKER_LAYOUT_3_0 | DCA_SPEAKER_MASK_Cs)
84
#define DCA_SPEAKER_LAYOUT_2_2 (DCA_SPEAKER_LAYOUT_STEREO | DCA_SPEAKER_MASK_Ls | DCA_SPEAKER_MASK_Rs)
85
#define DCA_SPEAKER_LAYOUT_5POINT0 (DCA_SPEAKER_LAYOUT_3_0 | DCA_SPEAKER_MASK_Ls | DCA_SPEAKER_MASK_Rs)
86
#define DCA_SPEAKER_LAYOUT_5POINT1 (DCA_SPEAKER_LAYOUT_5POINT0 | DCA_SPEAKER_MASK_LFE1)
87
#define DCA_SPEAKER_LAYOUT_7POINT0_WIDE (DCA_SPEAKER_LAYOUT_5POINT0 | DCA_SPEAKER_MASK_Lw | DCA_SPEAKER_MASK_Rw)
88
#define DCA_SPEAKER_LAYOUT_7POINT1_WIDE (DCA_SPEAKER_LAYOUT_7POINT0_WIDE | DCA_SPEAKER_MASK_LFE1)
89
90
#define DCA_HAS_STEREO(mask) \
91
((mask & DCA_SPEAKER_LAYOUT_STEREO) == DCA_SPEAKER_LAYOUT_STEREO)
92
93
enum
DCARepresentationType
{
94
DCA_REPR_TYPE_LtRt
= 2,
95
DCA_REPR_TYPE_LhRh
= 3
96
};
97
98
enum
DCAExtensionMask
{
99
DCA_CSS_CORE
= 0x001,
100
DCA_CSS_XXCH
= 0x002,
101
DCA_CSS_X96
= 0x004,
102
DCA_CSS_XCH
= 0x008,
103
DCA_CSS_MASK
= 0x00f,
104
DCA_EXSS_CORE
= 0x010,
105
DCA_EXSS_XBR
= 0x020,
106
DCA_EXSS_XXCH
= 0x040,
107
DCA_EXSS_X96
= 0x080,
108
DCA_EXSS_LBR
= 0x100,
109
DCA_EXSS_XLL
= 0x200,
110
DCA_EXSS_RSV1
= 0x400,
111
DCA_EXSS_RSV2
= 0x800,
112
DCA_EXSS_MASK
= 0xff0,
113
};
114
115
enum
DCADownMixType
{
116
DCA_DMIX_TYPE_1_0
,
117
DCA_DMIX_TYPE_LoRo
,
118
DCA_DMIX_TYPE_LtRt
,
119
DCA_DMIX_TYPE_3_0
,
120
DCA_DMIX_TYPE_2_1
,
121
DCA_DMIX_TYPE_2_2
,
122
DCA_DMIX_TYPE_3_1
,
123
124
DCA_DMIX_TYPE_COUNT
125
};
126
127
extern
av_export
const
uint32_t
avpriv_dca_sample_rates
[16];
128
129
/**
130
* Convert bitstream to one representation based on sync marker
131
*/
132
int
avpriv_dca_convert_bitstream
(
const
uint8_t
*
src
,
int
src_size,
uint8_t
*dst,
133
int
max_size);
134
135
#endif
/* AVCODEC_DCA_H */
DCA_CSS_MASK
Definition:
dca.h:103
DCA_REPR_TYPE_LhRh
Definition:
dca.h:95
DCA_SPEAKER_Rh
Definition:
dca.h:38
DCA_SPEAKER_Cl
Definition:
dca.h:41
DCA_EXSS_XBR
Definition:
dca.h:105
DCA_SPEAKER_RSV2
Definition:
dca.h:42
DCA_SPEAKER_Lhr
Definition:
dca.h:40
DCA_SPEAKER_MASK_Oh
Definition:
dca.h:67
DCA_DMIX_TYPE_3_0
Definition:
dca.h:119
DCASpeaker
DCASpeaker
Definition:
dca.h:34
DCA_CSS_XXCH
Definition:
dca.h:100
DCA_SPEAKER_Ls
Definition:
dca.h:35
DCA_SPEAKER_MASK_Lhs
Definition:
dca.h:68
DCA_EXSS_XLL
Definition:
dca.h:109
DCA_DMIX_TYPE_COUNT
Definition:
dca.h:124
DCA_EXSS_MASK
Definition:
dca.h:112
DCA_SPEAKER_MASK_Rhr
Definition:
dca.h:72
DCA_SPEAKER_MASK_Rss
Definition:
dca.h:58
DCA_SPEAKER_MASK_Ll
Definition:
dca.h:74
DCARepresentationType
DCARepresentationType
Definition:
dca.h:93
DCA_SPEAKER_C
Definition:
dca.h:35
DCA_SPEAKER_RSV1
Definition:
dca.h:42
DCA_SPEAKER_Rhs
Definition:
dca.h:40
DCA_SPEAKER_Oh
Definition:
dca.h:39
DCA_SPEAKER_MASK_Ls
Definition:
dca.h:51
DCA_DMIX_TYPE_LtRt
Definition:
dca.h:118
uint8_t
uint8_t
Definition:
audio_convert.c:194
DCA_EXSS_XXCH
Definition:
dca.h:106
DCA_SPEAKER_L
Definition:
dca.h:35
DCA_SPEAKER_MASK_Lc
Definition:
dca.h:59
DCA_EXSS_X96
Definition:
dca.h:107
DCA_SPEAKER_MASK_Rw
Definition:
dca.h:66
DCA_SPEAKER_MASK_LFE1
Definition:
dca.h:53
DCA_SPEAKER_Lss
Definition:
dca.h:37
avpriv_dca_convert_bitstream
int avpriv_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst, int max_size)
Convert bitstream to one representation based on sync marker.
Definition:
dca.c:39
DCA_SPEAKER_Lc
Definition:
dca.h:37
DCA_SPEAKER_Chr
Definition:
dca.h:40
DCA_SPEAKER_MASK_Rsr
Definition:
dca.h:56
DCA_SPEAKER_MASK_Rh
Definition:
dca.h:63
DCA_CSS_XCH
Definition:
dca.h:102
DCA_SPEAKER_Rw
Definition:
dca.h:39
DCA_SPEAKER_Lhs
Definition:
dca.h:40
DCA_SPEAKER_Rc
Definition:
dca.h:38
DCA_SPEAKER_R
Definition:
dca.h:35
DCA_SPEAKER_Rss
Definition:
dca.h:37
DCA_SPEAKER_Rsr
Definition:
dca.h:37
DCA_SPEAKER_Rhr
Definition:
dca.h:41
internal.h
common internal API header
DCA_SPEAKER_MASK_Lss
Definition:
dca.h:57
avpriv_dca_sample_rates
av_export const uint32_t avpriv_dca_sample_rates[16]
Definition:
dca.c:34
intreadwrite.h
DCA_SPEAKER_MASK_Lhr
Definition:
dca.h:71
DCA_EXSS_RSV2
Definition:
dca.h:111
DCA_SPEAKER_MASK_Rs
Definition:
dca.h:52
DCA_SPEAKER_MASK_Lh
Definition:
dca.h:61
DCA_SPEAKER_Ll
Definition:
dca.h:41
src
#define src
Definition:
vp9dsp.c:530
DCA_SPEAKER_RSV4
Definition:
dca.h:42
DCA_SPEAKER_MASK_Rc
Definition:
dca.h:60
DCA_SPEAKER_Rs
Definition:
dca.h:36
av_export
#define av_export
Definition:
internal.h:65
DCA_SPEAKER_MASK_Ch
Definition:
dca.h:62
DCA_SPEAKER_Lsr
Definition:
dca.h:36
DCA_REPR_TYPE_LtRt
Definition:
dca.h:94
DCA_SPEAKER_Lw
Definition:
dca.h:39
DCA_SPEAKER_MASK_R
Definition:
dca.h:50
DCA_SPEAKER_MASK_L
Definition:
dca.h:49
DCA_SPEAKER_COUNT
Definition:
dca.h:44
DCA_SPEAKER_Rl
Definition:
dca.h:41
DCA_EXSS_LBR
Definition:
dca.h:108
DCA_SPEAKER_MASK_C
Definition:
dca.h:48
DCA_DMIX_TYPE_LoRo
Definition:
dca.h:117
DCA_SPEAKER_MASK_Cl
Definition:
dca.h:73
DCA_SPEAKER_MASK_Rl
Definition:
dca.h:75
DCA_DMIX_TYPE_2_1
Definition:
dca.h:120
DCA_CSS_X96
Definition:
dca.h:101
DCA_DMIX_TYPE_1_0
Definition:
dca.h:116
DCA_SPEAKER_MASK_Lw
Definition:
dca.h:65
DCA_CSS_CORE
Definition:
dca.h:99
DCA_DMIX_TYPE_3_1
Definition:
dca.h:122
DCA_SPEAKER_Ch
Definition:
dca.h:38
DCA_SPEAKER_LFE1
Definition:
dca.h:36
DCA_SPEAKER_MASK_Cs
Definition:
dca.h:54
DCA_SPEAKER_MASK_Rhs
Definition:
dca.h:69
DCAExtensionMask
DCAExtensionMask
Definition:
dca.h:98
DCA_SPEAKER_Cs
Definition:
dca.h:36
DCA_DMIX_TYPE_2_2
Definition:
dca.h:121
DCADownMixType
DCADownMixType
Definition:
dca.h:115
DCA_SPEAKER_LFE2
Definition:
dca.h:39
DCA_SPEAKER_MASK_Chr
Definition:
dca.h:70
DCASpeakerMask
DCASpeakerMask
Definition:
dca.h:47
DCA_SPEAKER_Lh
Definition:
dca.h:38
DCA_EXSS_CORE
Definition:
dca.h:104
DCA_SPEAKER_MASK_Lsr
Definition:
dca.h:55
DCA_SPEAKER_MASK_LFE2
Definition:
dca.h:64
DCA_EXSS_RSV1
Definition:
dca.h:110
DCA_SPEAKER_RSV3
Definition:
dca.h:42
Generated on Mon Feb 15 2016 15:20:36 for FFmpeg by
1.8.6