

       New Age Interactive Multimedia Engine (ver 1.0) 4/27/94
       -------------------------------------------------------

             Welcome to a new class of 32-bit PC software for 
             compression and real-time playback of Autodesk animation 
             files.

             NIC.EXE is a protected mode DOS application that will
             import Autodesk .FLI or .FLC files and using a combination
             of lossy and lossless techniques will compress them down 
             to between 1/4 and 1/6 of their original size.

             The real-time player program NIP.EXE (also a 32-bit 
             protected mode DOS application) will automatically detect 
             your SVGA card and display the compressed animation with 
             user specified frames-per-second rate. If the display card 
             is unrecognized, NIP will use the VESA driver instead.


       Hot Stuff!
       ----------
             An optional file linker NIL.EXE will dynamically merge
             several compressed animation files into a single .NI file
             for interactive navigation. A simple but powerful
             scripting language and user programable animated cursor
             support will be available soon. Integration of MIDI music
             files and digitized sound files is already well under way.


       What is protected mode DOS?
       ---------------------------
             This is the only way to get the most out of Intel 386 or
             higher processors today. You simply start the application 
             from the plain-old DOS command line and the program with 
             the help of a DOS extender will switch the processor to 
             its native 32-bit mode. Data intensive programs designed 
             for this mode usually run much faster than 16-bit DOS and
             Windows. Obviously, you must have a 386 or higher PC to
             run this program. The DOS4GW.EXE executable included in 
             this upload is the Rational System's royalty-free DOS
             extender included with Watcom C32 which was used in making
             this software.


       What are the applications of NIC & NIP?
       ---------------------------------------
             1) If you can stand some loss the storage savings will be
             great. The famous DINO.FLC found on the 3D Studio release-3
             CD-ROM was compressed from 3.8M to 690K (5 to 1).

             2) Most 640x480 animations can be compressed for playback
             off of a double-speed CD-ROM drive at 8 to 15 fps. In fact I
             developed this "engine" for my own virtual reality type game
             delivery on CD-ROM.


       Why not use Windows and VFW?
       ----------------------------
             Even the new Video for Windows 1.1 with the latest Cinepack
             codec comes to a grinding halt when faced with a full screen
             640x480 animation.

             With the help of optimizing 32-bit "C" compilers, hand
             written assembly code and lots of programming tricks this
             program outperforms any software-only solution I have seen
             for Windows.


       System requirments:
       -------------------
             Compression: 486-33 Mhz. or faster PC, DOS 5.0 or 
                          higher, minimum 4MB RAM and a hard disk. 
             
             Decompression: 386-25 Mhz. or faster PC, DOS 5.0 or
                            higher, minimum 2MB RAM, hard disk and
                            SVGA display adaptor with 512k RAM.


       What's included in this package?
       --------------------------------
             At this time a fully functional player NIP.EXE and a 4MB
             compressor NIC.EXE is being released into the public domain.
             A compressed DINO.FLC ->(DINO.NI) will also be uploaded.

             This is still a product under development and as with all
             such software there may be some bugs and certainly room for
             improvement. I have spent months of R&D time to get it to
             this stage. By making it available here to you at no charge
             I'm hoping to get your feedback in return.

             If you like these tools and need to compress larger
             animation files please contact me at the address below.

             The animation file linker NIL.EXE for virtual reality type
             navigation, animated user definable cursor and MIDI support
             is not included here yet. I've made these tools for my own
             game development purposes. If you are also interested in
             such tools, send me an E-mail.


       Legal Issues:
       -------------
             This software is made available here on CompuServe free of
             charge for your personal non-profit use. You may distribute
             this code to your friends for their own personal non-profit
             use. Anyone planing to use or distribute this program for a
             commercial for-profit product must obtain a license from New
             Age Interactive at:

                             New Age Interactive
                             1223 Wilshire Blvd., #570
                             Santa Monica, CA  90403
                                 
                             CompuServe [75500,466]
                             Fax:(310)393-6143


       ============================================================

       NIC user's guide:
       -----------------

             NIC will accept any Autodesk .FLI or .FLC file with up to
             640x480 resolution. It is flexible enough to take higher
             resolution input files, but currently the upper limit has
             been set to 640x480. The input flic files must also have a
             single palette. Actually, the best way to create a flic is
             to use a single custom palette as described in the 3D Studio
             reference manual chapter 8 page 117.



       Syntax:   nic in_file out_file code_file /switch
       ------------------------------------------------------------
                  
             in_file   = Autodesk Animator .FLI or .FLC file
             out_file  = Any valid DOS file name with .NI ext.
             code_file = Any valid DOS file name with .CBX ext.

             Optional switches:

                /g   By default NIC will display statistical
                     information in DOS text mode during     
                     compression. To switch to the graphics mode
                     and see the input frames as they are being
                     compressed use the /g switch. If this option
                     fails to show the correct graphics, make sure
                     you have a VESA driver loaded for your VGA
                     display card.

                /e   With this switch turned on each compressed
                     frame is compared to the original and a
                     measure of error is reported.

                /c1  By default NIC will use the maximum     
                     compression setting. /c1 will reduce    
                     compression ratio from max to high and  
                     improve the image quality.

                /c2  Medium compression level.

                /c1  Lowest compression and highest image quality.

                /t1  Noise tolerance level-1. Use this switch if
                     you have a still background with some noisy
                     pixels in it.

                /t2  Noise tolerance level-2. This switch will
                     remove more background noise but it may cut
                     into your foreground as well. Try it and see.

                /l   Create a linkable file for use with NIL.EXE.

                /r   Create a ring frame at the end of the
                     animation for looping.
                -------------------------------------------------


             Example:  nic dino.flc dino.ni dino.cbx /c1 /t1 /r

             The above example will read DINO.FLC in the current
             directory, use DINO.NI for output and use DINO.CBX for the
             code-book file. Also, the 3 switches will force lowest
             compression setting, noise reduction and ring frame
             creation. 

             If you like to keep the information NIC displays during
             compression, use the DOS redirection command.

             Examples:  nic dino.flc dino.ni dino.cbx > dino.lst

             This will create a file called DINO.LST with all the
             compression statistics stored sequentially.


             
       Theory of operation:
       --------------------
             NIC uses a proprietary 2-pass algorithm for compression. In
             the first pass it divides each frame into small blocks and
             performs a one-bit adaptive quantization on each block. This
             is a lossy method and results in at least a 4 to 1
             compression. Also, a histogram of all frames is prepared in
             this pass and written to the user specified code-book file
             which must have a .CBX extension. The code-book is used in
             the second pass for a more efficient lossless coding of
             delta frames. For the most part you do not concern yourself
             with the code-book except for specifying a name for it. This
             is purely an internal data file. It is saved to disk for
             future use by the linker utility NIL.EXE.


       NIP user's guide:
       -----------------

             NIP reads compressed animation files created with NIC and
             plays them on your SVGA graphics display in real-time.
             It has built-in drivers for most popular SVGA boards. If
             your particular display adaptor is unrecognized, NIP will
             use the VESA driver for accessing the display. Therefore,
             make sure you have a VESA driver loaded. Once your SVGA
             adaptor is recognized and initialized, NIP will switch it to
             640x480 (256 color) mode by default. Your animations do not
             have to be exactly 640x480 however. Smaller resolutions will
             be nicely centered on the screen with the original aspect
             ratio preserved. I often render at 640x320 with square
             pixels (1.0 aspect ratio) and let NIP play them on a 640x480
             screen.


       Syntax:   nip in_file /switch
       ----------------------------------------------------   

             in_file   = New Age Interactive .NI file

             Optional switches:

                /l   Use this switch to loop the animation   
                     forever or until a key is pressed. You must
                     compress the file with the /r option for
                     looping to work correctly.

                /s1  Plays the animation at about 28 frames per
                     second or as fast as it can if that frame
                     rate is not possible on the target system.

                /s2  Plays the animation at about 18 fps. This is
                     the default playback speed.
                  
                /s3  Playback at 12 fps.

                /f   Plays one frame and waits for a keyboard key
                     to be pressed. I use this for debugging.

                /i   Displays information about the animation and
                     individual frames in text mode.

                /t   Displays timing information after the   
                     playback stops. Limited to the first 500
                     frames. I also use this for debugging.
                -------------------------------------------------

             Example:  nip dino.ni /l

             The above example will load and play DINO.NI at 18fps and
             loops until a key is pressed.


       Final note:
       -----------
             I certainly hope that you will find these tools useful and
             that you will give me some feedback in the form of a wish
             list or bug report or any other form. You can contact me by
             E-mail, US mail or FAX.

                             Reza Dastmalchian
                             New Age Interactive
                             1223 Wilshire Blvd., #570
                             Santa Monica, CA 90403
                                 
                             CompuServe [75500,466]
                             Fax:(310)393-6143


























