FILE: creative.readme DATE: 16Oct96 AUTH: Mark Podlipec /* Creative CYUV Decompression Module for XAnim * * Revision History *---------------------- * Rev 0.0 31May96 Podlipec (podlipec@ici.net) * Wrote the Code from Spec. * Rev 1.0 04Jun96 Podlipec (podlipec@ici.net) * Initial release. For use with XAnim 2.70.6 or higher. */ ------------------------------------------------------------------------------- Copyright and Licensing Notice The CYUV Video Codec is Copyrighted by Creative Technology Ltd, 1994-1996. All rights reserved. By Using this Software, you are agreeing to be bound by the terms of this agreement. Do not use this software until you have carefully read and agreed to the following terms and conditions. If you do not agree to the terms of this agreement, then remove all copies. Restrictions: You MAY: 1: Freely use this Software in conjunction with XAnim. You MAY NOT: 1: Use this Software for any application other than XAnim. 2: Sell or distribute this Software without direct written permission from the Author. 3: Sublicense this Software. 4: Reverse engineer, decompile, or disassemble this Software. WARRANTY: This Software is provided "AS IS". There are no warranties of any kind either express or implied including warranties of merchantability or fitness for any particular purpose. LIMITATION OF LIABILITY: Neither Creative Technology nor the Author shall be liable for any loss of profits, loss of use, mood swings, loss of data, interruptions of business, nor for indirect, special, incidental or consequential damages of any kind whether under this agreement or otherwise, even if advised of the possibility of such damages. Definitions: Software: XAnim CYUV decompression modules precompiled for various machine platforms and OS. Author: Mark Podlipec (podlipec@ici.net) ------------------------------------------------------------------------------- XAnim is owned and copyrighted by Mark Podlipec. Copyright (C) 1990-1998,1999 Mark Podlipec. All rights reserved. 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/ http://xanim.resnet.gatech.edu ------------------------------------------------------------------------------- NOTE: XAnim 2.70.6 OR GREATER IS REQUIRED FOR Creative CYUV SUPPORT!!! These modules will add AVI support for the following Video Codecs: + Creative CYUV (CYUV) depth 16 CYUV support for XAnim is being provided as an optional machine specific object module that is linked into XAnim at compile time. 1) The first step is figuring out which XAnim CYUV decompression library module you need to obtain for your machine. Below is a table that matches your machine/OS to which library you need to download(ok, they're really object files). Machine/OS Library Name(LIB_NAME) Size(bytes) ------------ ---------------------------------- Sun 3's(SunOS 4.x) xa1.0_cyuv_sun3.o 1231 cross-compiler provided to me by Sebastien C. Roy (Sebastien.Roy@unh.edu) ------------ ---------------------------------- Sun Sparcs(SunOS 4.x) xa1.0_cyuv_sparcAOUT.o 1408 ------------ ---------------------------------- Sun Sparcs(SunOS 5.x) xa1.0_cyuv_sparcELF.o 1936 Sun Sparcs(Solaris ) xa1.0_cyuv_sparcELF.o 1936 ------------ ---------------------------------- Sun x86(Solaris) xa1.0_cyuv_sol86.o 1988 cross-compiler provided to me by Daniel Rock (rock@wurzelausix.CS.Uni-SB.DE) ------------ ---------------------------------- HP 9000/7xx xa1.0_cyuv_parisc.o 1952 ------------ ---------------------------------- HP 68k xa1.0_cyuv_68k.o 1263 cross-compiler provided to me by Stan Brown ------------ ---------------------------------- DEC Alpha OSF/1 xa1.0_cyuv_alphaOSF1.o 3536 ------------ ---------------------------------- x86 Esix 4.03a xa1.0_cyuv_sol86.o 1988 x86 Unixware 2.1 xa1.0_cyuv_sol86.o 1988 ------------ ---------------------------------- x86 386/NetBSD xa1.0_cyuv_netbsd386.o 1275 cross-compiler provided to me by Roland C Dowdeswell(roland@imrryr.org) ------------ ---------------------------------- x86 BSDI 2 xa1.0_cyuv_netbsd386.o 1275 ------------ ---------------------------------- x86 FreeBSD 2.1.0 xa1.0_cyuv_netbsd386.o 1275 ------------ ---------------------------------- x86 Linux AOUT xa1.0_cyuv_linuxAOUT.o 1351 x86 Linux ELF xa1.0_cyuv_linuxELF.o 2072 both cross-compilers provided to me by Mark Nordberg(mpn@mindspring.com) ------------ ---------------------------------- PowerPC Linux xa1.0_cyuv_linuxPPC.o 2256 cross-compiler provided to me by Tom Rini ------------ ---------------------------------- NetBSD 68K xa2.0_cyuv_netbsd68k.o 1231 cross-compiler provided to me by Ingolf Koch(ingolf@mipool.uni-jena.de) ------------ ---------------------------------- SGI Irix 5.x and 6.x xa1.0_cyuv_sgi.o 3764 cross-compiler provided to me by Paul Close ------------ ---------------------------------- Pyramid Nile DC/OSx d087 xa1.0_cyuv_sgi.o 3764 There are some warnings that you can ignore. Might also work with MIS series DC/OSx c087. ------------ ---------------------------------- Amiga(gcc compiler?) xa1.0_cyuv_amiga.lha 1231 Thanks to Adrian (Sauron) Siemieniak for creating and providing this object file derived from the Sun 3x object module. ------------ ---------------------------------- NOTE: SunOS 4.1.3 uses AOUT and Sun Solaris used ELF. They're not compatible. NOTE: If your machine is not supported, it's because I don't have physical access to that type of machine. There are a handful of options available to you(not all of them may be feasible) a) Permanently loan me that type of machine so that I may compile a library module for that machine type. Please contact me first and yes, I'd be surprised if someone chose this option. :^) b) Send me a cross-compiler for your machine type. Must be a Sparc SunOS 4.1.x executable or more specifically it must run on my machine. I'll do the compile and then you'll need to verify that the resulting library module works on your machine. Yes, I know gcc can be a cross-compiler. No, I don't currently have the time to setup it up for all the various platforms. Since I'm not allowed to distribute the source code I can't login to an account on a remote machine in order to do the compile. Also, I personally can't give you a non-disclosure. You need to contact Creative about licensing CYUV. 2) Obtaining the object files. Follow the steps below: EITHER /* NOT YET AVAILABLE VIA HTTP - HOPEFULLY SOON - USE FTP INSTEAD 1) Download the modules from one of the XAnim Web Pages http://xanim.va.pubnix.com/home.html http://smurfland.cit.buffalo.edu/xanim/home.html http://www.tm.informatik.uni-frankfurt.de/xanim/ http://xanim.resnet.gatech.edu */ OR 1) cd into the XAnim directory on your machine 2) ftp xanim.va.pubnix.com OR ftp 199.170.0.28 3) user is "anonymous" 4) passwd is your email address 5) "type binary" VERY IMPORTANT 6) "cd modules" 7) "get LIB_NAME.Z" NOTE: the .Z at the end 8) "quit" NOTE: LIB_NAME is obtained from the table in section 1 based on the type of machine and OS you are running. If you don't know, contact your system administrator or a coworker who does know. 3) "uncompress LIB_NAME.Z" This will create LIB_NAME from LIB_NAME.Z 3a) Put LIB_NAME into a directory called "mods" inside the xanim directory. 4) Edit Section III of either your Imakefile or Makefile(derived from Makefile.unx). If you are not sure which one to use then read the compile.help that came with xanim. a) In Section III of either the Imakefile or Makefile Uncomment out the following define: XA_CYUV_DEF = -DXA_CYUV and add LIB_NAME to the XA_CYUV_LIB define. For example if you have Sun Sparc running SunOS 4.1.3 then you would use the following: XA_CYUV_LIB = mods/xa1.0_cyuv_sparcCOFF.o For other machine/OS types, use the approriate xa1.0_cyuv_*.o file listed in the table at the top of this readme. NOTE: There is no "-" or anything other prefix. Just the object file name. b) If and ONLY if you are using the Imakefile(in other words DON'T do this if you are using the Makefile(derived from Makefile.unx)) then do the following: "xmkmf" c) Now(regardless of which makefile) "touch xanim.h" "make xanim" NOTE: make sure you see -DXA_CYUV on the compile command lines and make sure both xa_avi.c and xa_qt.c get recompiled. d) You should use "make xaclean" instead of "make clean" if you want to preserve the decompression modules. 5) Have fun. :^) ------------------------------------------------------------------------- NOTES on how XAnim options affect CYUV on 8 bit Color displays/visuals. None of these options matter on monochrome/TrueColor/DirectColor displays and visuals. With no options, XAnim will create a 256 entry RGB332 colormap and dither to that. xanim free_fall.avi -F will turn off this dithering and XAnim will instead truncate the 24bit RGB values down to the RGB332 colormap.(I see no real advantage to this, which is why +F is on by default) xanim -F free_fall.avi The +CF4 option will TURN OFF the dithering by default. +CF4 causes XAnim to scan the animation ahead of time and the select the "best" 256 colors from the possible thousands sampled. These colors may be further reduced depending on how many colors are still available(ie not in use by other X11 applications). xanim +CF4 free_fall.avi If you specify +F AFTER the +CF4 option, dithering will be used with the +CF4 option. xanim +CF4 +F free_fall.avi The -Cn option may be used with all of the above examples. -Cn tells XAnim to create it's own colormap, giving it FULL USE of those 256 colors. Please note that it is up to your X11 Window Manager(NOT XAnim) to install this colormap based on which window the Color Focus is on. Normally, Color Focus follows the mouse pointer, but not always. xanim -Cn free_fall.avi xanim -Cn +CF4 free_fall.avi Mark Podlipec podlipec@ici.net