                        *----------------*
                        | ANIPLAYER 1.22 |
                        *----------------*


Introduction:
-------------

 This freeware is a movie player for QuickTime (MOV), Video For 
Windows (AVI), and Autodesk Animator (FLI/FLC/FLH), with sound 
(AVI/MOV), writed entirely in assembler 68000 and DSP 56001 (for 
picture decompress). He has been writed and optimized principally for  
the FALCON.
 The file is read in direct to disk, and the programm use little 
memory for work.
 With the true color of FALCON and the DSP, it's possible to obtain a 
correct animation with sound without jump pictures (a fast CD-ROM is 
also required).
 For the moment, a little compressions with DSP are reconized (the 
principal compression reconized is the Cinepak CVID).
 The display is in a window, and it's possible to move in the movie 
(cursor or tape-recorder button) except for FLI/FLC/FLH files.
 The programm support the VA_START protocol, that anable to change 
movie in double-clic on the name (AVI/MOV/FLI installed) in the desk, 
the programm start only the first time. AV_SENDKEY is also supported. 
The programm work also in desk accessorie if is renamed in ACC. 
Multitask is supported. TTP mode with command line is aqually possible 
without GEM.
 The programm is in french (integrated RSC file) but work in english 
if the file N_FRENCH.TXT is in the same directory of ANIPLAY.PRG.

Material required:
------------------

 FALCON advised for true color and DSP.
 TT with graphic card 32768/65536 colors advised.
 Machine TOS with 68030 minimum and 2 Mbytes of ram (risk of 3 bombs 
on ST(E) for a lot of compressions).
 The most of graphics modes are reconized:
  - All screen resolutions on FALCON.
  - All graphics modes ATARI with planes.
  - The graphics cards true color 24 bits (codage 32 bits motorola, 
    tested on PowerMac).
  - The graphics cards 32768/65536 colors motorola type (MATRIX for 
    example) or intel type (NOVA for example).
  - The graphics cards 256 colors without planes.
 The programm works equally without DMA sound, in this case it's the 
YAMAHA who is used (always in direct to disk) and normally it's 
possibled to use on HADES.
 The floating point coprocessor (68882) is not used.

Informations:
-------------

 A short help is disponible (HELP) offering a description of programm 
and options. The complete documentation can be obtained via ST-GUIDE.
 The speed limitations are caused by transferts of 60030 to DSP for 
picture to decompress, and DSP to 60030 for display result (bytes at 
16MHz without accelerator card). 

 The informations line of window displays the following indications:
  - The time pass in seconds.
  - The maximun CPU time occupation in % (on the 20 last pictures), a  
    value superior than 100 % indiqued normally that the speed in 
    frames by second is not obtained.
  - In single step, it's the number of current picture who is 
    displayed instead of maximun CPU time occupation.
  - Number of frames by second.

 The graphic mode, who the display is so fast, is in true color on 
FALCON, or, a TT or HADES with graphic card 32768/65536 colors.
 If the graphic mode is in 256 colors, the movies in 16 millions and  
32768 colors are dithered (display more slow). If graphic mode is less 
than 256 colors, the picture is dithered in monochrome (display more 
slow equally), or 16 colors in this graphic mode.

 It's possible to save currect picture or a selection of pictures in 
the file formats IMG or TGA, in comparison with the screen resolution:
  - IMG, GEM Bit Image:
    * 256 colors if screen <= 256 colors (XIMG).
    * true color 24 bits if screen >= 256 colors.
  - TGA, Targa Image 2.0 in true color 24 bits:
    * conversion start with 256 colors if screen <= 256 colors.
    * conversion start with 256 colors if movie in 256 colors.
    * conversion start with true color 16 bits.
    * 24 bits directly if screen in true color 24 bits.
 By default, the selection of pictures start to number one at total 
number of pictures, or start to current picture if the pause is 
actived. A text show the corresponding time, if the number of starting 
or last picture is changed. In this case, the name of file include 
the 5 last caracters reserved to number of picture to 00001 at 99999 
(for ex: FRM00001.IMG for the first picture).
 During the saving, a red button is displayed at the bottom of the 
window.
    
 It's possible equally to copy current picture (^C) in clipboard GEM 
(file SCRAP.IMG).

 The formats of compression picture AVI/MOV reconnized are:
+-----------------------+----------+-------------+--------------------+
| Name                  | Id       | Colors      | Remarks            |
+-----------------------+----------+-------------+--------------------+
| Microsoft Video 1 MSVC| CRAM8    | 256         | with/without DSP   |
|                       | CRAM16   | 32768       |                    | 
| Radius Cinepak        | CVID     | 256         |                    |
|                       | CVID     | 16 millions | with/without DSP   |
| Intel Indeo R3.1      | IV31     | 16 millions |                    |
| Intel Indeo R3.2      | IV32     | 16 millions |                    |
| JFIF JPEG             | JPEG     | 16 millions | with/without DSP   |
| Apple Uncompressed    | RAW1/2/4 | 2/4/16      | MOV RAW1/2/4       |
|                       | RAW8/16  | 256/32768   | and RAW16/24/32    |
|                       | RAW24/32 | 16 millions |     not tested     |
| Microsoft RGB         | RGB4/8/16| 16/256/32768| AVI RGB4/16/24     |
|                       | RGB24    | 16 millions |     not tested     |
| Apple Animation RLE   | RLE1/2/4 | 2/4/16      | MOV RLE1/2/24/32   |
|                       | RLE8/16  | 256/32768   |     not tested     |
|                       | RLE24/32 | 16 millions |                    |
| Microsoft RLE         | RLE4/8   | 16/256      | AVI RLE4 not tested|
| Apple Video RPZA      | RPZA     | 32768       | with/without DSP   |
| Apple Graphics SMC    | SMC8     | 256         | MOV                |
| Component Video YUV2  | YUV2     | 16 millions | MOV not tested     |
| Intel Raw YUV9 (YVU9) | YUV9     | 16 millions |                    |
+-----------------------+----------+-------------+--------------------+
 The DSP decompressions are possible in true color FALCON and all 
screen resolutions lower.  

 The sound is played with a frequency nearest of the machine. The 
exact frequency is obtained in check resample. The most time, the 
resample is obtained quickly in remove or add a sample, in the others 
cases, the resample is obtained par linear interpollation (more slow).

 It's possible to save the sound at the file frequency if resample 
is not checked, or machine frequency if resample is checked, and in 
the file formats:
  - AVR, Audio Visual Research (ATARI).
  - WAV, Microsoft RIFF-WAVE (PC).
  - AIF, Apple Interchange File Format (MAC).
 During the saving, a red button is displayed at the bottom of the 
window.
 
 The formats of compression sound AVI/MOV reconnized are:
  - MS_ADPCM: 16 bits AVI (APCM), codage on 4 bits.
  - DVI_ADPCM: 16 bits AVI (DVI), codage on 4 bits.
  - IMA4: 16 bits MOV, codage on 4 bits.
  - MULAW: 16 bits AVI (ULAW), codage on 8 bits (not tested).
  - PCM: not compressed AVI.
  - RAW0: not compressed MOV.
  - RAW: not compressed MOV.
  - TWOS: not compressed signed MOV.

 A mode single step exist (key + ou .):
  - If playing is occured, the pause is actived.
  - If pause is actived, the next picture is displayed.

 The scan (key S) alows to see all pictures the most fast possible 
without sound. For start the scan you can equally double-clic on FF 
button in window.

 The slide shows alows to see in order all movies (AVI, MOV or FL?)
in the same directory . If an error occurs, the reading can continue 
on the next movie. The option loop mode as no effect in this function.

 During the reading of file, it's possible to request informations of 
movie (^I ou I): 
  - Movie informations:
    * size.
    * number of colors.
    * number of pictures.
    * number of frames by second.
    * step key-frames.
    * duration.
    * number of current picture.
    * type of compression.
    * name of compression (see 'List of compressions').
  - Sound informations:
    * quality (8/16 bits mono/stereo).
    * file frequency.
    * machine frequency (nearest).
    * duration.
    * type of compression.
  - Memory informations:
    * size in bytes of file buffers (decompression to screen or 
      picture buffer).
    * size in bytes of picture buffer (conversion screen format).
    * size in bytes of screen buffer (buffer for redraws, not used if
      direct screen checked).
    * size in bytes of sound buffers. 
 Or else, statistics can be obtained (^I or I):
  - Real time in seconds.
  - Frames displayed in %.
  - Average CPU time occupation in %.
  - Minimum CPU time occupation in %.
  - Maximum CPU time occupation in %.

List of compressions:
---------------------

- AVI file (RIFF):

 * CRAM8/16: Microsoft Video 1 (MSVC)       x
 * CVID: Radius Cinepak                     x
 * CYUV: Creative Video Blaster CYUV
 * IJPG: Intergraph JPEG
 * IV31: Intel Indeo R3.1                   x
 * IV32: Intel Indeo R3.2                   x
 * IV41: Intel Indeo R4.1                  
 * JPEG: JFIF JPEG                          x
 * MJPG: Motion JPEG
 * RGB4/8/16/24: Microsoft RGB              x
 * RLE4/8: Microsoft RLE       	            x
 * RPZA: Apple Video RPZA	            x
 * RT21: Intel Indeo R2.1                  
 * ULTI: IBM Ultimotion                    
 * VDOW: VDO Proprietary
 * XMPG: Editable MPEG
 * YUV9: Intel Raw YUV9                     x
 
- Fichier MOV (QuickTime):

 * CVID: Radius Cinepak                     x
 * IV31: Intel Indeo R3.1                   x
 * IV32: Intel Indeo R3.2                   x
 * IV41: Intel Indeo R4.1                  
 * JPEG: JFIF JPEG                          x
 * MSVC8/16: Microsoft Video 1              x
 * PGVV: Radius PGVV
 * RAW1/2/4/8/16/24/32: Apple Uncompressed  x
 * RLE1/2/4/8/16/24/32: Apple Animation RLE x
 * RPZA: Apple Video RPZA                   x
 * RT21: Intel Indeo R2.1                  
 * SMC: Apple Graphics SMC                  x
 * SPIG: Radius Spigot
 * YUV2: Component Video YUV2               x
 * YUV9: Intel Raw YUV9 (YVU9)              x
 
 You see, I have more work ! (the types of compression achieved are 
checked).

Shortcuts keyboard:
-------------------

<CTRL C>         : Copy current image in GEM clipboard
<CTRL I> or <I>  : Informations or statistics
<CTRL L>         : Open MOV file.
<CTRL M>         : Save current image.
<CTRL N>         : Save sound.
<CTRL O>         : Open AVI file.
<CTRL P>         : Open FLI/FLC/FLH file.
<CTRL Q> or <ESC>: Quit programm.
<CTRL S>         : Save config.
< >              : Switch pause / play movie.
<+> or <.>       : Single step.
<0>              : DSP for decompress.
<1>              : Direct screen.
<2>              : Resample.
<3>              : Shut-off sound.
<4>              : Sound only.
<5>              : Control slowness.
<6>              : Pass pictures.
<7>              : Tape-recorder look.
<8>              : Little window.
<9>              : Without GEM.
<A>              : Loop mode.
<B>              : Quality.
<C>              : Switch color / black and white for CVID/JPEG/YUV.
<D>              : Without D2D.
<O>              : Options menu.
<P>              : Play.
<S>              : Scan.
               : +/-  1 second (impossible for FLI/FLC/FLH).
  and <SHIFT>  : +/- 10 seconds (impossible for FLI/FLC/FLH).
  and <CTRL>   : +/- 60 seconds (impossible for FLI/FLC/FLH).
<HELP>           : Help.
<UNDO>           : Stop and close movie.
 
Description of options:
-----------------------

 The option 'DSP for decompress' active the DSP for some compressions. 
If is used, it's showed in window (FALCON).

 The option 'direct screen' causes an extra acceleration to DSP, but 
the displays are less clean (waves on screen) and the redraws are 
inpossibles. This option is not always available (256 colors and 
monochrome). In true color FALCON and direct screen, the DSP work
in interrupt for transferts, and it's possible to decompress picture 
during loading the next picture.

 The option 'quality' causes in take off the quality of colors an 
acceleration of decompression only without DSP. In true color FALCON 
or 32768/65536 colors, the quality is lightly take off on compression 
CVID (Cinepak).
 In 256 colors, dithering is removed for movies in 32768 and 16 
millions of colors (more fast without DSP but big degradation 
of quality).
 With compression IV31/32 (Intel Indeo), this option causes in take 
off the quality of colors an acceleration of decompression. 

 The option 'resample' converts sound for respect frequency file (but 
can be slowed the machine for some frequency). On a machine without 
DMA sound, this option is not available because it's possible to obtain 
the exact frequency with the YAMAHA.

 The option 'shut-off sound' cut the sound for answer to telephone 
(for example).

 The option 'sound only' allows to listen the sound correctly if the 
display is too slow (sound repeat).

 The option 'control slowness' causes an error message if movie is too 
slow (sound repeat). This message offers to get down one octave, 
switch off sound or ignore this problem.

 The option 'pass pictures' remove the sound repeat if the display is 
too slow in stop the animation until the next entiere picture. The 
pictures saved in memory are decompressed and incerted during free 
time (32 at maximum, in this case the size of file buffers is 
multiplyed by 32, after this option is disabled).

 The option 'tape recorder look' allows to have classics buttons for 
move in the movie, or an horizontal slider. 

 The option 'little window' remove the buttons and the move bar of 
window for load movies more higth.

 The option 'without GEM' is the last possibility for accelerate again 
the programm, only the keyboard is tested directly (goodbye multitask 
!). In this mode, it's possible to load a movie with picture size of 
320 * 240 in screen resolution of 320 * 240. On FALCON with TV monitor 
or VGA the display changes to 320 * 240 true color if the size of 
picture not exceed 320 * 240. The current resolution is restored in 
case of error or stop.

 The option 'without D2D' load all file in memory before play if it's 
possible. The sound is played in direct to disk but in memory. 
Pictures are decompressed directly.

 The option 'loop mode' causes begin to start at the end of the movie.
 
 The option 'quit at the end' is useful if the programme is called by 
another with a command line. This option as no effect if the option 
loop mode is checked.

 It's possible to save all options (^S).

Command ligne:
--------------

 If the command line contains at least one of next options, then the 
programm started as same as TTP programm:
  +annnnnnnnnn: adress for control programm (10 numbers max)
  +bnnnnn: force number of planes for screen (5 numbers max) 
  +d: with dsp (-d: without dsp)
  +e: display errors (-e: without, default +e)
  +hnnnnn: force height of screen (5 numbers max)
  +i: loop (-i: without)
  +m: with pictures (-m: sound only)
  +p: with sound (-p: shut-off sound)
  +q: with quality (-q: without)
  +r: resample sound (-r: without)
  +s: pass pictures (-s: all pictures)
  +wnnnnn: force width of screen (5 numbers max)
  +xnnnnn, +ynnnnn: movie position (5 numbers max, default center)
  +znnnnnnnnnn: adress informations about movie (10 numbers max)

 The directory and name of file follow the options, for ex:
  +d +r C:\MOVIES\X.MOV read X.MOV with dsp and resample.
  -p C:\MOVIERS\*.MOV read all MOV of directory without sound. 
  +p C:\MOVIERS\*.* read all AVI/MOV/FL? of directory with sound. 
   
 The options not showed proceed of ANIPLAY.INF file. If this file not 
exist, the default options are +d +i +m +p +q -r -s.
 The options direct screen, without GEM, and quit at the end are 
checked.
 The option control slowness and without D2D are not checked.
 
 This mode not work in screen resolutions 4 colors (GEM is not used).  
On FALCON, if the picture is lower or equal to 320 * 240, the screen 
resolution change in true color.
 If the movie position is checked (+x +y), the screen resolution don't 
change in true color on FALCON. In this mode, the background is not 
cleared. In the screen resolution with planes, x is aligned to 16 
pixels. 

 Adress (+a) is used for control programm. An example for programmers 
is better than an explanation:

 In C (simplified):
 {
   Pexec(0,"ANIPLAY.PRG","+x100 +y100 +aadress C:\MOVIES\X.MOV",""); 
 }

 int adress()
 {
   switch(code())
   {
   case END:
     return(0x1b);   /* ESC */
   case PAUSE:
     return(' ');
   case REW:
     return(0x4B34); /* SHIFT +   (-10S) */
   case FF: 
     return(0x4D36); /* SHIFT +   (+10S) */
   }
   return(0);
 }
 
 Adress informations (+z) don't play movie but returns informations 
about movie. This possibility can serve for programmers (32 bytes 
buffer):
 
 struct infos
 {
   int width;
   int height;
   int planes;
   int frames_second;
   long total_frames;
   long id_picture_compression; /* cvid for example */
   int quality; /* B0: mono(0)/stereo(1)  B1: 8 bits(0)/16 bits(1) */
   unsigned int frequency_file;
   unsigned int frequency_machine;
   long total_samples;
   long id_sound_compression;  /* ima4 for example */
   int version_player;         /* version of Aniplayer */
 }
 
GEM messages:
-------------

Message VA_START:

 msg[3] = Path (high)
 msg[4] = Path (low)

 A command line can be joined:

  +c: with control slowness (-c: without)
  +d: with dsp (-d: without dsp) 
  +g: with GEM (-g: without GEM)
  +i: loop (-i: without)
  +k: with keyboard (-k: without for use only AV_SENDKEY)
  +l: little window (-l: normal window)
  +m: with pictures (-m: sound only)
  +p: with sound (-p: shut-off sound)
  +q: with quality (-q: without)         
  +r: resample sound (-r: without)
  +s: pass pictures (-s: all pictures)
  +t: tape recorder look (-t: slider)
  +v: with direct screen (-v: without)   
  +xnnnnn, +ynnnnn: movie position (5 numbers max, default center)
                                     
Message AV_SENDKEY:

 msg[4] = Pressed key (GEM format)

Message 'AP':

 - Message for a new position in seconds:
 
   msg[3] = 1
   msg[4] = Seconds (high)
   msg[5] = Seconds (low)
 
   No answer message.
 
 - Message for a new position in pictures:

   msg[3] = 2
   msg[4] = Picture (high)
   msg[5] = Picture (low)
   
   No answer message.
 
 - Message for get informations:
 
   msg[3] = 0
   
   Answer message 'AP':
 
   msg[3] = Structure (high)
   msg[4] = Structure (low)

   typedef struct
   {
     int width;
     int height;
     int planes;
     int frames_second;
     long total_frames;
     long id_picture_compression; /* cvid for example */
     int quality; /* B0: mono(0)/stereo(1)  B1: 8 bits(0)/16 bits(1) */
     unsigned int frequency_file;
     unsigned int frequency_machine;
     long total_samples;
     long id_sound_compression;  /* ima4 for example */
     int version_player;         /* version of Aniplayer */
     long count_seconds;
     long num_frame;
     int reserve[12];
   } INFO_ANIM;
 
Questions/answers:
------------------

 What options choose on FALCON, for the display is more fast ?
 - Choose screen resolution 320 * 240 (or 480) in true color on a VGA 
monitor (clock 25 MHz), or best 320 * 200 on TV/RGB.
 - Check DSP for decompress.
 - Check direct screen.
 - Check without GEM. 
 - Load the file. 

 The programme displays sometime: 'Impossible to load the block to 
decompress in DSP memory', it's normal ?
 - The file is not enought compressed. The picture to decompress is 
   segmented by bloc, and the DSP decompress at minimum one bloc. For 
   resolve the problem, it must treat a fraction of bloc, and this 
   operation can slacken pictures well compressed.
 - The programm uncheck the DSP and restart play.
 
 How use the slide show when I don't know the size of movies on FALCON ?
 - Choose the screen resolution higher or equal than 640 * 480 in 256 
   colors.
 - Check DSP for decompress.
 - Check direct screen.
 - Check without GEM.
 - Choose the directory of the slide show.
 - If the picture is lower or equal than 320 * 240, se display changes 
   to 320 *240 in true color (case of the most of movies).
 - If the display is higher than 320 * 240 the display is achieved in 
   the current screen resolution (case of the most of photography, with 
   a speed near than one frames/s, it's not penalized).
  
 What are the futurs developpements ?
 - More compressions, for the DSP in particuliar.
 - In the futur, it's possible that I add others types of files 
   (MPEG), but for the moment, I prefer work on MOV and AVI files.

Material used for tests:
------------------------

FALCON 030 with Speed Resolution Card (68030  40 MHz, bus to 20 MHz, 
DSP to 40 MHz) in SVGA 640 * 400 true color (clock 40 MHz).
CD-ROM SCSI PIONNER 10X with METADOS for driver.
ZIP drive SCSI IOMEGA 100 with AHDI 6.06 (less fast).

 The limits of programm are obtained approximately with a movie 320 * 
240 en CVID 12 frames/s if the pictures are not enough compressed 
(sound repeat because too datas to transfert to DSP).

Thanks (contribution or ideas):
-------------------------------

 Bertrand Marne to Rosny Sous Bois (F).
 Simon Yardley to Ashingdon Rochford (GB).
 Christophe Ricard to Grabels (F).
 Henryk Lane to Luth Wittenberg (D).
 Yu-Ou Wang to Paris (F).
 Pascal Ricard to Pierrevert (F).
 Bruno Levionnois (F).
 Houplon Jol to Chaville (F).
 Philippe Conceicao to Schiltigheim (F).
 Christophe Villeneuve to Bourges (F).
 Guillaume Tello to Montreuil Bellay (F).
 Bruno Bgni to Lausanne (F).
 Denis Huguet to Mehun sur Yvre (F).
 Jean-Jacques Ardoino (F).
 Mille Babic to Gteborg (S).
 Rmi Vanel (F).
 Thierry Benet (F).
 Joachim Fornallaz to Zrich (CH).
 Magnus Kollberg (S).
 Karel Post (NL).
 Francois Le Coat (F).
 Nicolas Boulesteix to Gaillon sur Montcient (F).

Others realisations:
--------------------

 PICDESK, display a picture (X)IMG/GEM or a motif on the GEM desktop, 
new file select, news screen resolutions, fast display, and dead keys.  
Freeware. FALCON.

 SONDIGIT, sound digitizer with or without direct to disk, formats 
WAV/AIF/AVR/DVS. Freeware.

 
                 MEQUIGNON Didier, January 1998
                 
                 
P.S.
----

 The cases 'not tested' are either absent of graphic card, or absent 
file in this format (compression) for test my programm... 
 If you have a problem with your graphic card, please contact me.

 For all information on the compressions not reconnized, suggests, or 
remarks on my programm, you can write to this adress:

            25, rue de l'Ascenseur 62510 ARQUES FRANCE
            
 Or a message on:

              internet e-mail: didier.mequignon@wanadoo.fr
              minitel in France: 3615 STMAG bal DEVDSP
                              or 3615 RTEL bal DEVDSP
 
 If you answer for a problem (bug), please tell of:  
  - The version of ANIPLAYER.
  - The machine (and the accelerator card if she exist).
  - The graphic mode or card used.
  - The options checked.
  - The file format.
  - The type of compression (visible by ^I or I).
  - The details of the problem.
 
 I keep listening in all suggest if you want that the evolution of my 
player continue...

