packages icon



 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



 NAME
      xanim - multiformat animation/video/audio viewer for X

 SYNOPSIS
      xanim [ +Vnum ] [ +Aaopts ] [ +Ccopts ] [ +Ggopts ] [ +Mmopts ] [
           +Ssopts ] [ +Wwopts ] [ +Zzopts ] [ +opts ] animfile [ [ +opts ] [
           animfile ] ... ]

 DESCRIPTION
      XAnim is a program that can display animation/video/audio files of
      various formats on systems running X11. XAnim currently supports the
      following animation types:
           +  FLI animations.
           +  FLC animations.
           +  IFF animations. The following features are supported:
           +  GIF87a and GIF89a files.
           +  GIF89a animation extension support.
           +  a kludgy text file listing gifs and what order to show them
              in.
           +  DL animations. Formats 1, 2 and partial 3.
           +  Amiga PFX(PageFlipper Plus F/X) animations. TEMP DISABLED
           +  Amiga MovieSetter animations(For those Eric Schwartz fans).
           +  Utah Raster Toolkit RLE images and anims.
           +  AVI Animations.
           +  Quicktime Animations.
           +  SGI Movie Format Files.
           +  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.
           +  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.
           +  JFIF images. NOTE: use XV for single images. This is more for
              animation of a sequence of JPEG images.
           +  MPEG animations. NOT FULLY SUPPORTED. NO AUDIO. And 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.
           +  any combination of the above on the same command line.
           +  See the file "Formats.doc" for specific support details for
              each format.
           NOTE_1:
              Please read the "README.dll", "README.zlib", "cinepak.readme",
              "indeo.readme" and "creative.readme" files
      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.

 OPTIONS
      A + will generally turn an option on and a - will turn an option off.
      This can be reversed at compile time. (see xanim_config.h).  In each



                                    - 1 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



      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. For example, "+Cn
      +Cs10 +CF4" can also be written as "+Cns10F4" or "+CF4s10n".  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.  In the following sections, an num represents an
      integer number and an 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.

      aopts SubMenu for Audio Options

           +ADdev  AIX Only. Specify audio device. Default is /dev/paud0/1 .
                   Another common audio device is  /dev/acpa0/1 . For
                   example: "+AD/dev/acpa0/1".

           +Ae     Audio Enable. XAnim will ignore audio data if this option
                   is not used.

           +Ak     This option allows XAnim to skip video frames in order to
                   help keep video in sync with audio.  default is on.

           +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.

           +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.

           +Apnum  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.

           +Asfnum 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.

                    0 - internal speaker





                                    - 2 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



                    1 - headphones or external speaker

                    2 - line out

           +Avnum  Sets the inital Audio Volume(0-100) with 0 the lowest.
                   default is 40.
      copts SubMenu for Color Options

           +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).

           +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.

           +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.

           +Ca     Remap all images to single new cmap created from all of
                   the colormaps.

           +Cd     Use Floyd-Steinberg dithering if needed for
                   non-monochrome displays.  This will cause a reduction in
                   playback speed.

           +Cf     Forcibly remap to all frames to 1st frame's cmap.

           +CF0    Disables +CF4.

           +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.

           +Cg     Convert TrueColor anims to gray scale. This option is
                   ignored for TrueColor and DirectColor displays.





                                    - 3 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



           +Ch     Use histogram to aid in color reduction. Histrogramming
                   is only done on frames that are buffered.

           +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.

           +Cn     Don't create new colormap but instead allocate colors
                   from the X11 Display's default cmap.

           +Csnum  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.
      gopts SubMenu for Gamma Options

           +Gafnum Set gamma of animation to be displayed.

           +Gdfnum Set gamma of display. 1.0 is no change. gamma's greater
                   than 1.0 typically brighten the animation.
      mopts SubMenu for Median-Cut Quantization Options

           +Ma     compute box color from average of box.

           +Mc     compute box color as center of box.

           +Mbnum  Truncate rgb to num bits before quantizing.
      sopts SubMenu for Scaling Options

           +Si     Half the height of IFF anims if they are interlaced.(Not
                   completely reliable since not all IFF anims correctly
                   identify themselves as interlaced).

           +Sn     Prevents X11 window from resizing to match animations's
                   size.

           +Sr     Allow user to resize animation on the fly. Enlarging an
                   animation can greatly reduce playback speed depending on
                   the power of the cpu.

           +Ssfnum Scale the size of animation by fnum before displaying.

           +Shfnum Scale the horizontal size of the animation by fnum before
                   displaying.

           +Svfnum Scale the vertical size of the animation by fnum before
                   displaying.

           +Sxnum  Scale the animation to have width num before displaying.




                                    - 4 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



           +Synum  Scale the animation to have height num before displaying.

           +Sc     Copy display scaling factors to display buffering
                   factors.

           +SSfnum Scale the size of the animation by fnum before buffering
                   it.

           +SHfnum Scale the horizontal size of the animation by fnum before
                   buffering it.

           +SVfnum Scale the vertical size of the animation by fnum before
                   buffering it.

           +SXnum  Scale the animation to have width num before buffering
                   it.

           +SYnum  Scale the animation to have height num before buffering
                   it.

           +SC     Copy buffer scaling factors to display scaling factors.
      wopts SubMenu for Remote Window and Control Options.

           NOTE:   See the file Remote_Window.doc for more details.

           +Wid    Specify X11 Window id of window to draw into.

           +Wd     Don't refresh window at end of anim.

           +Wnstring
                   Use property string for communication.  Default is
                   XANIM_PROPERTY

           +Wp     Prepare anim, but don't start playing it.

           +Wr     Resize X11 Window to fit anim.

           +Wxnum  Position anim at x coordinate num.

           +Wynum  Position anim at y coordinate num.

           +Wc     Position relative to center of anim.
      zopts SubMenu for Special Options

           +Ze     XAnim will exit after playing through command line once.

           +Zpnum  XAnim pause at frame 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.




                                    - 5 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



           +Zpe    XAnim will pause on the last frame of the animation.

           +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.

           +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.
      Normal Options

           +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.

           +B      Used X11 Shared Memory(if present) for unbuffered
                   animations only.(This is mutually exclusive with +b
                   above).

           +D      Use X11 Multi Buffering (if present) to smooth animations
                   by double-buffering.  Default is on.

           +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.

           +c      let xanim know that iff anim is a nonlooping one.

           +dnum   debug switch. num can be from 0(off) to 5(most) for level
                   of detail.

           +F      Floyd-Steinberg dithering when needed.

           +jnum   num is the number of milliseconds between frames. if 0
                   then the time specified in the animation is used for
                   timing purposes.

           +lnum   loop animation num number of times before moving on to
                   next animation.

           +lpnum  ping-pong animation num number of times before moving on
                   to next animation.

           +N      don't display images. Useful for benchmarking.




                                    - 6 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



           +o      turns on certain optimizations. See xanim.readme.

           +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).

           +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).

           +root   Tiles animation/video onto X11 root screen.

           +r      Allow color cycling for IFF single images.

           +R      Allow color cycling for IFF anims. (default should be
                   off)

           +T0     Title option 0. Title is just XAnim.

           +T1     Title option 1. Title is current anim name. When anim is
                   stopped, the current frame number is included.

           +T2     Title option 2. Title is current anim name and current
                   frame number.

           +v      Verbose mode. Gives some information about animation such
                   as size, number of frames, etc.

           +Vnum   Select X11 Visual to use when displaying animation. The
                   num is obtained by using the +X option of xanim.

           +Vclass Select the best X11 Visual of Class class when displaying
                   the animation. class can be anyone of the following
                   strings and is case insensitive. (ie StaTicGraY is same
                   as staticgray).

                   staticgray    Select best StaticGray Visual.

                   grayscale     Select best GrayScale Visual.

                   staticcolor   Select best StaticColor Visual.

                   pseudocolor   Select best PseudoColor Visual.

                   truecolor     Select best TrueColor Visual.

                   directcolor   Select best DirectColor Visual.

           +X      X11 verbose mode. Display information about the support
                   X11 visuals.




                                    - 7 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



 WINDOW COMMANDS
      Once the animation is up and running there are various commands that
      can be entered into that animation window from the keyboard.

      q         quit.

      Q         Quit.

      g         Stop color cycling.

      p         Toggle ping pong flag for looping.

      r         Restore original Colors(useful after g).

      w         Restore original window size(useful after resizing).

      z         This pops up or removes the Remote Control Window. Remote
                Control support must be compiled into XAnim for this to
                work.

      <space>   Toggle. starts/stops animation.

      ,         Single step back one frame.

      .         Single step forward one frame.

      <         Go back to start of previous anim.

      >         Go forward to start of next anim.

      m         Single step back one frame staying within anim.

      /         Single step forward one frame staying within anim.

      -         Increase animation playback speed.

      =         Decrease animation playback speed.

      0         Reset animation playback speed to original values.

      AUDIO RELATED WINDOW COMMANDS

      1         Decrement volume by 10.

      2         Decrement volume by 1.

      3         Increment volume by 1.

      4         Increment volume by 10.





                                    - 8 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



      s         Toggle. Audio Volume(MUTE). on/off.

      8         Toggle. Main Speaker. on/off.

      9         Toggle. Headphones. on/off.



 MOUSE BUTTONS
      Once the animation is up and running the mouse buttons have the
      following functions.

      <Left_Button>
                Single step back one frame.

      <Middle_Button>
                Toggle. starts/stops animation.

      <Right_Button>
                Single step forward one frame.

 BUFFERING, PIXMAPS and READ_FROM_FILE Options
      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. 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.  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.  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.



                                    - 9 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



 SCALING Options
      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.

 FORWARDS, BACKWARDS and OPTIMIZATION.
      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.

 COLOR OPTIONS
      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



                                   - 10 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



      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.



                                   - 11 -         Formatted:  April 20, 2024






 XAnim(1)                       XAnim 2.80.1                        XAnim(1)
                                   21Mar99



      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.

 QUICKTIME ANIMATIONS
      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.

 AUTHOR
      Mark Podlipec podlipec@ici.net http://xanim.va.pubnix.com/home.html
      http://smurfland.cit.buffalo.edu/xanim/home.html
      http://www.tm.informatik.uni-frankfurt.de/xanim/














                                   - 12 -         Formatted:  April 20, 2024