index: release v1.18 with only altgr index linked
[sheet.git] / codec-audio.inc.pl
1 use utf8;
2 +{
3 intro => 'Comparison of audio compression formats.',
4 keywords => [qw( audio sound codec encoder encoding decode compression file format type mime )],
5 codec => {
6         mp3 => {
7                 name => '<abbr title="MPEG-1 Audio Layer III">MP3</abbr>',
8                 available => 1991,
9                 generation => 0,
10         },
11         vorbis => {
12                 name => 'Vorbis',
13                 available => 2000,
14                 generation => 1,
15         },
16         opus => {
17                 name => 'Opus',
18                 available => 2012,
19                 generation => 1,
20         },
21         aac => {
22                 name => '<abbr title="Advanced Audio Coding">AAC</abbr>',
23                 available => 1997,
24                 generation => 1,
25         },
26         atrac => {
27                 name => '<abbr title="Adaptive Transform Acoustic Coding">ATRAC</abbr>',
28                 available => 1992,
29                 generation => 0,
30         },
31         mpc => {
32                 name => 'Musepack',
33                 abbr => 'MPC',
34                 mime => 'audio/musepack',
35                 available => 1997,
36                 generation => 1,
37         },
38 },
39 feature => {
40         default => {
41                 children => [qw( quality limits royalties support )],
42         },
43         quality => {
44                 name => 'compression quality',
45                 children => [qw( quality_music quality_speech quality_ll )],
46                 score => {
47                 },
48         },
49         quality_music => {
50                 name => 'music',
51                 score => {
52                         mp3  => 3,
53                         atrac => 2,
54                         vorbis => 4,
55                         aac  => 5,
56                         opus => 5,
57                 },
58         },
59         quality_speech => {
60                 name => 'speech',
61                 score => {
62                         mp3  => 3,
63                 },
64         },
65         quality_ll => {
66                 name => 'lossless',
67                 score => {
68                         mp3  => 'n',
69                         vorbis => 'n',
70                         opus => 'n',
71                         flac => 4,
72                 },
73         },
74         limits => {
75                 children => [qw( channels bitrate latency peeling )],
76                 score => {
77                 },
78         },
79         channels => {
80                 score => {
81                         mp3  => [3, 6, 'stereo, extended to upto 5.1'],
82                         vorbis => [4, 255],
83                         opus => [4, 255],
84                 },
85         },
86         peeling => {
87                 name => 'bitrate peeling',
88                 score => {
89                         vorbis => [3, undef, 'yes but "unusable" quality'],
90                         mp3  => 'n',
91                         opus => 'n',
92                         aac  => 'n',
93                 },
94         },
95         latency => {
96                 name => 'frame size (ms)',
97                 score => {
98                         mp3 => [3, 26, 'typical version and layer has 1152 samples at 44kHz'],
99                         opus => [5, 2.5],
100                 },
101         },
102         bitrate => {
103                 name => 'minimal bitrate',
104                 score => {
105                         mp3 => [4, 8],
106                         opus => [4, 6],
107                         mpc => [5, 0],
108                 },
109         },
110         steaming => {
111                 name => 'Streamable',
112                 score => {
113                         mpc => 'y',
114                 },
115         },
116         seeking => {
117                 name => 'Fast seeking',
118                 score => {
119                         mpc => [5, undef, 'indexed'],
120                         opus => [3, undef, 'bisection seeking (usually 1 physical seek required if implemented correctly)'],
121                 },
122         },
123         royalties => {
124                 score => {
125                         mp3  => [5, undef, 'expired'],
126                         vorbis => 5,
127                         opus => [4, undef, 'open and free design'],
128                         atrac => [2, undef, 'proprietary, but the original patents have expired'],
129                         mpc => [5, undef, 'open format, bsd licensed implementation'],
130                 },
131         },
132         support => {
133                 score => {
134                         mp3  => 5,
135                         vorbis => 4,
136                         aac  => 4,
137                         opus => 4,
138                         atrac => 1,
139                 },
140         },
141 },
142 }