blob: 8062694e320bca76d534b513893dbc0321c18124 [file] [log] [blame]
Dominik Riebeling251e5192006-08-02 17:21:38 +00001% $Id$ %
2\chapter{File formats}
3\section{\label{ref:Supportedfileformats}Supported file formats}
Alexander Levin90f21b32011-05-10 20:19:34 +00004\begin{rbtabular}{\textwidth}{cl>{\raggedright}p{7em}X}%
Alexander Levinfb87e892009-08-24 21:22:18 +00005{\textbf{Icon} & \textbf{File Type} & \textbf{Extension}
6 & \textbf{Action when selected}}{}{}
Dominik Riebeling251e5192006-08-02 17:21:38 +00007\includegraphics[width=0.37cm]{appendix/images/icon-directory.png}
Alexander Levin90f21b32011-05-10 20:19:34 +00008 & Directory & \emph{none} & Enter the directory \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +00009\opt{recorder,recorderv2fm,ondiofm,ondiosp}{
10 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000011 & Rockbox firmware & \fname{.ajz} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000012}
13\opt{swcodec}{
14 \includegraphics[width=0.37cm]{appendix/images/icon-audio-file.png}
15 & Audio file & \emph{various}\newline%
16 (see \ref{ref:Supportedaudioformats})%
Dominik Riebeling0eea6ce2009-04-02 19:21:15 +000017 % do NOT use \reference{} here as that will break the table.
Alexander Levin90f21b32011-05-10 20:19:34 +000018 & Start playing the file and show the WPS\tabularnewline
Nils Wallméniusa7210832008-08-11 22:47:17 +000019}
Alexander Levin90f21b32011-05-10 20:19:34 +000020 & Bookmark & \fname{.bmark} & Display all bookmarks for an audio file\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000021\opt{lcd_bitmap}{
22 & Game of Life & \fname{.cells} & Show the configuration with the
Alexander Levin90f21b32011-05-10 20:19:34 +000023 ``Rocklife'' plugin\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000024}
Dominik Riebeling251e5192006-08-02 17:21:38 +000025\includegraphics[width=0.37cm]{appendix/images/icon-config.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000026 & Configuration File & \fname{.cfg} & Load the settings file\tabularnewline
Dominik Riebeling251e5192006-08-02 17:21:38 +000027\includegraphics[width=0.37cm]{appendix/images/icon-chip8.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000028 & Chip8 game & \fname{.ch8} & Play the Chip8 game \tabularnewline
Alexander Levin71812ca2009-03-20 19:33:20 +000029\opt{lcd_color}{
30 & Colours & \fname{.colours} & Open the colours file for editing.
Alexander Levin90f21b32011-05-10 20:19:34 +000031 See \reference{ref:ChangingFiletypeColours}.\tabularnewline
Alexander Levin71812ca2009-03-20 19:33:20 +000032}
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000033\includegraphics[width=0.37cm]{appendix/images/icon-cuesheet.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000034 & Cuesheet & \fname{.cue} & View the cuesheet file \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000035\opt{radio}{
Alexander Levin90f21b32011-05-10 20:19:34 +000036 & FM Presets & \fname{.fmr} & Load the FM Presets (previous are discarded)\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000037}
38\includegraphics[width=0.37cm]{appendix/images/icon-font.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000039 & Font & \fname{.fnt} & Change the user interface font to this one\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000040\opt{gigabeat}{
41 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000042 & Rockbox firmware & \fname{.gigabeat} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000043}
44\opt{iaudio}{
45 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000046 & Rockbox firmware & \fname{.iaudio} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000047}
48\opt{ipod}{
49 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000050 & Rockbox firmware & \fname{.ipod} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000051}
Marianne Arnoldb43b4932011-01-17 18:30:18 +000052\opt{iriverh100,iriverh300}{
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000053 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000054 & Rockbox firmware & \fname{.iriver} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000055}
56\includegraphics[width=0.37cm]{appendix/images/icon-image-file.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000057 & Image & \fname{.jpg} & View the JPEG image \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000058 & Link & \fname{.link} & Display list of target files and directories;
Alexander Levin90f21b32011-05-10 20:19:34 +000059 selecting one jumps to the target. See \reference{ref:Shortcutsplugin}.\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000060\includegraphics[width=0.37cm]{appendix/images/icon-lang.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000061 & Language File & \fname{.lng} & Load the language file \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000062\includegraphics[width=0.37cm]{appendix/images/icon-playlist.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000063 & Playlist & \fname{.m3u}, \fname{.m3u8} & Load the playlist and start playing
64 the first file \tabularnewline
Marianne Arnoldb43b4932011-01-17 18:30:18 +000065\opt{iriverh10,iriverh10_5gb,sansa,vibe500}{
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000066 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000067 & Rockbox firmware & \fname{.mi4} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000068}
69\opt{player}{
70 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000071 & Rockbox firmware & \fname{.mod} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000072}
73\opt{masd,masf}{
74 \includegraphics[width=0.37cm]{appendix/images/icon-audio-file.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000075 & Audio file & \fname{.mp2}, \fname{.mp3} & Start playing the file and show the WPS\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000076}
77\opt{swcodec}{
78 \includegraphics[width=0.37cm]{appendix/images/icon-movie-file.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000079 & Video & \fname{.mpg}, \fname{.mpeg}, \fname{.mpv}, \fname{.m2v} & Play the MPEG1/2 video \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000080}
81\includegraphics[width=0.37cm]{appendix/images/icon-rock.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000082 & Plugin & \fname{.rock} & Start the plugin\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000083\opt{masf}{\opt{lcd_bitmap}{
84 \includegraphics[width=0.37cm]{appendix/images/icon-movie-file.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000085 & Rockbox Video & \fname{.rvf} & View the movie (Rockbox format)\tabularnewline}
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000086}
87\opt{sansaAMS}{
88 \includegraphics[width=0.37cm]{appendix/images/icon-rolo.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000089 & Rockbox firmware & \fname{.sansa} & Load the new firmware with ROLO \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000090}
91\includegraphics[width=0.37cm]{appendix/images/icon-text.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000092 & Text File & \fname{.txt} & Display the text file using the text viewer plugin\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000093\opt{archos}{
94 \includegraphics[width=0.37cm]{appendix/images/icon-ucl.png}
Alexander Levin90f21b32011-05-10 20:19:34 +000095 & Flash Image & \fname{.ucl} & Flash the Rockbox image into the ROM \tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000096 }
Alexander Levin90f21b32011-05-10 20:19:34 +000097 & Voice file & \fname{.voice} & Allow Rockbox to speak menus\tabularnewline
Yoshihisa Uchida50b03632010-02-28 10:42:56 +000098\opt{masf}{
99 \includegraphics[width=0.37cm]{appendix/images/icon-wav-file.png}
Alexander Levin90f21b32011-05-10 20:19:34 +0000100 & Wave Audio File & \fname{.wav} & Play the WAV file \tabularnewline%
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000101}
102\includegraphics[width=0.37cm]{appendix/images/icon-wps.png}
Alexander Levin90f21b32011-05-10 20:19:34 +0000103 & While Playing Screen & \fname{.wps} & Load the new WPS display configuration\tabularnewline
Alexander Levinfb87e892009-08-24 21:22:18 +0000104\end{rbtabular}
Dominik Riebeling251e5192006-08-02 17:21:38 +0000105
Nils Wallméniusa7210832008-08-11 22:47:17 +0000106\opt{swcodec}{
Andree Buschmann0101c702011-05-17 20:50:26 +0000107 \chapter{Audio and metadata formats}
Nils Wallméniusa7210832008-08-11 22:47:17 +0000108 \section{\label{ref:Supportedaudioformats}Supported audio formats}
Alexander Levin6a62e222010-03-01 21:10:04 +0000109 \subsection{Lossy Codecs}
Alexander Levin90f21b32011-05-10 20:19:34 +0000110 \begin{rbtabular}{\textwidth}{l>{\raggedright}p{6em}X}%
Alexander Levinfb87e892009-08-24 21:22:18 +0000111 {\textbf{Format} & \textbf{Extension} & \textbf{Notes}}{}{}
Andree Buschmann0101c702011-05-17 20:50:26 +0000112 ATSC A/52 (AC3)
113 & \fname{.a52}, \fname{.ac3}, \fname{.rm}, \fname{.ra}, \fname{.rmvb}
114 & Supports downmixing for playback of 5.1 streams in stereo\\
115 ADX
116 & \fname{.adx}
117 & \\
118 Advanced Audio Coding
119 & \fname{.m4a}, \fname{.m4b}, \fname{.mp4}, \fname{.rm}, \fname{.ra}, \fname{.rmvb}
120 \nopt{clipv1,c200v2}{
121 & Supports AAC-LC, -HEv1, and -HEv2 profiles\\}
122 \opt{clipv1,c200v2}{ % low memory targets (CODEC_SIZE <= 512 KB)
123 & Supports AAC-LC profile\\}
124 MPEG audio
125 & \fname{.mpa}, \fname{.mp1}, \fname{.mp2}, \fname{.mp3}
126 & MPEG 1/2/2.5 Layer 1/2/3\\
127 Musepack
128 & \fname{.mpc}
129 & Supports SV7 and SV8 in mono/stereo \\
130 OGG/Vorbis
131 & \fname{.ogg}, \fname{.oga}
132 & Playback of some old ``floor 0'' files may fail on low memory targets.
133 Files with album art larger than available RAM will be skipped.
134 Chained Ogg files are not supported.\\
135 Sony Audio
136 & \fname{.oma}, \fname{.aa3}, \fname{.rm}, \fname{.ra}, \fname{.rmvb}
137 & Supports ATRAC3\\
138 RealAudio
139 & \fname{.rm}, \fname{.ra}, \fname{.rmvb}
140 & Supports RealAudio G2 (Cook)\\
141 Speex
142 & \fname{.spx}
143 & \\
144 Dialogic telephony type
145 & \fname{.vox}
146 & \\
147 Windows Media Audio Standard
148 & \fname{.wma}, \fname{.wmv}, \fname{.asf}
149 & \\
150 Windows Media Audio Professional
151 & \fname{.wma}, \fname{.wmv}, \fname{.asf}
152 & \\
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000153 \end{rbtabular}
Andree Buschmann0101c702011-05-17 20:50:26 +0000154
155 \note{AAC-HE profiles might not play in realtime on all devices due to CPU
156 performance requirements.}
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000157
Alexander Levin6a62e222010-03-01 21:10:04 +0000158 \subsection{Lossless Codecs}
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000159 \begin{rbtabular}{\textwidth}{lp{6em}X}%
160 {\textbf{Format} & \textbf{Extension} & \textbf{Notes}}{}{}
Andree Buschmann0101c702011-05-17 20:50:26 +0000161 Audio Interchange File Format
162 & \fname{.aif}, \fname{.aiff}
163 & Linear PCM 8/16/24/32 bit, IEEE float 32/64 bit, ITU-T G.711 a-law/$\mu$-law,
164 QuickTime IMA ADPCM\\
165 Monkey's Audio
166 & \fname{.ape}, \fname{.mac}
Marianne Arnold892cc662011-05-20 05:50:01 +0000167 &
Andree Buschmann0101c702011-05-17 20:50:26 +0000168 \opt{gigabeatf,iriverh100,iriverh300,iaudiox5,iaudiom5,iaudiom3,ipodnano2g,clipv1}{
Marianne Arnold892cc662011-05-20 05:50:01 +0000169 -c1000 to -c3000 files decode fast enough to be useful.}
170 \opt{gigabeats}{}
171 \opt{ipod,iriverh10,iriverh10_5gb,mrobe100,sansa,vibe500}{
Andree Buschmann271fdb62011-05-20 06:30:22 +0000172 \nopt{ipodnano2g}{Only -c1000 files decode fast enough to be useful.}}
Marianne Arnold892cc662011-05-20 05:50:01 +0000173 \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000174 Sun Audio
175 & \fname{.au}, \fname{.snd}
176 & Linear PCM 8/16/24/32 bit, IEEE float 32/64 bit, ITU-T G.711 a-law/$\mu$-law\\
177 Free Lossless Audio
178 & \fname{.flac}
179 & \\
180 Apple Lossless
181 & \fname{.m4a}, \fname{.mp4}
182 & \\
183 Shorten
184 & \fname{.shn}
185 & Seeking not supported.\\
186 True Audio
187 & \fname{.tta}
188 & \\
189 Wave64
190 & \fname{.w64}
191 & Supports same formats as Waveform audio format.\\
192 Waveform audio format
193 & \fname{.wav}
194 & Linear PCM 8/16/24/32 bit, IEEE float 32/64 bit, ITU-T G.711 a-law/$\mu$-law,
195 Microsoft ADPCM, Intel DVI ADPCM (IMA ADPCM) 2/3/4/5 bit, Dialogic OKI ADPCM,
196 YAMAHA ADPCM, Adobe SWF ADPCM\\
197 Wavpack
198 & \fname{.wv}
199 & \\
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000200 \end{rbtabular}
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000201
Alexander Levin6a62e222010-03-01 21:10:04 +0000202 \subsection{Other Codecs}
Alexander Levin90f21b32011-05-10 20:19:34 +0000203 \begin{rbtabular}{\textwidth}{l>{\raggedright}p{6em}X}%
Yoshihisa Uchida50b03632010-02-28 10:42:56 +0000204 {\textbf{Format} & \textbf{Extension} & \textbf{Notes}}{}{}
Andree Buschmann0101c702011-05-17 20:50:26 +0000205 Atari Sound Format
206 & \fname{.cmc}, \fname{.cm3}, \fname{.cmr}, \fname{.cms}, \fname{.dmc},
207 \fname{.dlt}, \fname{.mpt}, \fname{.mpd}
208 & \\
209 Synthetic music Mobile Application Format
210 & \fname{.mmf}
211 & PCM/ADPCM only \\
Andree Buschmannacb09172011-08-07 20:01:04 +0000212 Game Boy Sound Format
213 & \fname{.gbs}
214 & Progress bar and seek use subtracks instead of seconds.\\
215 AY Sound Chip Music
216 & \fname{.ay}
217 & Progress bar and seek use subtracks instead of seconds for
218 multitrack files.\\
219 Hudson Entertainment System Sound Format
220 & \fname{.hes}
221 & Progress bar and seek use subtracks instead of seconds.\\
Andree Buschmann2bd24902011-08-07 21:12:21 +0000222 \nopt{clipv1,c200v2}{
Andree Buschmannacb09172011-08-07 20:01:04 +0000223 MSX Konami Sound System
224 & \fname{.kss}
Andree Buschmann724a2d22011-08-12 21:36:29 +0000225 & Progress bar and seek use subtracks instead of seconds.\\}
Andree Buschmannacb09172011-08-07 20:01:04 +0000226 SMS/GG/CV Sound Format
227 & \fname{.sgc}
228 & Supports Sega Master System and Game Gear Sound Format.
229 Progress bar and seek use subtracks instead of seconds.\\
230 Video Game Music Format
231 & \fname{.vgm}
232 & \\
233 Gzipped Video Game Music Format
234 & \fname{.vgz}
Andree Buschmann4d01ace2011-08-17 22:20:09 +0000235 & \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000236 MOD
237 & \fname{.mod}
238 & \\
239 NES Sound Format
240 & \fname{.nsf}, \fname{.nsfe}
Andree Buschmann724a2d22011-08-12 21:36:29 +0000241 & Progress bar and seek use subtracks instead of seconds.\\
Andree Buschmann0101c702011-05-17 20:50:26 +0000242 Atari SAP
243 & \fname{.sap}
244 & \\
245 Sound Interface Device
246 & \fname{.sid}
Andree Buschmann2d403102011-05-19 20:21:48 +0000247 & Progress bar and seek use subtracks instead of seconds.\\
Andree Buschmann0101c702011-05-17 20:50:26 +0000248 SPC700
249 & \fname{.spc}
250 & \\
Alexander Levinfb87e892009-08-24 21:22:18 +0000251 \end{rbtabular}
Alexander Levin526346b2011-05-09 20:34:14 +0000252
Andree Buschmann4d01ace2011-08-17 22:20:09 +0000253 \note{NSF and VGM might not play in realtime on all devices due to CPU
254 performance requirements.}
255
Andree Buschmann2d403102011-05-19 20:21:48 +0000256 \subsection{Codec featureset}
Andree Buschmannacb09172011-08-07 20:01:04 +0000257 \begin{rbtabular}{.95\textwidth}{lXXX}%
Andree Buschmann2d403102011-05-19 20:21:48 +0000258 {\textbf{Format} & \textbf{Seek} & \textbf{Resume} & \textbf{Gapless}}{}{}
259 ATSC A/52 (AC3) & x & x & \\
260 ADX & x & & \\
Andree Buschmann78cd0c52011-05-19 21:49:25 +0000261 Advanced Audio Coding & x & x & x \\
Andree Buschmann2d403102011-05-19 20:21:48 +0000262 MPEG audio & x & x & x \\
263 Musepack & x & x & x \\
264 OGG/Vorbis & x & x & x \\
265 Sony Audio & x & x & \\
266 RealAudio & x & x & \\
267 Dialogic telephony type & x & x & \\
268 Windows Media Audio Standard & x & x & \\
269 Windows Media Audio Professional & x & x & \\
270 Audio Interchange File Format & x & x & x \\
271 Monkey's Audio & x & x & x \\
272 Sun Audio & x & x & x \\
273 Free Lossless Audio & x & x & x \\
274 Apple Lossless & x & x & x \\
275 Shorten & & & x \\
276 True Audio & x & x & x \\
277 Wave64 & x & x & x \\
278 Waveform audio format & x & x & x \\
279 Wavpack & x & x & x \\
280 Atari Sound Format & x & & \\
281 Synthetic music Mobile Application Format & x & x & \\
Andree Buschmannacb09172011-08-07 20:01:04 +0000282 Game Boy Sound Format & x & & \\
283 AY Sound Chip Music & x & & \\
284 Hudson Entertainment System Sound Format & x & & \\
285 MSX Konami Sound System & x & & \\
286 SMS/GG/CV Sound Format & x & & \\
287 Video Game Music Format & x & x & \\
288 Gzipped Video Game Music Format & x & x & \\
Andree Buschmann2d403102011-05-19 20:21:48 +0000289 MOD & x & & \\
290 NES Sound Format & x & & \\
291 Atari SAP & x & & \\
292 Sound Interface Device & x & & \\
293 SPC700 & x & & \\
294 \end{rbtabular}
295
Andree Buschmannacb09172011-08-07 20:01:04 +0000296 \note{The seek implementations of NES Sound Format, Sound Interface Device,
297 Game Boy Sound Format, AY Sound Chip Music, Hudson Entertainment System Sound,
298 Format, MSX Konami Sound System and SMS/GG/CV Sound Format use subtracks
299 instead of seconds, whereas each subtrack equals a second.}
Andree Buschmann2d403102011-05-19 20:21:48 +0000300
Alexander Levin526346b2011-05-09 20:34:14 +0000301 \section{\label{ref:SupportedMetadata}Supported metadata tags}
302 Rockbox supports different metadata formats. In general those tag formats
Andree Buschmann0101c702011-05-17 20:50:26 +0000303 are ID3 (v1.0, v1.1, v2.2, v2.3 and v2.4), APE (v1 and v2), Vorbis, MP4 and
304 ASF. Few codecs use codec specific tags, several codecs do not use any tags
305 yet. The following table gives an overview about what tag types rockbox
306 supports for which audio file extension.
Alexander Levin526346b2011-05-09 20:34:14 +0000307
308 \note{There is always only \emph{one} tag type supported for each file
309 extension.}
310
311 \begin{rbtabular}{\textwidth}{lX}%
Andree Buschmann0101c702011-05-17 20:50:26 +0000312 {\textbf{Tag type} & \textbf{File extension}}{}{}
313 ID3 & \fname{.mp1}, \fname{.mpa}, \fname{.mp2}, \fname{.mp3},
314 \fname{.rm}, \fname{.ra}, \fname{.rmvb}, \fname{.tta} \\
315 APE & \fname{.mpc}, \fname{.ape}, \fname{.mac}, \fname{.wv} \\
316 Vorbis & \fname{.ogg}, \fname{.oga}, \fname{.spx}, \fname{.flac} \\
317 MP4 & \fname{.m4a}, \fname{.m4b}, \fname{.mp4} \\
318 ASF & \fname{.wma}, \fname{.wmv}, \fname{.asf} \\
319 Codec specific & \fname{.mmf}, \fname{.mod}, \fname{.nsf}, \fname{.nsfe},
Andree Buschmannacb09172011-08-07 20:01:04 +0000320 \fname{.sap}, \fname{.sid}, \fname{.spc}, \fname{.gbs},
321 \fname{.ay}, \fname{.kss}, \fname{.sgc}, \fname{.vgm} \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000322 None & \fname{.a52}, \fname{.ac3}, \fname{.adx}, \fname{.oma},
323 \fname{.aa3}, \fname{.aif}, \fname{.aiff}, \fname{.au},
324 \fname{.snd}, \fname{.shn}, \fname{.vox}, \fname{.w64},
325 \fname{.wav}, \fname{.cmc}, \fname{.cm3}, \fname{.cmr},
326 \fname{.cms}, \fname{.dmc}, \fname{.dlt}, \fname{.mpt},
Andree Buschmannacb09172011-08-07 20:01:04 +0000327 \fname{.mpd}, \fname{.hes}, \fname{.vgz} \\
Alexander Levin526346b2011-05-09 20:34:14 +0000328 \end{rbtabular}
Andree Buschmann0101c702011-05-17 20:50:26 +0000329
330 \subsection{Featureset for generic metadata tags}
Andree Buschmann2d403102011-05-19 20:21:48 +0000331 \begin{rbtabular}{0.80\textwidth}{lXXXXX}%
Andree Buschmann0101c702011-05-17 20:50:26 +0000332 {\textbf{Feature} & \textbf{ID3} & \textbf{APE} & \textbf{Vorbis} &
333 \textbf{MP4} & \textbf{ASF}}{}{}
334 Embedded albumart \fname{.bmp} & & & & & \\
Andree Buschmann93c6f132011-08-07 15:23:57 +0000335 Embedded albumart \fname{.jpg} & x & x & & x & x \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000336 Embedded albumart \fname{.png} & & & & & \\
337 Replaygain information & x & x & x & x & x \\
338 Title (string) & x & x & x & x & x \\
339 Artist (string) & x & x & x & x & x \\
340 Album (string) & x & x & x & x & x \\
341 Genre (string) & x & x & x & x & x \\
342 Disc (string or number) & x & x & x & x & \\
343 Track (string or number) & x & x & x & x & x \\
344 Year (string or number) & x & x & x & x & x \\
345 Composer (string) & & x & x & x & x \\
346 Comment (string) & x & x & x & x & x \\
347 Albumartist (string) & x & x & x & x & x \\
348 Grouping (string) & & x & x & x & \\
349 \end{rbtabular}
350
Andree Buschmann93c6f132011-08-07 15:23:57 +0000351 \note{Embedded album art for ASF is limited to pictures of maximum 64 KB size.}
352
Andree Buschmann0101c702011-05-17 20:50:26 +0000353 \subsection{Featureset for codec specific metadata}
354 \begin{rbtabular}{\textwidth}{lX}%
355 {\textbf{Feature} & \textbf{Codec specific metadata (file extension)}}{}{}
356 Embedded \fname{.bmp} & None \\
357 Embedded \fname{.jpg} & None \\
358 Embedded \fname{.png} & None \\
359 Replaygain & \fname{.mpc}\\
360 Title & \fname{.tta}, \fname{.spc}, \fname{.mmf}, \fname{.sid},
361 \fname{.rm}, \fname{.ra}, \fname{.rmvb}, \fname{.nsf},
Andree Buschmannacb09172011-08-07 20:01:04 +0000362 \fname{.nsfe}, \fname{.mod}, \fname{.sap}, \fname{.gbs},
363 \fname{.ay}, \fname{.sgc}, \fname{.vgm} \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000364 Artist & \fname{.tta}, \fname{.spc}, \fname{.mmf}, \fname{.sid},
365 \fname{.rm}, \fname{.ra}, \fname{.rmvb}, \fname{.nsf},
Andree Buschmannacb09172011-08-07 20:01:04 +0000366 \fname{.nsfe}, \fname{.sap}, \fname{.gbs}, \fname{.ay},
367 \fname{.sgc}, \fname{.vgm} \\
368 Album & \fname{.spc}, \fname{.sid}, \fname{.nsf}, \fname{.nsfe},
369 \fname{.gbs}, \fname{.ay}, \fname{.sgc}, \fname{.vgm} \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000370 Genre & \fname{.tta}, \fname{.spc}, \fname{.sap} \\
371 Disc & \fname{.tta} \\
372 Track & \fname{.tta} \\
373 Year & \fname{.spc}, \fname{.sid}, \fname{.sap} \\
374 Composer & \fname{.mmf} \\
Andree Buschmannacb09172011-08-07 20:01:04 +0000375 Comment & \fname{.spc}, \fname{.rm}, \fname{.ra}, \fname{.rmvb},
376 \fname{.vgm} \\
Andree Buschmann0101c702011-05-17 20:50:26 +0000377 Albumartist & None \\
378 Grouping & None \\
379 \end{rbtabular}
380
381 \subsection{Limitations of metadata handling}
382 \begin{enumerate}
383 \item Multiple tags (e.g. for Genre) are not supported. The first tag
384 item of a set of multiple tags is used.
385 \item Only one tag type is supported for each audio format.
386 \nopt{clipv1,c200v2}{
387 \item Overall there are 900 bytes available to load metadata strings.
388 \item The maximum size of each metadata item (e.g. Artists) is limited
389 to 240 bytes.
390 }
391 \opt{clipv1,c200v2}{
392 \item Overall there are 300 bytes available to load metadata strings.
393 \item The maximum size of each metadata item (e.g. Artists) is limited
394 to 90 bytes.
395 }
396 \end{enumerate}
Nils Wallméniusa7210832008-08-11 22:47:17 +0000397}