ISOREL.TXT
上传用户:dshsh2009
上传日期:2007-01-07
资源大小:155k
文件大小:12k
源码类别:

mpeg/mp3

开发平台:

Unix_Linux

  1. From: US1RMC::"seymour@m31.dgbt.doc.ca" "Seymour Shlien"  1-SEP-1993 11:59:36.73
  2. To: 3d::pan
  3. CC:
  4. Subj: release3.9 guide
  5.           INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
  6.            ORGANISATION INTERNATIONALE DE NORMALISATION
  7.                                ISO/IEC JTC1/SC29/WG 11
  8.             CODING OF MOVING PICTURES AND ASSOCIATED AUDIO
  9. MPEG92/
  10. Nov. 1992
  11. Source: Davis Pan (Digital Equipment Corporation),
  12.             Chairman of the MPEG/audio ad hoc committee on software
  13.             simulation
  14. Title: Working Draft of MPEG/Audio Technical Report
  15. Disclaimer of Warranty
  16. These software programs are available to the user without any 
  17. license fee or royalty on an "as is" basis.  ISO disclaims any and all 
  18. warranties,  whether express, implied, or statuary, including any 
  19. implied warranties or merchantability or of fitness for a particular 
  20. purpose.  In no event shall ISO be liable for any incidental, punitive, 
  21. or consequential damages of any kind whatsoever arising from the 
  22. use of these programs.
  23. This disclaimer of warranty extends to the user of these 
  24. programs and user's customers, employees, agents, transferees, 
  25. successors, and assigns,
  26. ISO does not represent or warrant that the programs furnished 
  27. hereunder are free of infringement or any third-party patents, 
  28. copyrights or trade secrets.
  29. The purpose of this software is to provide a tool to help in the 
  30. learning and understanding of the MPEG/audio compression and 
  31. decompression algorithm.  It is not an efficient implementation.
  32. Organization of this Report
  33. The main body of this report describes the organization and 
  34. use of the software.  The listings of the software, sample makefiles, 
  35. and test bitstreams are contained in the appendices:
  36. Software Limitations
  37. The software implements levels I and II and psychophysical
  38. auditory models I and II as described in the ISO 3-11171 rev 1
  39. standard. There are future plans to implement level III.
  40. The input/output audio data may either be headerless raw 16 bit data
  41. or alternatively an AIFF formatted file (Audio Interchange File
  42. Format) with certain limitations. (For more information on the AIFF
  43. format see the postscript file /sgi/aiff-c.9.26.91.ps at the
  44. anonymous ftp site FTP.SGI.COM (192.48.153.1)).  The AIFF formatted
  45. file is a convenient way for storing sampling rate of the audio file.
  46. The encoder and decoder software are configured to output the
  47. coded audio bitstreams as a string of hexadecimal ascii characters. 
  48. For greater compression efficiency,  compile flag, BS_FORMAT, in 
  49. common.h can be switched to configure the bitstream reading and 
  50. writing routines to process raw binary bitstreams.
  51. This software has been run and verified on a large variety of
  52. computers and operating systems. In particular UNIX, MS_DOS (with
  53. MicroSoft C version 6), Macintosh, AIX Platform (RS6000) and Convex.
  54. Organization of the Code
  55. The MPEG/audio Layer 1 and Layer 2 ** software package consists 
  56. of: 
  57. 21 data files tables
  58. 8 source files (*.c)
  59. 3 definitions files (*.h)
  60. 3 test bitstreams
  61. * makefiles
  62. Table 1 illustrates how the encoder and decoder is formed from the 
  63. component files.  In this table the definition files are enclosed in 
  64. parenthesis and listed immediately below the primary source file 
  65. which uses them.  The data file names are listed within braces and 
  66. also placed immediately below the source file which uses them.
  67. Table 1
  68. encoder common decoder
  69. files files files
  70. ----------      ------------    ------------
  71. musicin.c common.c musicout.c
  72. encode.c (common.h) decode.c
  73. (encoder.h)   {alloc_0}   (decoder.h)
  74. {enwindow} {alloc_1} {dewindow}
  75. psy.c, subs.c {alloc_2}
  76. {absthr_0} {alloc_3}
  77. {absthr_1}
  78. {absthr_2}
  79. tonal.c
  80. {1cb0}, {1cb1}, {1cb2}
  81. {2cb0}, {2cb1}, {2cb2}
  82. {1th0}, {1th1}, {1th2}
  83. {2th0}, {2th1}, {2th2}
  84. The test files orig.mpg and sine.dec are approximately
  85. 129026 and 387072 bytes. (Small variations are due to the blocking
  86. structures imposed by various disk operating systems.)
  87. Software Installation
  88. Place are the 21 tables (absthr_*, *cb*, *th*, alloc_*)
  89. in a subdirectory called tables. Modify the common.h to reflect
  90. the compiler and machine you are using. (ie. uncomment one of the
  91. defs UNIX, MACINTOSH, MS_DOS, MSC60, AIX or CONVEX). Compile and
  92. link the files using one of the makefiles provided as a guideline.
  93. Note that the compiler may issue warning messages such as
  94. common.c: In function `aiff_read_headers':
  95. common.c:686: warning: multi-character character constant
  96. common.c:687: warning: multi-character character constant
  97. common.c:703: warning: multi-character character constant
  98. common.c:735: warning: multi-character character constant
  99. common.c: In function `aiff_write_headers':
  100. common.c:825: warning: multi-character character constant
  101. common.c:826: warning: multi-character character constant
  102. common.c:827: warning: multi-character character constant
  103. musicin.c:920: warning: static declaration for `usage' follows non-static
  104. musicin.c: In function `aiff_check':
  105. musicin.c:960: warning: multi-character character constant
  106.  
  107. These messages are dependent on the preprocessor directives specified
  108. in the common.h file. 
  109. Usuage
  110. To run the code type the name of the file followed by a 
  111. carriage return.  The programs will prompt you to input the 
  112. appropriate parameters.  The sound input file for the encoder should 
  113. be sound data, monophonic or stereophonic, sampled at 32, 44.1, or 
  114. 48 kHz with 16 bits per sample.  For stereophonic data the left 
  115. channel sample should precede the right channel sample.  The sound 
  116. output file of the decoder will be the same format as the sound input 
  117. file used by the decoder,  except for possible byte order differences 
  118. if the encoder and decoder programs are run on different computer
  119. systems which have different byte ordering conventions.
  120. Assuming the program musicin produces the MPEG coded file
  121. and musicout decodes the MPEG coded file, the programs can be run
  122. in either commandline mode or user prompt mode.  For example, on a 
  123. UNIX operating system, entering
  124. musicin sine.dec sine.mpg
  125.  
  126. will run the program with the current built in defaults. The output
  127. from the program should appear as below. 
  128. Encoding configuration:
  129. Layer=II   mode=stereo   extn=0   psy model=2
  130. samp frq=44.1 kHz   total bitrate=384 kbps
  131. de-emph=0   c/right=0   orig=0   errprot=0
  132. input file: 'sine.dec'   output file: 'sine.mpg'
  133. using bit allocation table alloc_1
  134. slots/frame = 1253
  135. frac SpF=0.878, tot bitrate=384 kbps, s freq=44.1 kHz
  136. Fractional number of slots, padding required
  137. {   0}absthr[][] sampling frequency index: 1
  138. {   1}{   2}{   3}{   4}{   5}{   6}{   7}...
  139. Alternatively, if you enter
  140. musicin -help
  141. The program will respond with the correct command-line usuage
  142. as shown below and then exit.
  143. musicin: unrec option h
  144. musicin: -l layer must be 1 or 2, not p
  145. usage: musicin                         queries for all arguments, or
  146.        musicin [-l lay][-m mode][-p psy][-s sfrq][-b br][-d emp]
  147.           [-c][-o][-e] inputPCM [outBS]
  148. where
  149.  -l lay   use layer <lay> coding   (dflt    2)
  150.  -m mode  channel mode : s/d/j/m   (dflt    s)
  151.  -p psy   psychoacoustic model 1/2 (dflt    2)
  152.  -s sfrq  input smpl rate in kHz   (dflt 44.1)
  153.  -b br    total bitrate in kbps    (dflt  384)
  154.  -d emp   de-emphasis n/5/c        (dflt    n)
  155.  -c       mark as copyright
  156.  -o       mark as original
  157.  -e       add error protection
  158.  inputPCM input PCM sound file (standard or AIFF)
  159.  outBS    output bit stream of encoded audio (dflt inName+.mpg)
  160. Finally, if you just enter
  161. musicin
  162. Then the program will prompt you for all the coding parameters before
  163. executing.
  164. Enter PCM input file name <required>: sine.dec
  165. >>> PCM input file name is: sine.dec
  166. Enter MPEG encoded output file name <sine.dec.mpg>: sine.mpg
  167. >>> MPEG encoded output file name is: sine.mpg
  168. What is the sampling frequency? <44100>[Hz]: 
  169. >>> Default 44.1 kHz samp freq selected
  170. Which layer do you want to use?
  171. Available: Layer (1), Layer (<2>): 
  172. >>> Using default Layer 2
  173. Which mode do you want?
  174. Available: (<s>)tereo, (j)oint stereo, (d)ual channel, s(i)ngle Channel: 
  175. >>> Using default stereo mode
  176. Which psychoacoustic model do you want to use? <2>: 
  177. >>> Default model 2 selected
  178. What is the total bitrate? <384>[kbps]: 
  179. >>> Using default 384 kbps
  180. What type of de-emphasis should the decoder use?
  181. Available: (<n>)one, (5)0/15 microseconds, (c)citt j.17: 
  182. >>> Using default no de-emphasis
  183. Do you want to set the private bit? (y/<n>): 
  184. >>> Private bit not set
  185. Do you want error protection? (y/<n>): 
  186. >>> Error protection not used
  187. Is the material copyrighted? (y/<n>): 
  188. >>> Material not copyrighted
  189. Is this the original? (y/<n>): 
  190. >>> Material not original
  191. Do you wish to exit (last chance before encoding)? (y/<n>):
  192. The software is functioning properly if the following equations hold:
  193. a. decoded(orig.mpg) == deco.dec
  194.     byte-swapping of deco.dec will be necessary for this 
  195.    equation to hold for little-endian computers
  196. b. encoded(deco.dec) == renc.mpg
  197.     (encode with the default options except for the following:
  198.     48 kHz sampling rate and 256 kbits/sec coded bit rate)
  199. If the bitstream tests fail, make sure that the following 
  200. variable types have at least the precision listed below:
  201. integer - 16 or 32bits
  202. float - 32 bits
  203. double - 64 bits.
  204. Special notes for MSDOS users:
  205. 1. The default bitrate option does not work.
  206. 2. The input/output filename defaults are not compatible with MSDOS.
  207. 3. The large memory model should be used for compilation.
  208. Appendix  A contains the source code for the MPEG/audio 
  209. software, written in the C programming language.
  210.  
  211. Appendix B contains sample "makefiles" which can be used to
  212. compile the software.  Before compiling, please examine the file
  213. common.h to determine if any of the "#define" declarations should be
  214. reactivated by removing it from a comment statement.
  215. Appendix  C contains a minimal bitstream test that can be used 
  216. to verify the proper operation of the MPEG/audio software.  The 
  217. bitstream test consists of three bitstreams:
  218.    orig.mpg - The original, coded MPEG/audio bitstream
  219.    deco.dec - The audio data resulting from decoding orig.mpg
  220.    renc.dec - The encoded MPEG/audio bitstream obtained by 
  221.    encoding deco.dec
  222. Electronic Distribution
  223. All the data listed above may be obtained in electronic form 
  224. (e-mail) by contacting
  225. :
  226.  Mr. Frank Laczko
  227.  tel: 214-997-3988
  228.  FAX: 214-997-5763
  229.  e-mail: frank@laczko.ti.com
  230. Other electronic distribution methods may become available 
  231. soon.  Managers of public access FTP sites  are encouraged to make 
  232. this software available on their sites.
  233. Notes on the Software
  234. The decoder program has a very crude implementation of 
  235. bitstream synchword detection.  It may not be able to correctly 
  236. decode valid bitstreams which have false synchword patterns in the 
  237. ancillary data portion of the bitstream.
  238. Appendix A MPEG/audio Source Code
  239. (included elsewhere)
  240. Appendix B Sample "makefiles"
  241. (included elsewhere)
  242. Appendix C Test Bitstreams
  243. (included elsewhere)
  244. Appendix D List of Contributors
  245. Bill Aspromonte
  246. Shaun Astarabadi
  247. R. Bittner
  248. Karlheinz Brandenburg
  249. W. Joseph Carter
  250. Jack Chang
  251. Mike Coleman
  252. Johnathan Devine
  253. Ernst Eberlein
  254. Dan Ellis
  255. Peter Farrett
  256. Jean-Georges Fritsch
  257. Vlad Fruchter
  258. Hendrik Fuchs
  259. Bernhard Grill
  260. Amit Gulati
  261. Munsi Haque
  262. Chuck Hsiao
  263. Toshiyuki Ishino
  264. Masahiro Iwadare
  265. Earl Jennings
  266. James Johnston
  267. Leon v.d. Kerkhof
  268. Don Lee
  269. Mike Li
  270. Yu-Tang Lin
  271. Soren Neilsen
  272. Simao F. Campos Neto
  273. Mark Paley
  274. Davis Pan
  275. Tan Ah Peng
  276. Kevin Peterson
  277. Juan Pineda
  278. Ernst F. Schroeder
  279. Peter Siebert
  280. Jens Spille
  281. Sam Stewart
  282. Al Tabayoyon
  283. Kathy Wang
  284. Franz-Otto Witte
  285. Douglas Wong
  286. % ====== Internet headers and postmarks (see DECWRL::GATEWAY.DOC) ======
  287. % Received: by us1rmc.bb.dec.com; id AA16426; Wed, 1 Sep 93 11:52:08 -0400
  288. % Received: by inet-gw-1.pa.dec.com; id AA13347; Wed, 1 Sep 93 08:53:15 -0700
  289. % Received: from rigel.dgbt.doc.ca by  m31.dgbt.doc.ca (4.1/SMI-4.1) id AA00560; Wed, 1 Sep 93 11:51:51 ED
  290. % Date: Wed, 1 Sep 93 11:51:51 EDT
  291. % From: seymour@m31.dgbt.doc.ca (Seymour Shlien)
  292. % Message-Id: <9309011551.AA00560@ m31.dgbt.doc.ca>
  293. % To: 3d::pan
  294. % Subject: release3.9 guide
  295.