diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-02-14 08:32:41 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-02-14 08:32:41 +0000 |
commit | b957235ce2b4bcf36ac6a776b5d839c54c22ed7f (patch) | |
tree | 10fdd5ec1944421959d0e95ca339677892e67d5f /audio/maplay/pkg-descr | |
parent | correct bogus path for the app-defaults file (diff) |
maplay port.
Notes
Notes:
svn path=/head/; revision=976
Diffstat (limited to '')
-rw-r--r-- | audio/maplay/pkg-descr | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/audio/maplay/pkg-descr b/audio/maplay/pkg-descr new file mode 100644 index 000000000000..5eb691764c05 --- /dev/null +++ b/audio/maplay/pkg-descr @@ -0,0 +1,186 @@ +/* + * @(#) MPEG Audio Player maplay 1.2, last edit of this file: 6/23/94 13:02:49 + * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de) + * @(#) Berlin University of Technology + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + +This is the README file of the MPEG Audio Player maplay, Version 1.2. +Besides this file, you should now own a copy of the following files: + + ANNOUNCEMENT the announcement for this release + INSTALL infos about compiling and installing the program + COPYING the GNU General Public License + Makefile a makefile + configuration.sh a shell script used by the makefile + +and the source files + + all.h maplay.cc subband_layer_1.h + crc.cc obuffer.cc subband_layer_2.cc + crc.h obuffer.h subband_layer_2.h + header.cc scalefactors.cc synthesis_filter.cc + header.h scalefactors.h synthesis_filter.h + ibitstream.cc subband.h ulaw.cc + ibitstream.h subband_layer_1.cc ulaw.h + +------------------------------------------------------------------------------- + +0) Introduction + +MPEG is a standard created by the ISO (International Organization for +Standardization) and the IEC (International Electrotechnical Commission). +The full name of this standard is "ISO/IEC DIS 11172: Information +Technology - Coding of moving pictures and associated audio for digital +storage media ut to about 1.5 Mbit/s". As the name already states, +it deals with digital video and audio. The video part of this standard has +inspired many people to write decoders and a few encoders for it. +Best known should be the Berkeley player. Players for the audio part on +the other hand are very rare. The ones I know are the XING player for Windoze +and a sample implementation of the ISO, which also includes an encoder. + +The audio part of the MPEG standard specifies three layers, whereat each +layer specifies its own file format. All three layers are using similar +audio coding techniques, but they vary in efficiency and complexity. +Layer I needs the fewest calculation time for en-/decoding a stream, layer III +the most. But a layer I MPEG audio stream is bigger than a layer III stream +at the same quality. This program is able to decode and play only layer I +and II streams, layer III is not supported (yet?!?). + +Like the MPEG video standard, the audio part also uses a lossy compression +algorithm, which means that you can't get back 100% the original from a +MPEG audio stream. Layer II MPEG audio streams are compressed by ratios +from 1:3 up to 1:24 compared to raw PCM data, like on an audio CD. +But the quality is still very (very) near to the original at ratios between +1:5 and 1:12. You'll love it... :-) + +------------------------------------------------------------------------------- + +1) What does maplay? + +maplay version 1.2 is the second release of my MPEG audio player/decoder. +It decodes layer I and layer II MPEG audio streams and plays them +using a CD-quality audio device. Currently supported devices are the +dbri device of SPARC 10 computers and the audio ports of Silicon +Graphics Indigo machines. Thanks to Louis P. Kruger (lpkruger@phoenix. +Princeton.EDU), maplay 1.2 can also use the /dev/dsp device under Linux. +Louis has tested it with the Pro Audio Spectrum 16 soundcard. Sound Blaster 16 +and Gravis Ultrasound cards should also work, but a bug in the dsp driver +prevents stereo playback on Gravis Ultrasound cards. An amd device of a +SPARC 2/IPX/... machine can be used, too, but this device is only capable of +producing audio output at 8 kHz in u-law format, which sounds like transmitted +through a telephone. Other audio device are not supported directly, but can be +used with the "decode to stdout" option and an audio format converter. +Besides it shouldn't be a problem to adapt the program to other audio devices. + +The player supports all modes, which are single channel, stereo, +joint stereo and dual channel, and all bitrates except free mode. +The missing free mode support should not be a problem for now, +because I haven't seen such a stream yet. + +maplay needs approximately 46% CPU time on SPARC 10/40 machines and 50% +on Indigos for realtime stereo playback of a 44.1 kHz 128 kbit/s stream. +Single channel playback needs about the half CPU time. On a SPARCstation IPX, +maplay needs about 43% CPU time for realtime mono playback. Stereo playback +is not possible via an amd device. + +Besides realtime playing of audio streams, maplay can decode streams to +stdout for further conversions. The output consists of 16 bit signed PCM +values. For stereo streams, the values are interleaved, which means that +a value for the left channel is followed by a value for the right channel +and so on. If maplay has been compiled for u-law output, the output consists +of 8 bit u-law samples at a rate of 8 kHz, no matter what frequency the stream +uses. + +------------------------------------------------------------------------------- + +2) How to create a maplay binary? + +Please read the install file for this topic. + +------------------------------------------------------------------------------- + +3) How to start the program? + +For a quick mono test enter "./maplay -v -l filename", where filename is the +name of an audio stream, like "things.mp2". This stream has been posted along +with the sources and is the beginning of Roxette's song "Things Will Never Be +The Same". It is coded in joint stereo mode with 128 kbit/s, which is a +compression ratio of 1:11. If the output is ok, you can test stereo playback +by leaving out the -l option. If the stereo output stutters, the problem is +not enough free CPU time in most cases. Stereo output is not possible when +using an amd u-law device. If maplay shows error messages like +"ioctl AUDIO_GETDEV on /dev/audio: ..." +and maplay was compiled for u-law output, please try out the -amd option. +This option forces maplay to treat /dev/audio as an amd device and may be +required on SPARC clones. + +To convert a MPEG audio stream into other audio formats, you can use +"maplay -v -s filename | your_converter". Unfortunately, I can't be of much +help for you to find such a converter. The only good converter I know is the +"soundfiler" on Indigos. But if you would have an Indigo, you wouldn't need a +converter... + +------------------------------------------------------------------------------- + +4) Command line options + +maplay [-v] [-s] [-l] [-r] [-us] [-uh] [-ul] [-amd] [-c] [-f ushort] filename + +with these options: + filename filename of a MPEG audio stream or - for stdin + -h short help + -v verbose mode + You will get information about the stream, like mode, bitrate, + copyright etc., if you use this option. + -s stdout mode + This option tells the program to decode the stream to stdout. + The created output contains 16 bit signed PCM samples. If the + binary has been compiled for 8 kHz u-law format usage, the + output consists of 8 bit u-law samples at a 8 kHz rate. If the + stream is in stereo mode, the samples of both channels are + interleaved, the sample for the left channel first. + -l maplay decodes (and plays) the left channel of stereo streams + only. This option halves the required CPU time. + -r Same as above, but decodes the right channel only + -us, -uh These options are available on SPARCstations only. + They specify where the audio signal should be send to: + "-us" means speaker and "-uh" headphone jack. + -ul This option is available on machines with the dbri device + and sends the audio output to the line out jack. + -amd This option forces maplay to treat /dev/audio as an amd + device. Use it if your SPARC clone has an amd device, but + maplay doesn't recognize it. You may also use this option on a + machine with a dbri device, because the dbri device can also + produce u-law output. But I suggest to recompile the program + without the ULAW define in this case to get the CD-quality + output. + -c This option instructs the program to report filter range + violations to stderr. Sometimes PCM values calculated by + the synthesis filter exceede the 16 bit boundary and must + be mapped to these boundaries. If you can hear this, you + may use the next option. + -f ushort maplay uses this scalefactor instead of the default value 32768 + for the synthesis filter. You can reduce or eliminate range + violations with this option, but lower scalefactor values + reduce the signal-to-noise ratio, too. I can't remember when + I used this option the last time myself. + + +Ok, that's all for now and this release, +I hope you like it, + Tobias Bading (bading@cs.tu-berlin.de) |