[ Index ]

PHP Cross Reference of Drupal 6 (yi-drupal)

title

Body

[close]

/sites/all/modules/getid3/ -> readme.txt (source)

   1  /////////////////////////////////////////////////////////////////
   2  /// getID3() by James Heinrich <info@getid3.org>               //
   3  //  available at http://getid3.sourceforge.net                 //
   4  //            or http://www.getid3.org                         //
   5  /////////////////////////////////////////////////////////////////
   6  //                                                             //
   7  // changelog.txt - part of getID3()                            //
   8  // See readme.txt for more details                             //
   9  //                                                            ///
  10  /////////////////////////////////////////////////////////////////
  11  
  12          This code is released under the GNU GPL:
  13            http://www.gnu.org/copyleft/gpl.html
  14  
  15       +---------------------------------------------+
  16       | If you do use this code somewhere, send me  |
  17       | an email and tell me how/where you used it. |
  18       |                                             |
  19       | If you want to donate, there is a link on   |
  20       | http://www.getid3.org for PayPal donations. |
  21       +---------------------------------------------+
  22  
  23  
  24  
  25  Quick Start
  26  ===========================================================================
  27  
  28  Q: How can I check that getID3() works on my server/files?
  29  A: Unzip getID3() to a directory, then access /demos/demo.browse.php
  30  
  31  
  32  
  33  Sourceforge Notification
  34  ===========================================================================
  35  
  36  It's highly recommended that you sign up for notification from
  37  Sourceforge for when new versions are released. Please visit:
  38  http://sourceforge.net/project/showfiles.php?group_id=55859
  39  and click the little "monitor package" icon/link.  If you're
  40  previously signed up for the mailing list, be aware that it has
  41  been discontinued, only the automated Sourceforge notification
  42  will be used from now on.
  43  
  44  
  45  
  46  What does getID3() do?
  47  ===========================================================================
  48  
  49  Reads & parses (to varying degrees):
  50   € tags:
  51    * APE (v1 and v2)
  52    * ID3v1 (& ID3v1.1)
  53    * ID3v2 (v2.4, v2.3, v2.2)
  54    * Lyrics3 (v1 & v2)
  55  
  56   € audio-lossy:
  57    * MP3/MP2/MP1
  58    * MPC / Musepack
  59    * Ogg (Vorbis, OggFLAC, Speex)
  60    * RealAudio
  61    * Speex
  62    * VQF
  63  
  64   € audio-lossless:
  65    * AIFF
  66    * AU
  67    * Bonk
  68    * CD-audio (*.cda)
  69    * FLAC
  70    * LA (Lossless Audio)
  71    * LPAC
  72    * MIDI
  73    * Monkey's Audio
  74    * OptimFROG
  75    * RKAU
  76    * VOC
  77    * WAV (RIFF)
  78    * WavPack
  79  
  80   € audio-video:
  81    * ASF: ASF, Windows Media Audio (WMA), Windows Media Video (WMV)
  82    * AVI (RIFF)
  83    * Flash
  84    * MPEG-1 / MPEG-2
  85    * NSV (Nullsoft Streaming Video)
  86    * Quicktime
  87    * RealVideo
  88  
  89   € still image:
  90    * BMP
  91    * GIF
  92    * JPEG
  93    * PNG
  94  
  95   € data:
  96    * ISO-9660 CD-ROM image (directory structure)
  97    * SZIP (limited support)
  98    * ZIP (directory structure)
  99  
 100  
 101  Writes:
 102    * ID3v1 (& ID3v1.1)
 103    * ID3v2 (v2.3 & v2.4)
 104    * VorbisComment on OggVorbis
 105    * VorbisComment on FLAC (not OggFLAC)
 106    * APE v2
 107    * Lyrics3 (delete only)
 108  
 109  
 110  
 111  Requirements
 112  ===========================================================================
 113  
 114  * PHP 4.2.0 (or higher) for getID3() 1.7.8 (and up).
 115  * PHP 5.0.0 (or higher) for getID3() 2.0.0 (and up).
 116  * at least 4MB memory for PHP. 8MB is highly recommended.
 117    12MB is required with all modules loaded.
 118  
 119  
 120  
 121  Usage
 122  ===========================================================================
 123  
 124  See /demos/demo.basic.php for a very basic use of getID3() with no
 125  fancy output, just scanning one file.
 126  
 127  See structure.txt for the returned data structure.
 128  
 129  *>  For an example of a complete directory-browsing,       <*
 130  *>  file-scanning implementation of getID3(), please run   <*
 131  *>  /demos/demo.browse.php                                 <*
 132  
 133  See /demos/demo.mysql.php for a sample recursive scanning code that
 134  scans every file in a given directory, and all sub-directories, stores
 135  the results in a database and allows various analysis / maintenance
 136  operations
 137  
 138  To analyze remote files over HTTP or FTP you need to copy the file
 139  locally first before running getID3(). Your code would look something
 140  like this:
 141  
 142  // Copy remote file locally to scan with getID3()
 143  $remotefilename = 'http://www.example.com/filename.mp3';
 144  if ($fp_remote = fopen($remotefilename, 'rb')) {
 145      $localtempfilename = tempnam('/tmp', 'getID3');
 146      if ($fp_local = fopen($localtempfilename, 'wb')) {
 147          while ($buffer = fread($fp_remote, 8192)) {
 148              fwrite($fp_local, $buffer);
 149          }
 150          fclose($fp_local);
 151  
 152          // Initialize getID3 engine
 153          $getID3 = new getID3;
 154  
 155          $ThisFileInfo = $getID3->analyze($filename);
 156  
 157          // Delete temporary file
 158          unlink($localtempfilename);
 159      }
 160      fclose($fp_remote);
 161  }
 162  
 163  
 164  See /demos/demo.write.php for how to write tags.
 165  
 166  
 167  
 168  What does the returned data structure look like?
 169  ===========================================================================
 170  
 171  See structure.txt
 172  
 173  It is recommended that you look at the output of
 174  /demos/demo.browse.php scanning the file(s) you're interested in to
 175  confirm what data is actually returned for any particular filetype in
 176  general, and your files in particular, as the actual data returned
 177  may vary considerably depending on what information is available in
 178  the file itself.
 179  
 180  
 181  
 182  Notes
 183  ===========================================================================
 184  
 185  getID3() 1.7:
 186  If the format parser encounters a critical problem, it will return
 187  something in $fileinfo['error'], describing the encountered error. If
 188  a less critical error or notice is generated it will appear in
 189  $fileinfo['warning']. Both keys may contain more than one warning or
 190  error. If something is returned in ['error'] then the file was not
 191  correctly parsed and returned data may or may not be correct and/or
 192  complete. If something is returned in ['warning'] (and not ['error'])
 193  then the data that is returned is OK - usually getID3() is reporting
 194  errors in the file that have been worked around due to known bugs in
 195  other programs. Some warnings may indicate that the data that is
 196  returned is OK but that some data could not be extracted due to
 197  errors in the file.
 198  
 199  getID3() 2.0:
 200  See above except errors are thrown (so you will only get one error).
 201  
 202  
 203  
 204  Disclaimer
 205  ===========================================================================
 206  
 207  getID3() has been tested on many systems, on many types of files,
 208  under many operating systems, and is generally believe to be stable
 209  and safe. That being said, there is still the chance there is an
 210  undiscovered and/or unfixed bug that may potentially corrupt your
 211  file, especially within the writing functions. By using getID3() you
 212  agree that it's not my fault if any of your files are corrupted.
 213  In fact, I'm not liable for anything :)
 214  
 215  
 216  
 217  License
 218  ===========================================================================
 219  
 220  GNU General Public License - see license.txt
 221  
 222  This program is free software; you can redistribute it and/or
 223  modify it under the terms of the GNU General Public License
 224  as published by the Free Software Foundation; either version 2
 225  of the License, or (at your option) any later version.
 226  
 227  This program is distributed in the hope that it will be useful,
 228  but WITHOUT ANY WARRANTY; without even the implied warranty of
 229  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 230  GNU General Public License for more details.
 231  
 232  You should have received a copy of the GNU General Public License
 233  along with this program; if not, write to:
 234  Free Software Foundation, Inc.
 235  59 Temple Place - Suite 330
 236  Boston, MA  02111-1307, USA.
 237  
 238  FAQ:
 239  Q: Can I use getID3() in my program? Do I need a commercial license?
 240  A: You're generally free to use getID3 however you see fit. The only
 241     case in which you would require a commercial license is if you're
 242     selling your closed-source program that integrates getID3. If you
 243     sell your program including a copy of getID3, that's fine as long
 244     as you include a copy of the sourcecode when you sell it.  Or you
 245     can distribute your code without getID3 and say "download it from
 246     getid3.sourceforge.net"
 247  
 248  
 249  
 250  Future Plans
 251  ===========================================================================
 252  
 253  * Writing support for Real
 254  * Better support for MP4 container format
 255  * Support for Matroska (www.matroska.org)
 256    http://corecodec.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=227
 257  * Scan for appended ID3v2 tag at end of file per ID3v2.4 specs (Section 5.0)
 258  * Support for JPEG-2000 (http://www.morgan-multimedia.com/jpeg2000_overview.htm)
 259  * Support for MOD (mod/stm/s3m/it/xm/mtm/ult/669)
 260  * Support for ACE (thanks Vince)
 261  * Support for Ogg other than Vorbis, Speex and OggFlac (ie. Ogg+Xvid)
 262  * Ability to create Xing/LAME VBR header for VBR MP3s that are missing VBR header
 263  * Ability to "clean" ID3v2 padding (replace invalid padding with valid padding)
 264  * Warn if MP3s change version mid-stream (in full-scan mode)
 265  * check for corrupt/broken mid-file MP3 streams in histogram scan
 266  * Support for lossless-compression formats
 267    (http://www.firstpr.com.au/audiocomp/lossless/#Links)
 268    (http://compression.ca/act-sound.html)
 269    (http://web.inter.nl.net/users/hvdh/lossless/lossless.htm)
 270  * Support for RIFF-INFO chunks
 271    * http://lotto.st-andrews.ac.uk/~njh/tag_interchange.html
 272      (thanks Nick Humfrey <njhØsurgeradio*co*uk>)
 273    * http://abcavi.narod.ru/sof/abcavi/infotags.htm
 274      (thanks Kibi)
 275  * Better support for Bink video
 276  * http://www.hr/josip/DSP/AudioFile2.html
 277  * http://www.pcisys.net/~melanson/codecs/
 278  * Detect mp3PRO
 279  * Support for PSD
 280  * Support for JPC
 281  * Support for JP2
 282  * Support for JPX
 283  * Support for JB2
 284  * Support for IFF
 285  * Support for ICO
 286  * Support for ANI
 287  * Support for EXE (comments, author, etc) (thanks p*quaedackersØplanet*nl)
 288  * Support for DVD-IFO (region, subtitles, aspect ratio, etc)
 289    (thanks p*quaedackersØplanet*nl)
 290  * More complete support for SWF - parsing encapsulated MP3 and/or JPEG content
 291      (thanks n8n8Øyahoo*com)
 292  * Support for a2b
 293  * Optional scan-through-frames for AVI verification
 294    (thanks rockcohenØmassive-interactive*nl)
 295  * Support for TTF (thanks infoØbutterflyx*com)
 296  * Support for DSS (http://www.getid3.org/phpBB2/viewtopic.php?t=171)
 297  * Support for SMAF (http://smaf-yamaha.com/what/demo.html)
 298    http://www.getid3.org/phpBB2/viewtopic.php?t=182
 299  * Support for AMR (http://www.getid3.org/phpBB2/viewtopic.php?t=195)
 300  * Support for 3gpp (http://www.getid3.org/phpBB2/viewtopic.php?t=195)
 301  * Support for ID4 (http://www.wackysoft.cjb.net grizlyY2KØhotmail*com)
 302  * Parse XML data returned in Ogg comments
 303  * Parse XML data from Quicktime SMIL metafiles (klausrathØmac*com)
 304  * ID3v2 genre string creator function
 305  * More complete parsing of JPG
 306  * Support for all old-style ASF packets
 307  * ASF/WMA/WMV tag writing
 308  * Parse declared T??? ID3v2 text information frames, where appropriate
 309      (thanks Christian Fritz for the idea)
 310  * Recognize encoder:
 311    http://www.guerillasoft.com/EncSpot2/index.html
 312    http://ff123.net/identify.html
 313    http://www.hydrogenaudio.org/?act=ST&f=16&t=9414
 314    http://www.hydrogenaudio.org/?showtopic=11785
 315  * Support for other OS/2 bitmap structures: Bitmap Array('BA'),
 316    Color Icon('CI'), Color Pointer('CP'), Icon('IC'), Pointer ('PT')
 317    http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm
 318  * Support for WavPack RAW mode
 319  * ASF/WMA/WMV data packet parsing
 320  * ID3v2FrameFlagsLookupTagAlter()
 321  * ID3v2FrameFlagsLookupFileAlter()
 322  * obey ID3v2 tag alter/preserve/discard rules
 323  * http://www.geocities.com/SiliconValley/Sector/9654/Softdoc/Illyrium/Aolyr.htm
 324  * proper checking for LINK/LNK frame validity in ID3v2 writing
 325  * proper checking for ASPI-TLEN frame validity in ID3v2 writing
 326  * proper checking for COMR frame validity in ID3v2 writing
 327  * http://www.geocities.co.jp/SiliconValley-Oakland/3664/index.html
 328  * decode GEOB ID3v2 structure as encoded by RealJukebox,
 329    decode NCON ID3v2 structure as encoded by MusicMatch
 330    (probably won't happen - the formats are proprietary)
 331  
 332  
 333  
 334  Known Bugs/Issues in getID3() that may be fixed eventually
 335  ===========================================================================
 336  
 337  * Cannot determine bitrate for MPEG video with VBR video data
 338    (need documentation)
 339  * Interlace/progressive cannot be determined for MPEG video
 340    (need documentation)
 341  * MIDI playtime is sometimes inaccurate
 342  * AAC-RAW mode files cannot be identified
 343  * WavPack-RAW mode files cannot be identified
 344  * mp4 files report lots of "Unknown QuickTime atom type"
 345     (need documentation)
 346  * Encrypted ASF/WMA/WMV files warn about "unhandled GUID
 347    ASF_Content_Encryption_Object"
 348  * Bitrate split between audio and video cannot be calculated for
 349    NSV, only the total bitrate. (need documentation)
 350  * All Ogg formats (Vorbis, OggFLAC, Speex) are affected by the
 351    problem of large VorbisComments spanning multiple Ogg pages, but
 352    but only OggVorbis files can be processed with vorbiscomment.
 353  * The version of "head" supplied with Mac OS 10.2.8 (maybe other
 354    versions too) does only understands a single option (-n) and
 355    therefore fails. getID3 ignores this and returns wrong md5_data.
 356  
 357  
 358  
 359  Known Bugs/Issues in getID3() that cannot be fixed
 360  --------------------------------------------------
 361  
 362  * Files larger than 2GB cannot always be parsed fully by getID3()
 363    due to limitations in the PHP filesystem functions.
 364    NOTE: Since v1.7.8b3 there is partial support for larger-than-
 365    2GB files, most of which will parse OK, as long as no critical
 366    data is located beyond the 2GB offset.
 367    Known will-work:
 368    * ZIP  (format doesn't support files >2GB)
 369    * FLAC (current encoders don't support files >2GB)
 370    Known will-not-work:
 371    * ID3v1 tags (always located at end-of-file)
 372    * Lyrics3 tags (always located at end-of-file)
 373    * APE tags (always located at end-of-file)
 374    Maybe-will-work:
 375    * Quicktime (will work if needed metadata is before 2GB offset,
 376      that is if the file has been hinted/optimized for streaming)
 377    * RIFF.WAV (should work fine, but gives warnings about not being
 378      able to parse all chunks)
 379    * RIFF.AVI (playtime will probably be wrong, is only based on
 380      "movi" chunk that fits in the first 2GB, should issue error
 381      to show that playtime is incorrect. Other data should be mostly
 382      correct, assuming that data is constant throughout the file)
 383  
 384  
 385  
 386  Known Bugs/Issues in other programs
 387  -----------------------------------
 388  
 389  * Winamp (up to v2.80 at least) does not support ID3v2.4 tags,
 390      only ID3v2.3
 391      see: http://forums.winamp.com/showthread.php?postid=387524
 392  * Some versions of Helium2 (www.helium2.com) do not write
 393      ID3v2.4-compliant Frame Sizes, even though the tag is marked
 394      as ID3v2.4)  (detected by getID3())
 395  * MP3ext V3.3.17 places a non-compliant padding string at the end
 396      of the ID3v2 header. This is supposedly fixed in v3.4b21 but
 397      only if you manually add a registry key. This fix is not yet
 398      confirmed.  (detected by getID3())
 399  * CDex v1.40 (fixed by v1.50b7) writes non-compliant Ogg comment
 400      strings, supposed to be in the format "NAME=value" but actually
 401      written just "value"  (detected by getID3())
 402  * Oggenc 0.9-rc3 flags the encoded file as ABR whether it's
 403      actually ABR or VBR.
 404  * iTunes (versions "X v2.0.3", "v3.0.1" are known-guilty, probably
 405      other versions are too) writes ID3v2.3 comment tags using a
 406      frame name 'COM ' which is not valid for ID3v2.3+ (it's an
 407      ID3v2.2-style frame name)  (detected by getID3())
 408  * MP2enc does not encode mono CBR MP2 files properly (half speed
 409      sound and double playtime)
 410  * MP2enc does not encode mono VBR MP2 files properly (actually
 411      encoded as stereo)
 412  * tooLAME does not encode mono VBR MP2 files properly (actually
 413      encoded as stereo)
 414  * AACenc encodes files in VBR mode (actually ABR) even if CBR is
 415     specified
 416  * AAC/ADIF - bitrate_mode = cbr for vbr files
 417  * LAME 3.90-3.92 prepends one frame of null data (space for the
 418    LAME/VBR header, but it never gets written) when encoding in CBR
 419    mode with the DLL
 420  * Ahead Nero encodes TwinVQF with a DSIZ value (which is supposed
 421    to be the filesize in bytes) of "0" for TwinVQF v1.0 and "1" for
 422    TwinVQF v2.0  (detected by getID3())
 423  * Ahead Nero encodes TwinVQF files 1 second shorter than they
 424    should be
 425  * AAC-ADTS files are always actually encoded VBR, even if CBR mode
 426    is specified (the CBR-mode switches on the encoder enable ABR
 427    mode, not CBR as such, but it's not possible to tell the
 428    difference between such ABR files and true VBR)
 429  * STREAMINFO.audio_signature in OggFLAC is always null. "The reason
 430    it's like that is because there is no seeking support in
 431    libOggFLAC yet, so it has no way to go back and write the
 432    computed sum after encoding. Seeking support in Ogg FLAC is the
 433    #1 item for the next release." - Josh Coalson (FLAC developer)
 434    NOTE: getID3() will calculate md5_data in a method similar to
 435    other file formats, but that value cannot be compared to the
 436    md5_data value from FLAC data in a FLAC file format.
 437  * STREAMINFO.audio_signature is not calculated in FLAC v0.3.0 &
 438    v0.4.0 - getID3() will calculate md5_data in a method similar to
 439    other file formats, but that value cannot be compared to the
 440    md5_data value from FLAC v0.5.0+
 441  * RioPort (various versions including 2.0 and 3.11) tags ID3v2 with
 442    a WCOM frame that has no data portion
 443  * Earlier versions of Coolplayer adds illegal ID3 tags to Ogg Vorbis
 444    files, thus making them corrupt.
 445  * Meracl ID3 Tag Writer v1.3.4 (and older) incorrectly truncates the
 446    last byte of data from an MP3 file when appending a new ID3v1 tag.
 447    (detected by getID3())
 448  * Lossless-Audio files encoded with and without the -noseek switch
 449    do actually differ internally and therefore cannot match md5_data
 450  * iTunes has been known to append a new ID3v1 tag on the end of an
 451    existing ID3v1 tag when ID3v2 tag is also present
 452    (detected by getID3())
 453  
 454  
 455  
 456  
 457  Reference material:
 458  ===========================================================================
 459  
 460  [www.id3.org material now mirrored at http://id3lib.sourceforge.net/id3/]
 461  * http://www.id3.org/id3v2.4.0-structure.txt
 462  * http://www.id3.org/id3v2.4.0-frames.txt
 463  * http://www.id3.org/id3v2.4.0-changes.txt
 464  * http://www.id3.org/id3v2.3.0.txt
 465  * http://www.id3.org/id3v2-00.txt
 466  * http://www.id3.org/mp3frame.html
 467  * http://minnie.tuhs.org/pipermail/mp3encoder/2001-January/001800.html <mathewhendry@hotmail.com>
 468  * http://www.dv.co.yu/mpgscript/mpeghdr.htm
 469  * http://www.mp3-tech.org/programmer/frame_header.html
 470  * http://users.belgacom.net/gc247244/extra/tag.html
 471  * http://gabriel.mp3-tech.org/mp3infotag.html
 472  * http://www.id3.org/iso4217.html
 473  * http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
 474  * http://www.xiph.org/ogg/vorbis/doc/framing.html
 475  * http://www.xiph.org/ogg/vorbis/doc/v-comment.html
 476  * http://leknor.com/code/php/class.ogg.php.txt
 477  * http://www.id3.org/iso639-2.html
 478  * http://www.id3.org/lyrics3.html
 479  * http://www.id3.org/lyrics3200.html
 480  * http://www.psc.edu/general/software/packages/ieee/ieee.html
 481  * http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/ieee-expl.html
 482  * http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html
 483  * http://www.jmcgowan.com/avi.html
 484  * http://www.wotsit.org/
 485  * http://www.herdsoft.com/ti/davincie/davp3xo2.htm
 486  * http://www.mathdogs.com/vorbis-illuminated/bitstream-appendix.html
 487  * "Standard MIDI File Format" by Dustin Caldwell (from www.wotsit.org)
 488  * http://midistudio.com/Help/GMSpecs_Patches.htm
 489  * http://www.xiph.org/archives/vorbis/200109/0459.html
 490  * http://www.replaygain.org/
 491  * http://www.lossless-audio.com/
 492  * http://download.microsoft.com/download/winmediatech40/Doc/1.0/WIN98MeXP/EN-US/ASF_Specification_v.1.0.exe
 493  * http://mediaxw.sourceforge.net/files/doc/Active%20Streaming%20Format%20(ASF)%201.0%20Specification.pdf
 494  * http://www.uni-jena.de/~pfk/mpp/sv8/
 495  * http://jfaul.de/atl/
 496  * http://www.uni-jena.de/~pfk/mpp/
 497  * http://www.libpng.org/pub/png/spec/png-1.2-pdg.html
 498  * http://www.real.com/devzone/library/creating/rmsdk/doc/rmff.htm
 499  * http://www.fastgraph.com/help/bmp_os2_header_format.html
 500  * http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm
 501  * http://flac.sourceforge.net/format.html
 502  * http://www.research.att.com/projects/mpegaudio/mpeg2.html
 503  * http://www.audiocoding.com/wiki/index.php?page=AAC
 504  * http://libmpeg.org/mpeg4/doc/w2203tfs.pdf
 505  * http://www.geocities.com/xhelmboyx/quicktime/formats/qtm-layout.txt
 506  * http://developer.apple.com/techpubs/quicktime/qtdevdocs/RM/frameset.htm
 507  * http://www.nullsoft.com/nsv/
 508  * http://www.wotsit.org/download.asp?f=iso9660
 509  * http://sandbox.mc.edu/~bennet/cs110/tc/tctod.html
 510  * http://www.cdroller.com/htm/readdata.html
 511  * http://www.speex.org/manual/node10.html
 512  * http://www.harmony-central.com/Computer/Programming/aiff-file-format.doc
 513  * http://www.faqs.org/rfcs/rfc2361.html
 514  * http://ghido.shelter.ro/
 515  * http://www.ebu.ch/tech_t3285.pdf
 516  * http://www.sr.se/utveckling/tu/bwf
 517  * http://ftp.aessc.org/pub/aes46-2002.pdf
 518  * http://cartchunk.org:8080/
 519  * http://www.broadcastpapers.com/radio/cartchunk01.htm
 520  * http://www.hr/josip/DSP/AudioFile2.html
 521  * http://home.attbi.com/~chris.bagwell/AudioFormats-11.html
 522  * http://www.pure-mac.com/extkey.html
 523  * http://cesnet.dl.sourceforge.net/sourceforge/bonkenc/bonk-binary-format-0.9.txt
 524  * http://www.headbands.com/gspot/
 525  * http://www.openswf.org/spec/SWFfileformat.html
 526  * http://j-faul.virtualave.net/
 527  * http://www.btinternet.com/~AnthonyJ/Atari/programming/avr_format.html
 528  * http://cui.unige.ch/OSG/info/AudioFormats/ap11.html
 529  * http://sswf.sourceforge.net/SWFalexref.html
 530  * http://www.geocities.com/xhelmboyx/quicktime/formats/qti-layout.txt
 531  * http://www-lehre.informatik.uni-osnabrueck.de/~fbstark/diplom/docs/swf/Flash_Uncovered.htm
 532  * http://developer.apple.com/quicktime/icefloe/dispatch012.html
 533  * http://www.csdn.net/Dev/Format/graphics/PCD.htm
 534  * http://tta.iszf.irk.ru/
 535  * http://www.atsc.org/standards/a_52a.pdf
 536  * http://www.alanwood.net/unicode/
 537  * http://www.freelists.org/archives/matroska-devel/07-2003/msg00010.html
 538  * http://www.its.msstate.edu/net/real/reports/config/tags.stats
 539  * http://homepages.slingshot.co.nz/~helmboy/quicktime/formats/qtm-layout.txt
 540  * http://brennan.young.net/Comp/LiveStage/things.html
 541  * http://www.multiweb.cz/twoinches/MP3inside.htm
 542  * http://www.geocities.co.jp/SiliconValley-Oakland/3664/alittle.html#GenreExtended
 543  * http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized/
 544  * http://www.unicode.org/unicode/faq/utf_bom.html
 545  * http://tta.corecodec.org/?menu=format
 546  * http://www.scvi.net/nsvformat.htm
 547  * http://pda.etsi.org/pda/queryform.asp
 548  * http://cpansearch.perl.org/src/RGIBSON/Audio-DSS-0.02/lib/Audio/DSS.pm
 549  * http://trac.musepack.net/trac/wiki/SV8Specification


Generated: Mon Jul 9 18:01:44 2012 Cross-referenced by PHPXref 0.7