summaryrefslogtreecommitdiff
path: root/graphics/xanim
diff options
context:
space:
mode:
authorrh <rh@pkgsrc.org>1999-03-19 08:43:55 +0000
committerrh <rh@pkgsrc.org>1999-03-19 08:43:55 +0000
commit7c9ec5afdca5c2a35f5f7bb035ea3ebd59d2f23c (patch)
treec87a73002baa353500528372ffc623663534a7fb /graphics/xanim
parent7e2d4a1d1fe3a01616c4401b4f97c9d90ef299ed (diff)
downloadpkgsrc-7c9ec5afdca5c2a35f5f7bb035ea3ebd59d2f23c.tar.gz
update to version 2.80.0
Diffstat (limited to 'graphics/xanim')
-rw-r--r--graphics/xanim/Makefile19
-rw-r--r--graphics/xanim/files/md58
-rw-r--r--graphics/xanim/patches/patch-ab117
-rw-r--r--graphics/xanim/patches/patch-ac72
-rw-r--r--graphics/xanim/patches/patch-ad1021
5 files changed, 1108 insertions, 129 deletions
diff --git a/graphics/xanim/Makefile b/graphics/xanim/Makefile
index 91268959687..2e665bb6412 100644
--- a/graphics/xanim/Makefile
+++ b/graphics/xanim/Makefile
@@ -1,11 +1,12 @@
-# $NetBSD: Makefile,v 1.12 1998/08/20 15:17:02 tsarna Exp $
+# $NetBSD: Makefile,v 1.13 1999/03/19 08:43:55 rh Exp $
#
-DISTNAME= xanim27070
-PKGNAME= xanim-2.70.7.0
+DISTNAME= xanim2800
+PKGNAME= xanim-2.80.0
CATEGORIES= graphics x11
MASTER_SITES= ftp://xanim.va.pubnix.com/\
- ftp://xanim.va.pubnix.com/modules/
+ ftp://xanim.va.pubnix.com/modules/ \
+ http://xanim.resnet.gatech.edu/files/
DISTFILES= ${EXTRACT_ONLY} ${EXTRA_FILES}
MAINTAINER= packages@netbsd.org
@@ -32,10 +33,14 @@ MIRROR_DISTFILE= no
USE_IMAKE= yes
post-extract:
- ln -s docs/xanim.man ${WRKSRC}
+ @${MKDIR} ${WRKSRC}/mods
@for file in ${EXTRA_FILES}; do \
- ${CP} ${DISTDIR}/$$file ${WRKSRC}; \
- ${GUNZIP_CMD} ${WRKSRC}/$$file; \
+ ${CP} ${DISTDIR}/$$file ${WRKSRC}/mods; \
+ ${GUNZIP_CMD} ${WRKSRC}/mods/$$file; \
done
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/xanim ${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/xanim.0 ${PREFIX}/man/cat1
+
.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/xanim/files/md5 b/graphics/xanim/files/md5
index d7b14a50abe..44e8c2bd4f3 100644
--- a/graphics/xanim/files/md5
+++ b/graphics/xanim/files/md5
@@ -1,12 +1,12 @@
-$NetBSD: md5,v 1.4 1998/08/07 13:21:37 agc Exp $
+$NetBSD: md5,v 1.5 1999/03/19 08:43:55 rh Exp $
-MD5 (xanim27070.tar.gz) = 768253a86b059b4d100e34c602931af6
+MD5 (xanim2800.tar.gz) = 60d187d8393b7c47443293215a13a966
MD5 (xa2.0_cvid_netbsd386.o.Z) = 80a70d69ea532c7f32a074381fff8468
MD5 (xa2.0_iv32_netbsd386.o.Z) = 1968c29d77e02c53df14bc4f2a29a1c0
MD5 (xa1.0_cyuv_netbsd386.o.Z) = 9f2d2b1a14f4518ffd02c0f45ccbf9e6
-MD5 (xa1.0_cyuv_netbsd68k.o.Z) = 2f96a0dd71bd8b55524d6f9a069ac574
MD5 (xa2.0_cvid_netbsd68k.o.Z) = c3e9a39a75b9db71022101c1fa2158c5
MD5 (xa2.0_iv32_netbsd68k.o.Z) = 3f4ae1345ca7b4c629a723740b52b608
-MD5 (xa1.0_cyuv_sparcAOUT.o.Z) = d5be03b7dcb60b2d9be6e6892fb1c7aa
+MD5 (xa1.0_cyuv_netbsd68k.o.Z) = 2f96a0dd71bd8b55524d6f9a069ac574
MD5 (xa2.0_cvid_sparcCOFF.o.Z) = 185589de06545d83abeb8298a0811267
MD5 (xa2.0_iv32_sparcCOFF.o.Z) = 95fa08efd7d9982814b51c9bf01417fa
+MD5 (xa1.0_cyuv_sparcAOUT.o.Z) = d5be03b7dcb60b2d9be6e6892fb1c7aa
diff --git a/graphics/xanim/patches/patch-ab b/graphics/xanim/patches/patch-ab
index 693b918ce71..0ff519a156b 100644
--- a/graphics/xanim/patches/patch-ab
+++ b/graphics/xanim/patches/patch-ab
@@ -1,68 +1,93 @@
-$NetBSD: patch-ab,v 1.4 1998/08/07 10:40:54 agc Exp $
+$NetBSD: patch-ab,v 1.5 1999/03/19 08:43:55 rh Exp $
---- Imakefile.orig Sun Jan 26 17:22:08 1997
-+++ Imakefile Mon Feb 16 10:33:43 1998
-@@ -91,13 +91,29 @@
- XCOMM -- Indeo 3.x IV32 indeo.readme
- XCOMM -- Creative CYUV creative.readme
+--- Imakefile.orig Tue Mar 16 00:58:48 1999
++++ Imakefile Wed Mar 17 20:43:19 1999
+@@ -96,9 +96,9 @@
+ XCOMM to link against symbols inside xanim.
XCOMM
--XCOMM XA_IV32_DEF = -DXA_INDEO
--XCOMM XA_CVID_DEF = -DXA_CINEPAK
+ XCOMM ## Linux
+-LD_FLAGS = -rdynamic
++XCOMM LD_FLAGS = -rdynamic
+ XCOMM ## SunOS/Solaris use:
+-XCOMM LD_FLAGS =
++LD_FLAGS =
+
+
+ XCOMM #########################################################################
+@@ -109,8 +109,8 @@
+ XCOMM So far I've only tested this on Linux_x86, SunOS_Sparc and Solaris_Sparc
+ XCOMM #########################################################################
+ XCOMM
+-XA_DLL_DEF = -DXA_DLL
+-XA_DLL_LIB = -ldl
++XCOMM XA_DLL_DEF = -DXA_DLL
++XCOMM XA_DLL_LIB = -ldl
+
+
+ XCOMM #########################################################################
+@@ -165,13 +165,29 @@
+ XCOMM
+ XCOMM Again don't use these if you are using the dynamically loadable modules.
+ XCOMM
+-XCOMM XA_IV32_DEF = -DXA_IV32
+-XCOMM XA_CVID_DEF = -DXA_CVID
-XCOMM XA_CYUV_DEF = -DXA_CYUV
--XCOMM
--XA_IV32_LIB =
--XA_CVID_LIB =
--XA_CYUV_LIB =
+-XCOMM
+-XCOMM XA_IV32_LIB = mods/xa2.1_iv32_linuxELF.o
+-XCOMM XA_CVID_LIB = mods/xa2.0_cvid_linuxELF.o
+-XCOMM XA_CYUV_LIB = mods/xa1.0_cyuv_linuxELF.o
+.if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "m68k") || (${MACHINE_ARCH} == "sparc")
-+XA_IV32_DEF = -DXA_INDEO
-+XA_CVID_DEF = -DXA_CINEPAK
++XA_IV32_DEF = -DXA_IV32
++XA_CVID_DEF = -DXA_CVID
+XA_CYUV_DEF = -DXA_CYUV
+.endif
+XCOMM
+.if (${MACHINE_ARCH} == "i386")
-+XA_IV32_LIB = xa2.0_cvid_netbsd386.o
-+XA_CVID_LIB = xa2.0_iv32_netbsd386.o
-+XA_CYUV_LIB = xa1.0_cyuv_netbsd386.o
++XA_IV32_LIB = mods/xa2.0_iv32_netbsd386.o
++XA_CVID_LIB = mods/xa2.0_cvid_netbsd386.o
++XA_CYUV_LIB = mods/xa1.0_cyuv_netbsd386.o
+.elif (${MACHINE_ARCH} == "m68k")
-+XA_IV32_LIB = xa2.0_cvid_netbsd68k.o
-+XA_CVID_LIB = xa2.0_iv32_netbsd68k.o
-+XA_CYUV_LIB = xa1.0_cyuv_netbsd68k.o
++XA_IV32_LIB = mods/xa2.0_iv32_netbsd68k.o
++XA_CVID_LIB = mods/xa2.0_cvid_netbsd68k.o
++XA_CYUV_LIB = mods/xa1.0_cyuv_netbsd68k.o
+.elif (${MACHINE_ARCH} == "sparc")
-+XA_IV32_LIB = xa2.0_cvid_sparcCOFF.o
-+XA_CVID_LIB = xa2.0_iv32_sparcCOFF.o
-+XA_CYUV_LIB = xa1.0_cyuv_sparcAOUT.o
++XA_IV32_LIB = mods/xa2.0_iv32_sparcCOFF.o
++XA_CVID_LIB = mods/xa2.0_cvid_sparcCOFF.o
++XA_CYUV_LIB = mods/xa1.0_cyuv_sparcAOUT.o
+.else
+XA_IV32_DEF =
+XA_CVID_DEF =
+XA_CYUV_DEF =
+.endif
- XCOMM
- XCOMM -- NOTE: SGI Machines only: if you see an error like
- XCOMM -- "merge_ext returns nil during relocation" or similiar
-@@ -154,7 +170,7 @@
- XCOMM XA_AUDIO_DEFS =
- XCOMM
- XCOMM -- Sun Sparcs -----------------------------------------------------------
--XA_AUDIO_DEFS = -DXA_SPARC_AUDIO
-+XCOMM XA_AUDIO_DEFS = -DXA_SPARC_AUDIO
- XCOMM
- XCOMM NOTE: Imakefile should add the -DSVR4 to Sun Solaris machines, if not
- XCOMM use the following:
-@@ -184,7 +200,7 @@
- XCOMM XA_AUDIO_DEFS = -DXA_SONY_AUDIO
- XCOMM
- XCOMM -- NetBSD-current (as of 30/April 1995)----------------------------------
--XCOMM XA_AUDIO_DEFS = -DXA_NetBSD_AUDIO
+ XCOMM
+ XCOMM ##########################
+ XCOMM NOTE: SGI Machines Only:
+@@ -242,8 +258,8 @@
+ XCOMM XA_AUDIO_DEFS =
+ XCOMM
+ XCOMM ## -- Linux PCs ---------------------------------------------------------
+-XA_AUDIO_DEFS = -DXA_LINUX_AUDIO
+-XA_AUDIO_LIBS = -lc
++XCOMM XA_AUDIO_DEFS = -DXA_LINUX_AUDIO
++XCOMM XA_AUDIO_LIBS = -lc
+ XCOMM
+ XCOMM -- Linux PC's with OLD Rev sound drivers -------------------------------
+ XCOMM XA_AUDIO_DEFS = -DXA_LINUX_AUDIO -DXA_LINUX_OLDER_SND
+@@ -282,7 +298,7 @@
+ XCOMM XA_AUDIO_DEFS = -DXA_SONY_AUDIO
+ XCOMM
+ XCOMM -- NetBSD-current (as of 30/April 1995)---------------------------------
+-XCOMM XA_AUDIO_DEFS = -DXA_NetBSD_AUDIO
+XA_AUDIO_DEFS = -DXA_NetBSD_AUDIO
- XCOMM
- XCOMM -- QNX 4.2 PC's ---------------------------------------------------------
- XCOMM XA_AUDIO_DEFS = -DXA_LINUX_AUDIO -DXA_LINUX_NEWER_SND -DXA_SELECT
-@@ -334,7 +350,7 @@
+ XCOMM
+ XCOMM -- QNX 4.2 PC's --------------------------------------------------------
+ XCOMM XA_AUDIO_DEFS = -DXA_LINUX_AUDIO -DXA_SELECT
+@@ -440,7 +456,7 @@
- PROGRAMS = xanim
+ PROGRAMS = $(XANIM)
-INCLUDES = -I$(INCDIR) $(XA_INCS)
+INCLUDES = -I$(INCDIR)/X11 $(XA_INCS)
-
LIBS1 = $(XA_LIBS) $(EXTENSIONLIB) $(XTOOLLIB) $(XLIB) -lm
+ DEPLIBS1 = $(DEPEXTENSIONLIB) $(DEPXTOOLLIB) $(DEPXLIB)
diff --git a/graphics/xanim/patches/patch-ac b/graphics/xanim/patches/patch-ac
deleted file mode 100644
index ffb70b7d9bf..00000000000
--- a/graphics/xanim/patches/patch-ac
+++ /dev/null
@@ -1,72 +0,0 @@
-$NetBSD: patch-ac,v 1.6 1998/08/07 10:40:54 agc Exp $
-
---- xa_audio.c.orig Mon Mar 23 18:54:59 1998
-+++ xa_audio.c Sun Apr 26 12:04:40 1998
-@@ -4508,31 +4508,53 @@
- a_info.blocksize = 1024;
- ioctl(devAudio, AUDIO_SETINFO, &a_info);
- AUDIO_INITINFO(&a_info);
--
--#ifndef AUDIO_ENCODING_SLINEAR
-- a_info.play.encoding = AUDIO_ENCODING_PCM16;
--#else
-- /* NetBSD-1.3 */
-- a_info.play.encoding = AUDIO_ENCODING_SLINEAR; /* Signed, nativeorder */
--#endif
-- ioctl(devAudio, AUDIO_SETINFO, &a_info);
-- AUDIO_INITINFO(&a_info);
- a_info.mode = AUMODE_PLAY | AUMODE_PLAY_ALL;
- ioctl(devAudio, AUDIO_SETINFO, &a_info);
-+#ifdef AUDIO_ENCODING_SLINEAR
-+ /* Use new encoding names */
- AUDIO_INITINFO(&a_info);
-+ a_info.play.encoding = AUDIO_ENCODING_SLINEAR;
- a_info.play.precision = 16;
-+ if (ioctl(devAudio, AUDIO_SETINFO, &a_info) < 0) {
-+ AUDIO_INITINFO(&a_info);
-+ a_info.play.encoding = AUDIO_ENCODING_ULINEAR;
-+ a_info.play.precision = 8;
-+ ioctl(devAudio, AUDIO_SETINFO, &a_info);
-+ }
-+#else
-+ AUDIO_INITINFO(&a_info);
-+ a_info.play.encoding = AUDIO_ENCODING_PCM16;
-+ a_info.play.precision = 16;
-+ if (ioctl(devAudio, AUDIO_SETINFO, &a_info) < 0) {
-+ AUDIO_INITINFO(&a_info);
-+ a_info.play.encoding = AUDIO_ENCODING_PCM;
-+ a_info.play.precision = 8;
-+ ioctl(devAudio, AUDIO_SETINFO, &a_info);
-+ }
-+#endif
-+ AUDIO_INITINFO(&a_info);
-+ a_info.play.channels = /*2*/1;
- ioctl(devAudio, AUDIO_SETINFO, &a_info);
- AUDIO_INITINFO(&a_info);
-- a_info.play.sample_rate = 11025;
-+ a_info.play.sample_rate = 22050;
- ioctl(devAudio, AUDIO_SETINFO, &a_info);
- ioctl(devAudio, AUDIO_GETINFO, &a_info);
-
-- xa_audio_hard_type = (a_info.play.precision==8)?XA_AUDIO_LINEAR_1M
-- :XA_AUDIO_SIGNED_2ML;
-+ if (a_info.play.channels == 2)
-+ if (a_info.play.precision == 8)
-+ xa_audio_hard_type = XA_AUDIO_LINEAR_1S;
-+ else
-+ xa_audio_hard_type = XA_AUDIO_SIGNED_2SL;
-+ else
-+ if (a_info.play.precision == 8)
-+ xa_audio_hard_type = XA_AUDIO_LINEAR_1M;
-+ else
-+ xa_audio_hard_type = XA_AUDIO_SIGNED_2ML;
- xa_audio_hard_freq = a_info.play.sample_rate;
- xa_audio_hard_buff = a_info.blocksize;
-- xa_audio_hard_bps = (a_info.play.precision==8)?1:2;
-- xa_audio_hard_chans = 1;
-+ xa_audio_hard_bps = a_info.play.precision / 8;
-+ xa_audio_hard_chans = a_info.play.channels;
-+
- Gen_Ulaw_2_Signed();
- Gen_Signed_2_Ulaw();
-
diff --git a/graphics/xanim/patches/patch-ad b/graphics/xanim/patches/patch-ad
new file mode 100644
index 00000000000..ea377820c7e
--- /dev/null
+++ b/graphics/xanim/patches/patch-ad
@@ -0,0 +1,1021 @@
+$NetBSD: patch-ad,v 1.1 1999/03/19 08:43:56 rh Exp $
+
+--- /dev/null Fri Mar 19 08:29:09 1999
++++ xanim.man Fri Mar 19 08:54:43 1999
+@@ -0,0 +1,1016 @@
++.TH XAnim 1 "19Mar98" "XAnim 2\.70\.7\.0"
++.UC 4
++.SH NAME
++xanim \- multiformat animation/video/audio viewer for X
++.SH SYNOPSIS
++.HP
++.B xanim
++[
++.BI +V num
++]
++[
++.BI +A aopts
++]
++[
++.BI +C copts
++]
++[
++.BI +G gopts
++]
++[
++.BI +M mopts
++]
++[
++.BI +S sopts
++]
++[
++.BI +W wopts
++]
++[
++.BI +Z zopts
++]
++[
++.BI + opts
++]
++.IR animfile
++[ [
++.BI + opts
++]
++[
++.IR animfile
++] ... ]
++.SH DESCRIPTION
++.IR XAnim
++is a program that can display animation/video/audio files of various formats
++on systems running X11.
++.IR XAnim
++currently supports the following animation types:
++.LP
++.RS
++.PD 0
++.TP 3
++.B +
++FLI animations.
++.TP 3
++.B +
++FLC animations.
++.TP 3
++.B +
++IFF animations. The following features are supported:
++.RS
++.TP 3
++ \-> Compressions 3,5,7,J(movies) and l(small L).
++.TP 3
++ \-> Color cycling during single images and anims.
++.TP 3
++ \-> Display Modes: depth 1-8, EHB, HAM and HAM8.
++.RE
++.TP 3
++.B +
++GIF87a and GIF89a files.
++.RS
++.TP 3
++ \-> single and multiple images supported.
++.TP 3
++ \-> GIF89a animation extensions supported.
++.RE
++.TP 3
++.B +
++GIF89a animation extension support.
++.TP 3
++.B +
++a kludgy text file listing gifs and what order to show them in.
++.TP 3
++.B +
++DL animations. Formats 1, 2 and partial 3.
++.TP 3
++.B +
++Amiga PFX(PageFlipper Plus F/X) animations. TEMP DISABLED
++.TP 3
++.B +
++Amiga MovieSetter animations(For those Eric Schwartz fans).
++.TP 3
++.B +
++Utah Raster Toolkit RLE images and anims.
++.TP 3
++.B +
++AVI Animations Format
++.RS
++.TP 3
++ Supported Video Codecs:
++.RS
++.TP 3
++ \-> IBM Ultimotion (ULTI) depth 16.
++.TP 3
++ \-> JPEG (JPEG) depth 24.
++.TP 3
++ \-> Motion JPEG (MJPG) depth 24.
++.TP 3
++ \-> Intergraph JPEG (IJPG) depth 24.
++.TP 3
++ \-> Microsoft Video 1 (CRAM) depth 8 and 16.
++.TP 3
++ \-> Radius Cinepak (CVID) depth 24. (see NOTE 1)
++.TP 3
++ \-> Intel Indeo 3.1 (IV31) depth 24. (see NOTE 2)
++.TP 3
++ \-> Intel Indeo 3.2 (IV32) depth 24. (see NOTE 2)
++.TP 3
++ \-> Intel Raw YUV (YUV9) depth 24. (see NOTE 2)
++.TP 3
++ \-> Creative CYUV (CYUV) depth 16. (see NOTE 3)
++.TP 3
++ \-> Uncompressed (RGB ) depth 4.
++.TP 3
++ \-> Uncompressed (RGB ) depth 8.
++.TP 3
++ \-> Uncompressed (RGB ) depth 16.
++.TP 3
++ \-> Uncompressed (RGB ) depth 24.
++.TP 3
++ \-> Run length encoded (RLE8) depth 8.
++.TP 3
++ \-> Editable MPEG (XMPG) depth 24.
++.RE
++.TP 3
++ Supported Audio Codecs:
++.RS
++.TP 3
++ \-> PCM 8/16 bits mono/stereo
++.TP 3
++ \-> uLAW mono/stereo
++.TP 3
++ \-> MSADPCM mono/stereo
++.TP 3
++ \-> Intel DVI(IMA4) mono/stereo
++.TP 3
++ \-> GSM 6.10 mono
++.RE
++.RE
++.TP 3
++.B +
++Quicktime Animations.
++.RS
++.TP 3
++ Supported Video Codecs:
++.RS
++.TP 3
++ \-> Uncompressed (RAW ) depth 1,4,8,16,24 and 24+
++.TP 3
++ \-> Uncompressed (RAW ) Gray depth 1,4 and 8.
++.TP 3
++ \-> Apple Graphics (RLE ) depth 1,8,16 and 24.
++.TP 3
++ \-> Apple Graphics (RLE ) GRAY depth 8.
++.TP 3
++ \-> Apple Animation (SMC ) depth 8 and GRAY 8.
++.TP 3
++ \-> Apple Video (RPZA) depth 16.
++.TP 3
++ \-> Radius Cinepak (CVID) depth 24. (see NOTE 1)
++.TP 3
++ \-> Radius Cinepak (CVID) GRAY 8. (see NOTE 1)
++.TP 3
++ \-> Intel Indeo 3.1 (IV31) depth 24. (see NOTE 2)
++.TP 3
++ \-> Intel Indeo 3.2 (IV32) depth 24. (see NOTE 2)
++.TP 3
++ \-> Intel Raw YUV (YUV9) depth 24. (see NOTE 2)
++.TP 3
++ \-> Component Video (YUV2) depth 24.
++.TP 3
++ \-> Photo JPEG (JPEG) depth 8 and 24.
++.TP 3
++ \-> Kodak Photo CD (KPCD) depth 24.
++.TP 3
++ \-> Microsoft Video 1 (CRAM) depth 8 and 16.
++.RE
++.TP 3
++ Supported Audio Codecs:
++.RS
++.TP 3
++ \-> Unsigned PCM (raw) 8/16 bits mono/stereo
++.TP 3
++ \-> Signed PCM (twos) 8/16 bits mono/stereo
++.TP 3
++ \-> uLAW (ulaw) mono/stereo
++.TP 3
++ \-> IMA4 (ima4) mono/stereo
++.TP 3
++ \-> GSM 6.10 (agsm) mono
++.RE
++.TP 3
++ The following features are supported:
++.RS
++.TP 3
++ \-> Supports multiple video trak's.
++.TP 3
++ \-> Supports animations with multiple codecs.
++.TP 3
++ \-> Supports merged and separated resource forks.
++.RE
++.RE
++.TP 3
++.B +
++SGI Movie Format Files.
++.RS
++.TP 3
++ Supported Video Codecs:
++.RS
++.TP 3
++ \-> Uncompressed RGB 24 bits
++.TP 3
++ \-> MVC1
++.TP 3
++ \-> MVC2
++.TP 3
++ \-> JPEG
++.RE
++.TP 3
++ Supported Audio Codecs:
++.RS
++.TP 3
++ \-> Unsigned PCM 8/16 mono/stereo
++.TP 3
++ \-> Signed PCM 8/16 mono/stereo
++.RE
++.RE
++.B +
++WAV audio files may have their sound added to any animation
++type that doesn't already have audio, by specifying the .wav
++file after the animation file on the command line.
++.RS
++.TP 3
++ Supported Audio Codecs:
++.RS
++.TP 3
++ \-> PCM 8/16 bits mono/stereo
++.TP 3
++ \-> uLAW mono/stereo
++.TP 3
++ \-> MSADPCM mono/stereo
++.TP 3
++ \-> Intel DVI(IMA4) mono/stereo
++.TP 3
++ \-> GSM 6.10 mono
++.RE
++.RE
++.TP 3
++.B +
++AU audio files may have their sound added to any animation
++type that doesn't already have audio, by specifying the .wav
++file after the animation file on the command line.
++.TP 3
++.B +
++JFIF images. NOTE: use XV for single images. This is more
++for animation of a sequence of JPEG images.
++.TP 3
++.B +
++MPEG animations. Currently only Type I Frames are displayed. Type B
++and Type P frames are currently ignored, but will be added in future revs.
++It also doesn't handle MPEGs with audio streams.
++.TP 3
++.B +
++any combination of the above on the same command line.
++.TP 3
++.B NOTE_1:
++Please read the "cinepak.readme" file for directions on adding
++Radius Cinepak support to XAnim.
++.TP 3
++.B NOTE_2:
++Please read the "indeo.readme" file for directions on adding
++Intel Indeo 3.1 and 3.2 support to XAnim.
++.TP 3
++.B NOTE_3:
++Please read the "creative.readme" file for directions on adding
++Creative Technology CYUV support to XAnim.
++.RE
++.PD
++.LP
++.IR XAnim
++also provides various options that allow the user to alter colormaps,
++playback speeds, looping modes and can provide on\-the\-fly
++scaling of animations with the mouse.
++.SH OPTIONS
++A + will generally turn an option on and a \- will turn an option off.
++This can be reversed at compile time. (see
++.IR xanim_config.h ).
++.LP
++In each SubMenu, the options can be run together with no intervening
++spaces. In the list of SubMenu options presented below, the first letter
++given is the letter that specifies the SubMenu and should NOT be repeated
++if several SubMenu options are to be run together.
++.LP
++For example, "+Cn +Cs10 +CF4" can also be written as "+Cns10F4" or "+CF4s10n".
++.LP
++A + or a - within a SubMenu will be an exit from that submenu.
++Options will affect all animations following the invocation of that
++option. Some options may be changed in between animations without affecting
++previous animations.
++.LP
++In the following sections, an
++.I num
++represents an integer number and an
++.I fnum
++represents a floating point number. If a floating point number is of
++an integer amount, the . need not be specified. There should be no
++spaces between the option and the numbers.
++
++.I aopts
++SubMenu for Audio Options
++.RS
++.TP 8
++.BI +AD dev
++AIX Only. Specify audio device. Default is /dev/paud0/1 . Another common
++audio device is /dev/acpa0/1 . For example: "+AD/dev/acpa0/1".
++.TP
++.B +Ae
++Audio Enable. XAnim will ignore audio data if this option is not used.
++.TP
++.B +Ak
++This option allows XAnim to skip video frames in order to help
++keep video in sync with audio. default is on.
++.TP
++.B +Am
++Take the audio from the next audio-only file and use it with the
++video file previous to it. Any audio already existing in that
++video file will be discarded. NOTE: XAnim by default will add
++audio from an audio-only file to a previous video only(ie not audio)
++file. This option just forces the issue if the previous file already
++has audio.
++.TP
++.B +AM
++Take the audio from the next audio-only file and use it with the
++video file previous to it. And in addition, scale the timing of
++that video file to be of the same duration of this audio file.
++Any audio already existing in that video file will be discarded.
++.TP
++.BI +Ap num
++This turns a hardware specific Audio port on or off. The default port is
++selectable in xanim_config.h. It's shipped with internal speaker as default.
++.TP
++.BI +As fnum
++Scale Audio playback speed by "fnum". Only the range 0.125 to 8.00 is allowed.
++NOTE: Video does not currently scale with the audio.
++.RS
++.TP 12
++ 0 \- internal speaker
++.TP 12
++ 1 \- headphones or external speaker
++.TP 12
++ 2 \- line out
++.RE
++.TP
++.BI +Av num
++Sets the inital Audio Volume(0\-100) with 0 the lowest. default is 40.
++.RE
++.LP
++.I copts
++SubMenu for Color Options
++.RS
++.TP 8
++.B +C1
++Create a colormap from the first frame of a TrueColor anim and then
++remap the remaining frames to this colormap. This can potentially add
++significant time to the startup of an animation but usually results
++in better colors. The animation needs to be buffered for this option
++to work. Not valid for TrueColor or DirectColor displays(nor is it
++needed).
++.TP
++.B +C3
++Convert TrueColor anims to 332(StaticColor). TrueColor anims are
++animations that provide separate RGB info for each pixel, rather
++than each pixel being an index into a global colormap. AVI(16bit CRAM),
++QT(RPZA and RLE depth 16 and 24) and URT RLE 24 bit anims are examples
++of TrueColor anims. This option is ignored for TrueColor or DirectColor
++displays.
++.TP
++.B +CA
++Create a colormap from each frame of a TrueColor anim. This can be useful
++if the colors radically change during the course of the animation. This
++can take a VERY,VERY long time at start up. Animation must be buffered.
++This option is ignored for TrueColor or DirectColor displays.
++.TP
++.B +Ca
++Remap all images to single new cmap created from all of the colormaps.
++.TP
++.B +Cd
++Use Floyd\-Steinberg dithering if needed for non\-monochrome displays.
++This will cause a reduction in playback speed.
++.TP
++.B +Cf
++Forcibly remap to all frames to 1st frame's cmap.
++.TP
++.B +CF0
++Disables +CF4.
++.TP
++.B +CF4
++This option samples the colors of true color
++animations ahead of time and forms a color
++lookup table. Beats the just truncating to a
++RGB 332 color table and IMHO beats dithering.
++See the +s option below(also in copts submenu).
++NOTE: this is now on by default.
++.TP
++.B +Cg
++Convert TrueColor anims to gray scale. This option is ignored for
++TrueColor and DirectColor displays.
++.TP
++.B +Ch
++Use histogram to aid in color reduction. Histrogramming is only
++done on frames that are buffered.
++.TP
++.B +Cm
++This option is currently needed if you want to dither TrueColor anims
++to a 332 colormap. Animation must be buffered. Typically +bC3dm is
++the option to use. This can take a VERY long time at start up.
++.TP
++.B +Cn
++Don't create new colormap but instead allocate colors from the X11
++Display's default cmap.
++.TP
++.BI +Cs num
++This is the number of frames the +CF4 option looks
++at ahead of time. More frames potentially yields
++better colors results, but takes more time at
++start up. default is 5.
++.RE
++.LP
++.I gopts
++SubMenu for Gamma Options
++.RS
++.TP 8
++.BI +Ga fnum
++Set gamma of animation to be displayed.
++.TP
++.BI +Gd fnum
++Set gamma of display. 1.0 is no change. gamma's greater than 1.0
++typically brighten the animation.
++.RE
++.LP
++.I mopts
++SubMenu for Median\-Cut Quantization Options
++.RS
++.TP 8
++.B +Ma
++compute box color from average of box.
++.TP
++.B +Mc
++compute box color as center of box.
++.TP
++.BI +Mb num
++Truncate rgb to
++.I num
++bits before quantizing.
++.RE
++.LP
++.I sopts
++SubMenu for Scaling Options
++.RS
++.TP 8
++.B +Si
++Half the height of IFF anims if they are interlaced.(Not completely
++reliable since not all IFF anims correctly identify themselves as
++interlaced).
++.TP
++.B +Sn
++Prevents X11 window from resizing to match animations's size.
++.TP
++.B +Sr
++Allow user to resize animation on the fly. Enlarging an animation
++can greatly reduce playback speed depending on the power of the cpu.
++.TP
++.BI +Ss fnum
++Scale the size of animation by
++.I fnum
++before displaying.
++.TP
++.BI +Sh fnum
++Scale the horizontal size of the animation by
++.I fnum
++before displaying.
++.TP
++.BI +Sv fnum
++Scale the vertical size of the animation by
++.I fnum
++before displaying.
++.TP
++.BI +Sx num
++Scale the animation to have width
++.I num
++before displaying.
++.TP
++.BI +Sy num
++Scale the animation to have height
++.I num
++before displaying.
++.TP
++.B +Sc
++Copy display scaling factors to display buffering factors.
++.TP
++.BI +SS fnum
++Scale the size of the animation by
++.I fnum
++before buffering it.
++.TP
++.BI +SH fnum
++Scale the horizontal size of the animation by
++.I fnum
++before buffering it.
++.TP
++.BI +SV fnum
++Scale the vertical size of the animation by
++.I fnum
++before buffering it.
++.TP
++.BI +SX num
++Scale the animation to have width
++.I num
++before buffering it.
++.TP
++.BI +SY num
++Scale the animation to have height
++.I num
++before buffering it.
++.TP
++.B +SC
++Copy buffer scaling factors to display scaling factors.
++.RE
++.LP
++.I wopts
++SubMenu for Remote Window and Control Options.
++.RS
++.TP 8
++.B NOTE:
++See the file Remote_Window.doc for more details.
++.TP
++.BI +W id
++Specify X11 Window
++.I id
++of window to draw into.
++.TP
++.B +Wd
++Don't refresh window at end of anim.
++.TP
++.BI +Wn string
++Use property
++.I string
++for communication. Default is XANIM_PROPERTY
++.TP
++.B +Wp
++Prepare anim, but don't start playing it.
++.TP
++.B +Wr
++Resize X11 Window to fit anim.
++.TP
++.BI +Wx num
++Position anim at x coordinate
++.I num.
++.TP
++.BI +Wy num
++Position anim at y coordinate
++.I num.
++.TP
++.B +Wc
++Position relative to center of anim.
++.RE
++.LP
++.I zopts
++SubMenu for Special Options
++.RS
++.TP 8
++.B +Ze
++XAnim will exit after playing through command line once.
++.TP
++.BI +Zp num
++XAnim pause at frame
++.I num
++and then wait for user input. Several pauses may be specified. Each group
++of pauses will only affect the animation immediately following them on
++the command line. Pauses will occur at least once.
++.TP
++.B +Zpe
++XAnim will pause on the last frame of the animation.
++.TP
++.B +Zr
++This option pops up the Remote Control Window. This overrides the default
++condition set in xanim_config.h. Remote Control support must be compiled
++into XAnim for this to work.
++.TP
++.B +Zv
++This option cause XAnim to exit prior to even displaying the animation.
++This is useful in conjunction with the +v option if you just
++want to obtain info about the animation without actually playing it.
++.RE
++.LP
++Normal Options
++.RS
++.TP 8
++.B +b
++Uncompress and buffer images before displaying. This only applies to AVI, QT,
++IFF, FLI, FLC, JPEG, MPEG and DL animations.
++The rest(GIF87a, GIF89a, PFX and RLE) are currently always uncompressed
++and buffered. This is cleared by the +f option.
++.TP
++.B +B
++Used X11 Shared Memory(if present) for unbuffered animations only.(This is
++mutually exclusive with +b above).
++.TP
++.B +D
++Use X11 Multi Buffering (if present) to smooth animations by double-buffering.
++Default is on.
++.TP
++.B +f
++Don't load anim into memory, but read each section only when needed. This is
++supported only for AVI, QT, IFF, FLI, FLC, JPEG, MPEG and DL animations.
++This option is cleared by the +b option.
++This saves memory at the cost of speed.
++.TP
++.B +c
++let xanim know that iff anim is a nonlooping one.
++.TP
++.BI +d num
++debug switch.
++.I num
++can be from 0(off) to 5(most) for level of detail.
++.TP
++.B +F
++Floyd-Steinberg dithering when needed.
++.TP
++.BI +j num
++.I num
++is the number of milliseconds between frames. if 0 then the time
++specified in the animation is used for timing purposes.
++.TP
++.BI +l num
++loop animation
++.I num
++number of times before moving on to next animation.
++.TP
++.BI +lp num
++ping\-pong animation
++.I num
++number of times before moving on to next animation.
++.TP
++.B +N
++don't display images. Useful for benchmarking.
++.TP
++.B +o
++turns on certain optimizations. See
++.I xanim.readme.
++.TP
++.B +p
++Use Pixmap instead of Image in X11. This option has no effect if the
++animation is buffered(either by default or with the +b option).
++.TP
++.B +q
++Prevents XAnim from printing out the title header. Useful for when XAnim is
++called by other programs where no tty output is desired(doesn't affect +v
++or +d# options).
++.TP
++.B +root
++Tiles animation\/video onto X11 root screen.
++.TP
++.B +r
++Allow color cycling for IFF single images.
++.TP
++.B +R
++Allow color cycling for IFF anims. (default should be off)
++.TP
++.B +T0
++Title option 0. Title is just XAnim.
++.TP
++.B +T1
++Title option 1. Title is current anim name. When anim is stopped, the current
++frame number is included.
++.TP
++.B +T2
++Title option 2. Title is current anim name and current frame number.
++.TP
++.B +v
++Verbose mode. Gives some information about animation such as size,
++number of frames, etc.
++.TP
++.BI +V num
++Select X11 Visual to use when displaying animation. The
++.I num
++is obtained by using the +X option of xanim.
++.TP
++.BI +V class
++Select the best X11 Visual of Class
++.I class
++when displaying the animation.
++.I class
++can be anyone of the following strings and is case insensitive. (ie
++StaTicGraY is same as staticgray).
++.RS
++.TP 14
++.B staticgray
++Select best StaticGray Visual.
++.TP
++.B grayscale
++Select best GrayScale Visual.
++.TP
++.B staticcolor
++Select best StaticColor Visual.
++.TP
++.B pseudocolor
++Select best PseudoColor Visual.
++.TP
++.B truecolor
++Select best TrueColor Visual.
++.TP
++.B directcolor
++Select best DirectColor Visual.
++.RE
++.TP
++.B +X
++X11 verbose mode. Display information about the support X11 visuals.
++.RE
++
++
++.SH WINDOW COMMANDS
++.LP
++Once the animation is up and running there are various commands that can
++be entered into that animation window from the keyboard.
++.LP
++.TP 10
++.B q
++quit.
++.TP
++.B Q
++Quit.
++.TP
++.B g
++Stop color cycling.
++.TP
++.B p
++Toggle ping pong flag for looping.
++.TP
++.B r
++Restore original Colors(useful after g).
++.TP
++.B w
++Restore original window size(useful after resizing).
++.TP
++.B z
++This pops up or removes the Remote Control Window. Remote Control support
++must be compiled into XAnim for this to work.
++.TP
++.B <space>
++Toggle. starts/stops animation.
++.TP
++.B ,
++Single step back one frame.
++.TP
++.B .
++Single step forward one frame.
++.TP
++.B <
++Go back to start of previous anim.
++.TP
++.B >
++Go forward to start of next anim.
++.TP
++.B m
++Single step back one frame staying within anim.
++.TP
++.B /
++Single step forward one frame staying within anim.
++.TP
++.B -
++Increase animation playback speed.
++.TP
++.B =
++Decrease animation playback speed.
++.TP
++.B 0
++Reset animation playback speed to original values.
++.TP
++AUDIO RELATED WINDOW COMMANDS
++.TP
++.B 1
++Decrement volume by 10.
++.TP
++.B 2
++Decrement volume by 1.
++.TP
++.B 3
++Increment volume by 1.
++.TP
++.B 4
++Increment volume by 10.
++.TP
++.B s
++Toggle. Audio Volume(MUTE). on/off.
++.TP
++.B 8
++Toggle. Main Speaker. on/off.
++.TP
++.B 9
++Toggle. Headphones. on/off.
++
++
++.SH MOUSE BUTTONS
++.LP
++Once the animation is up and running the mouse buttons have the following
++functions.
++.LP
++.TP 10
++.B <Left_Button>
++Single step back one frame.
++.TP 10
++.B <Middle_Button>
++Toggle. starts/stops animation.
++.TP 10
++.B <Right_Button>
++Single step forward one frame.
++.LP
++.SH BUFFERING, PIXMAPS and READ_FROM_FILE Options
++.LP
++XAnim by default will read the entire animation into memory. PFX,
++Moviesetter, GIF or URT RLE type animations are always uncompressed
++and stored in memory as individual images.
++.LP
++For the AVI, QT, IFF, FLI/FLC, JPEG, MPEG and DL animations, only the
++compressed delta is stored.
++These deltas are then uncompressed each time they need to be
++displayed. The buffer option(+b) may be used to potentially speed up
++playback by uncompressing and storing these images ahead of time. But
++more memory is used up in the process.
++.LP
++When an XPutImage is called, the image typically gets copied twice, once
++to memory and then from there onto the display. A pixmap is directly
++copied onto the display without the first copy. This is why it is
++sometimes much faster to use the pixmap option(+p). Each image isn't
++converted into a pixmap until the first time it is displayed. This is
++why the first loop of an animation using this option is sometimes
++slower than subsequent loops. While the pixmap option may improve
++playback speed, it will slow things down if on-the-fly scaling needs
++to be performed. This is because XAnim no longer has direct access
++to the image and needs to get a copy of it before it can be scaled.
++.LP
++The read from file option(+f) causes XAnim not to store the compressed
++deltas in memory. Instead as each image is to be displayed, XAnim reads
++the corresponding compressed delta from the file, expands it and then
++displays it. While this can dramatically cut down on memory usage, the
++necessary reads from disk(or whatever) can slow down playback speed.
++XAnim still needs to allocate one to three image buffers depending on
++the type of animation and the scaling options used. This option is only
++supported for AVI, QT, FLI/FLC, IFF, JPEG, MPEG and DL animations. The
++BODY chunk of IFF animations is not included in this. As a result, an
++IFF animation that is made up of several BODY chunks will not currently
++benefit from this option.
++.LP
++.SH SCALING Options
++.LP
++There are two sets of scaling options. One set, the display scaling
++factors, affects the size of the animation as it is displayed. The
++other set, the buffer scaling factors, affect the size of the images
++as they are stored in memory(buffered). The buffer scaling factors
++only affect animations that are buffered and can greatly increase or
++decrease memory usage.
++
++These two sets are completely independent of each other. You can set
++the buffer scaling factors to 20 times the normal animation size
++and not affect the size at which that animation is displayed. The images
++are stored at 20 times the normal size(and at 400 times the memory
++usage), but then get scaled back down to normal size before being
++displayed. NOTE: that an animation must be buffered in order for
++the buffer scaling factors to have any affect on it. The display
++scaling factors affect all animations.
++
++You can create pixellation like affects by buffering the animation
++at 1/8 it's normal size, but keeping the display scaling factors
++at the original size. (IE "xanim +bSS0.125 anim.anim").
++
++Many times it's faster to store and display an animation with large
++dimensions at half-size. The option "+bSS0.5C" or "+bSS0.5s0.5"
++both will accomplish this. To save memory, you could even store
++the animation at half size and yet display it at full size. "+bSS0.5"
++will accomplish this.
++.LP
++.SH FORWARDS, BACKWARDS and OPTIMIZATION.
++.LP
++Many type of animations(FLI/FLC/IFF/some AVI and QTs) are compressed
++with forward playback in mind only. Each delta only stores the difference
++between the current frame and the previous frame. As a results, most
++of these animations don't display correctly when played backwards.
++Even when buffered up, these may not work, since XAnim only stores
++the smallest rectangle that encompasses the changes from the previous
++frame. You can force XAnim to store the entire frame by specifying
++the "-o" option to turn this optimization off. This will most likely
++use more memory and slow down the animation, since more of the image
++needs to be stored and/or displayed.
++.LP
++.SH COLOR OPTIONS
++.LP
++Most of this will be a TBD for a future rev and what's here might be
++sketchy, incomplete or just plain confusing.
++
++TrueColor and DirectColor displays don't need to worry about most
++of these options, as the animations can be displayed in their
++original colors(ignoring monitor variations etc). However, TrueColor
++and DirectColor displays can't display animations that employ color
++cycling techniques where the colormap changes from frame to frame.
++DirectColor could potentially support this, but not TrueColor.
++
++For the rest of the displays, the problem becomes matching the
++colors in the animations to the available colors of the Display.
++For most PseudoColor displays this means 256 colors. Many of
++which are already in use by various other programs. XAnim
++defaults to creating it's own colormap and using all the colors
++from that. The window manager then installs this new colormap,
++whenever the mouse pointer is inside the XAnim animation
++window(Sometimes a specific action is required
++to change the ColorMap Focus, like clicking in the window or pressing
++a specific key). In any case, this action usually causes all the other
++colors on the screen to be temporarily "messed-up" until the mouse is
++moved out of the animation window. The alternative, is to use
++the "+Cn" option. Now XAnim tries allocating all the colors it needs
++from the current colormap. If it can't get a certain color, then XAnim
++choose one that is "close" to this certain color. Close is completely
++arbitrary. The animation is now displayed in colors that are different
++than the original colors. This difference may or may not be noticeable.
++
++Another big problem is when the animations are what I called TrueColor
++animations. Where each pixel is stored as RGB triplets. For example,
++AVI 16 bit CRAM animations. Each pixel has 5 bits of Red, 5 bits of Green
++and 5 bits of Blue info associated with it. This means there can be up to
++32768 unique colors in each image. And on most PseudoColor displays we
++can only display 256 unique colors. Beside getting better displays, what
++can we do? XAnim defaults to truncating the RGB information from 555 to
++332. That is to 3 bits of Red, 3 bits of Green and 2 bits of Blue. Less
++on Blue because the human eye is more sensitive to Red and Green than Blue.
++This 332 colormap happens to be 256 colors in size, which nicely fits in with
++our display. If our display only had 64 colors, then XAnim is smart enough
++to truncate things down to 222. Now the problem is the colors of the
++displayed anim are noticeably different than the original colors.
++Typically you can see color banding etc. While this is fine to get
++a feel for the animation, we can do better. One of the solutions XAnim
++currently offers is the "+bC1" option. What this does is choose the
++the best 256 colors from the first image of the animation. Then each
++pixel of each subsequent image is remapped to one of these 256 colors.
++This takes up some CPU time up front and more memory since each image
++needs to be buffered, but results in a colors that are
++closer to the originals. Another option, "+bCA", chooses the best 256 from
++each image, then 256 colors from all these colormaps are chosen as the
++final colormap. This is useful if the colors in the first image aren't
++representative of the rest of the animation. This can be very slow.
++Another option that is
++supported, but not really optimized for yet is "+bC3dm". This causes
++XAnim to use a 332 colormap and then apply a Floyd-Steinberg dither
++algorithm to each image. Currently this is very slow. Different
++dithers(like Ordered) and better optimizations might speed this up in
++future revs. In general, handling of TrueColor animations in XAnim
++needs to be improved.
++
++Another scenario where colors need to be remapped, is when several
++images or animations with different colormaps need to be displayed.
++Changing the colormap usually results in an annoying flicker. One
++solution to this is to remap all of the images/animations to the
++same colormap. The "+Ca" option chooses the best colors from all the
++colormaps and then remaps all the images to it. The "+Cf" option,
++simply remaps everything to the first colormap.
++The "+Ch" option is useful when an animation's colormap
++specifies a lot of colors that aren't used. XAnim looks through
++each buffered image of the animation and makes a histogram of the
++useage of each color. This information is then used to weedout
++unused or rarely used colors.
++.LP
++.SH QUICKTIME ANIMATIONS
++.LP
++Quicktime animations are usually stored in two separate files. One
++is call a data fork and ends with a ".data". The other is a resource
++fork and ends in a ".rsrc". Sometimes these animations are in a
++"flattened/merged fork" format, where everything is put into one file.
++There's no standard naming format for these types of files, although
++usually .qt or .mov is used.
++
++For example, if you have a quicktime animation made up of two files named:
++"spin.rsrc" and "spin.data", you can display them using Xanim
++with either of the following commands "xanim spin" or "xanim spin.rsrc".
++XAnim is smart enough to add/modfiy the ".rsrc" and ".data" endings as
++needed.
++
++If you use AUFS from the Columbia Appletalk Package, then Macintosh
++files have their data fork stored in the expected place, and the
++resource fork is in a file with the same name in a .resource
++subdirectory. Therefore, if the data fork is in "spin", and the resource
++fork is in ".resource/spin", the movie can be displayed with "xanim spin".
++
++For "flattened/merged_fork" quicktime animations, you need to specify
++the entire file name.
++
++NOTE: XAnim doesn't support 100% of the quicktime format.
++.LP
++.SH AUTHOR
++.LP
++Mark Podlipec
++.LP
++podlipec@ici.net
++.LP
++http://xanim.va.pubnix.com/home.html
++http://smurfland.cit.buffalo.edu/xanim/home.html
++http://www.tm.informatik.uni-frankfurt.de/xanim/
++