codec: audio type with 5 lossy music formats
[sheet.git] / codec-audio.inc.pl
1 use utf8;
2 +{
3 codec => {
4         mp3 => {
5                 name => '<abbr title="MPEG-1 Audio Layer III">MP3</abbr>',
6                 available => 1991,
7         },
8         vorbis => {
9                 name => 'Vorbis',
10                 available => 2000,
11         },
12         opus => {
13                 name => 'Opus',
14                 available => 2012,
15         },
16         aac => {
17                 name => '<abbr title="Advanced Audio Coding">AAC</abbr>',
18                 available => 1997,
19         },
20         atrac => {
21                 name => '<abbr title="Adaptive Transform Acoustic Coding">ATRAC</abbr>',
22                 available => 1992,
23         },
24 },
25 feature => {
26         default => {
27                 children => [qw( quality limits royalties support )],
28         },
29         quality => {
30                 name => 'compression quality',
31                 children => [qw( quality_music quality_speech quality_ll )],
32                 score => {
33                 },
34         },
35         quality_music => {
36                 name => 'music',
37                 score => {
38                         mp3  => 3,
39                         atrac => 2,
40                         vorbis => 4,
41                         aac  => 5,
42                         opus => 5,
43                 },
44         },
45         quality_speech => {
46                 name => 'speech',
47                 score => {
48                         mp3  => 3,
49                 },
50         },
51         quality_ll => {
52                 name => 'lossless',
53                 score => {
54                         mp3  => 'n',
55                         vorbis => 'n',
56                         opus => 'n',
57                         flac => 4,
58                 },
59         },
60         limits => {
61                 children => [qw( channels bitrate latency peeling )],
62                 score => {
63                 },
64         },
65         channels => {
66                 score => {
67                         mp3  => [3, 6, 'stereo, extended to upto 5.1'],
68                         vorbis => [4, 255],
69                         opus => [4, 255],
70                 },
71         },
72         peeling => {
73                 name => 'bitrate peeling',
74                 score => {
75                         vorbis => [3, undef, 'yes but "unusable" quality'],
76                         mp3  => 'n',
77                         opus => 'n',
78                         aac  => 'n',
79                 },
80         },
81         latency => {
82                 name => 'frame size (ms)',
83                 score => {
84                         mp3 => [3, 26, 'typical version and layer has 1152 samples at 44kHz'],
85                         opus => [5, 2.5],
86                 },
87         },
88         bitrate => {
89                 name => 'minimal bitrate',
90                 score => {
91                         mp3 => [4, 8],
92                         opus => [4, 6],
93                 },
94         },
95         royalties => {
96                 score => {
97                         mp3  => [5, undef, 'expired'],
98                         vorbis => 5,
99                         opus => [4, undef, 'open and free design'],
100                         atrac => [2, undef, 'proprietary, but the original patents have expired'],
101                 },
102         },
103         support => {
104                 score => {
105                         mp3  => 5,
106                         vorbis => 4,
107                         aac  => 4,
108                         opus => 4,
109                         atrac => 1,
110                 },
111         },
112 },
113 }