mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
maplay port.
This commit is contained in:
parent
935cee0496
commit
b957235ce2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=976
18
audio/maplay/Makefile
Normal file
18
audio/maplay/Makefile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# New ports collection makefile for: maplay
|
||||||
|
# Version required: 1.2
|
||||||
|
# Date created: Feb 13 1995
|
||||||
|
# Whom: jkh
|
||||||
|
#
|
||||||
|
# $Id: Makefile,v 1.6 1995/02/09 21:03:52 ache Exp $
|
||||||
|
#
|
||||||
|
|
||||||
|
DISTNAME= maplay1_2
|
||||||
|
EXTRACT_SUFX= .tar.Z
|
||||||
|
MASTER_SITES= ftp://ftp.iuma.com/audio_utils/mpeg_players/Workstations/
|
||||||
|
NO_WRKSUBDIR= yes
|
||||||
|
PATCH_STRIP= -p2
|
||||||
|
|
||||||
|
pre-configure:
|
||||||
|
@(cd ${WRKSRC}; make pre-install)
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
1
audio/maplay/distinfo
Normal file
1
audio/maplay/distinfo
Normal file
@ -0,0 +1 @@
|
|||||||
|
MD5 (maplay1_2.tar.Z) = 2e3e0cd4d200fa476360eda0c9195ea1
|
31
audio/maplay/files/patch-ab
Normal file
31
audio/maplay/files/patch-ab
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
*** work/Makefile.orig Tue Feb 14 08:18:41 1995
|
||||||
|
--- work/Makefile Tue Feb 14 08:19:52 1995
|
||||||
|
***************
|
||||||
|
*** 39,45 ****
|
||||||
|
|
||||||
|
.SUFFIXES: .cc
|
||||||
|
|
||||||
|
! install:
|
||||||
|
@./configuration.sh
|
||||||
|
|
||||||
|
all: maplay
|
||||||
|
--- 39,45 ----
|
||||||
|
|
||||||
|
.SUFFIXES: .cc
|
||||||
|
|
||||||
|
! pre-install:
|
||||||
|
@./configuration.sh
|
||||||
|
|
||||||
|
all: maplay
|
||||||
|
***************
|
||||||
|
*** 47,52 ****
|
||||||
|
--- 47,55 ----
|
||||||
|
maplay: $(OBJS)
|
||||||
|
$(COMPILER) $(CFLAGS) $(OBJS) -o $@ $(LIBRARIES) -lm
|
||||||
|
-strip $@
|
||||||
|
+
|
||||||
|
+ install: all
|
||||||
|
+ ${INSTALL} -s -c -m 755 maplay ${PREFIX}/bin
|
||||||
|
|
||||||
|
.cc.o:
|
||||||
|
$(COMPILER) -c $(CFLAGS) $(INCLUDEDIRS) $*.cc -o $@
|
1
audio/maplay/pkg-comment
Normal file
1
audio/maplay/pkg-comment
Normal file
@ -0,0 +1 @@
|
|||||||
|
maplay, an MPEG audio player/decoder that decodes layer I and layer II MPEG audio streams
|
186
audio/maplay/pkg-descr
Normal file
186
audio/maplay/pkg-descr
Normal file
@ -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)
|
1
audio/maplay/pkg-plist
Normal file
1
audio/maplay/pkg-plist
Normal file
@ -0,0 +1 @@
|
|||||||
|
bin/maplay
|
Loading…
Reference in New Issue
Block a user