README
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:6k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. ABOUT LIBA52
  2. liba52 is a free library for decoding ATSC A/52 streams. It is
  3. released under the terms of the GPL license. The A/52 standard is used
  4. in a variety of applications, including digital television and DVD. It
  5. is also known as AC-3.
  6. The main goals in liba52 development are:
  7.       * Portability - Currently all of the code is written in C, and
  8. when we write platform-specific optimizations we will always
  9. keep a generic C routine to fall back on.
  10.       * Reuseability - we do not want liba52 to include any
  11. project-specific code, but it should still include enough
  12. features to be used by very diverse projects.
  13.       * Precision - We are trying to implement all of the A/52
  14. standard, and to have a very precise output by doing all the
  15. calculations in floating point. We have a test suite that
  16. detects any deviation in the output when compared to previous
  17. versions. We do not have access to official A/52 test vectors
  18. though, so we have to use our judgement to ensure that such
  19. deviations are only intruduced when we fix bugs !
  20.       * Speed - liba52 is really fast, on any modern PC it should take
  21. only a few percent of CPU time.
  22. The project homepage is at http://liba52.sourceforge.net/
  23. A52DEC
  24. a52dec is a test program for liba52. It decodes ATSC A/52 streams, and
  25. also includes a demultiplexer for mpeg-1 and mpeg-2 program streams.
  26. The liba52 source code is always distributed in the a52dec package, to
  27. make sure it easier for people to test it.
  28. The basic usage is to just type "a52dec file" where file is an ATSC
  29. A/52 file.
  30. The "-s" option must be used for multiplexed (audio and video) mpeg-2
  31. files. These files are usualy found on the internet or on unencrypted
  32. DVDs.
  33. The "-o" option is used to select a given output layer. By default
  34. a52dec does a stereo downmix and outputs to your speakers, but you can
  35. try other choices using this option. This is also used for performance
  36. testing and conformance testing.
  37. The "-c" option is used to disable all optimizations (currently only djbfft).
  38. The "-r" option is used to disable the dynamic range compression.
  39. OTHER PROJECTS USING LIBA52
  40. liba52 (and its ancestor libac3) is being used by various other
  41. projects, including:
  42.       * xine (http://xine.sourceforge.net/) - started as a simple
  43. mpeg-2 audio and video decoder, but it since became a
  44. full-featured DVD and video media player.
  45.       * MPlayer (http://www.MPlayerHQ.hu) - another good player, it is
  46. also very robust against damaged streams.
  47.       * movietime (http://movietime.sourceforge.net/) - still quite
  48. young, but it looks very promising !
  49.       * ffmpeg (http://ffmpeg.sourceforge.net/) - a nice audio/video
  50. encoder and transcoder, uses liba52 for decoding A/52 streams.
  51.       * Ogle (http://www.dtek.chalmers.se/groups/dvd/) - a good DVD
  52. player with menu support
  53.       * a52decX (http://homepage1.nifty.com/~toku/software_en.html) -
  54. a graphical interface for a52dec in macintosh osX.
  55.       * bd4go (http://denisx.dyndns.org/bd4go/) - another graphical
  56. interface for macintosh osX.
  57.       * OMS (http://www.linuxvideo.org/oms/)
  58.       * XMPS (http://xmps.sourceforge.net/)
  59.       * GStreamer (http://www.gstreamer.net/) - a framework for
  60. streaming media; it has an A/52 decoding plugin based on liba52.
  61.       * mpeglib (http://mpeglib.sourceforge.net/) - a video decoding
  62. library that usess liba52 when decoding A/52 streams.
  63. If you use liba52 in another project, let us know !
  64. VideoLAN (http://www.videolan.org/) does not use liba52, but this is
  65. still a cool project :)
  66. TASKS
  67. There are several places where we could easily use some help:
  68.       * Web design: This site sucks ! at the very least, we'd like to
  69. come up with a nicer background picture and a logo.
  70.       * Testing: If you find any stream that does not decode right
  71. with liba52, let us know ! The best thing would be to mail to
  72. the liba52-devel mailing list. Also if you have access to
  73. encoders, we'd love to get test streams that would be free of
  74. rights - so that we can put them on this server.
  75.       * Coding: you can have a look in the TODO file first ! The most
  76. important item is probably to make the code fully reentrant.
  77.       * Porting: If you're porting to a new architecture, you might
  78. want to experiment with the compile flags defined in
  79. configure.in . When you figure out whats fastest on your
  80. platform, send us a patch !
  81. REFERENCES
  82. The A/52 standard, as published by the ATSC, is available at
  83. http://www.atsc.org/standards/a_52a.pdf
  84. CVS SNAPSHOTS
  85. A daily snapshot is created using "make distcheck" every night and
  86. uploaded to http://liba52.sourceforge.net/files/a52dec-snapshot.tar.gz .
  87. It is easier to use than the CVS repository, because you do not need
  88. to have the right versions of automake, autoconf and libtool
  89. installed. It might be convenient when working on a liba52 port for
  90. example.
  91. CVS REPOSITORY
  92. The latest liba52 and a52dec source code can always be found by
  93. anonymous CVS:
  94. # export CVSROOT=:pserver:anonymous@cvs.liba52.sourceforge.net:/cvsroot/liba52
  95. # cvs login (Just press Return when prompted for a password)
  96. # cvs checkout a52dec
  97. You can also browse the latest changes online at
  98. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/liba52/a52dec/
  99. The other CVS modules are ac3dec-livid for the CVS history of the
  100. project while it was still hosted on the linuxvideo.org servers, and
  101. ac3dec for the CVS history of the project while the linuxvideo.org
  102. servers were down and before the library switched its name to liba52.
  103. MAILING LISTS
  104. See the subscription information at http://liba52.sourceforge.net/lists.html
  105. liba52-devel
  106. This is the main mailing list for technical discussion about
  107. liba52. Anyone wanting to work on liba52, or maybe just stay informed
  108. about the development process, should probably subscribe to this list.
  109. liba52-checkins
  110. All liba52 checkins are announced there. This is a good way to keep
  111. track of what goes into CVS.
  112. liba52-announce
  113. This is a very low traffic mailing list, only for announcements of new
  114. versions of liba52. Only project administrators can post there.