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