home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / datatypes / mpvdtc018 / mpegvideo_datatype.guide (.txt) < prev    next >
Amigaguide Document  |  1997-05-27  |  30KB  |  498 lines

  1. **  $VER: mpegvideo_datatype.guide 1.8 (27.5.97)
  2. **  mpegvideo.datatype 1.8
  3. **  documentation
  4. **  (C) Copyright 1996/1997 by Roland 'Gizzy' Mainz
  5. **          All Rights Reserved
  6. ===================  mpegvideo.datatype  documentation   ==================
  7. ===========================================================================
  8. DataTypes class for mpeg video stream animations. Based on the CBM
  9. datatypes example source/ documents written by David Junod.
  10. ===================  Changes since last version (V1.7)   ==================
  11. ===========================================================================
  12. - Added time into to the gauge. Note that the "time-to-go" info will
  13.   only be useable after 5% upto 10% of the decoded data
  14. - Added partial support for mpeg-2 (MPEG-2 does NOT work yet !),
  15.   both encoder+decoder.
  16. - Added my own WritePixelArray8 replacement, which operates
  17.   directly on the fast-mem bitmaps. This saves some internal
  18.   copies, chipmem buffer for WPA8 etc.
  19. - Added my own scaling routine, replacing
  20.   graphics.library/BitMapScale (which needs chipmem as temp.
  21.   buffer).
  22.   Does not work properly yet.
  23. - Fixed the gauge, which didn't work correctly with large streams
  24.   (>= 8MB).
  25.   Fixed.
  26. - The gauge ha now a text info, which shows the remaining time
  27.   to decode.
  28. - Added experimental stack swapping code. The "Need more stack"-
  29.   requester has been removed for this reason.
  30.   This also fixes a possible deadlock of "input.device" because
  31.   the GM_LAYOUT method was running with low stack.
  32.   Fixed.
  33. - Color table setup now retries color table build with an increased
  34.   COLORERROR if table (set by LUM_RANGE * CR_RANGE * CB_RANGE) does
  35.   not fit. This allows any #?_RANGE value.
  36. - Fixed different problems within color setup. Now this should
  37.   work with a higher quality, and a little bit faster.
  38. - Fixed the descriptor, which din't match all mpeg video streams.
  39.   Fixed.
  40. - Added floating-point dct and a matching QUALITY option.
  41.   Systems with __much__ FPU-performace recommened.
  42. ===================  Changes since last version (V1.6)   ==================
  43. ===========================================================================
  44. - Now includes a mc68060 version.
  45. - Now supports palette-per-frame-output. If you're using a custom
  46.   animation player like DBufDTAnim (V1.2 included), you can use this option.
  47.   The PALETTEPERFRAME option used with COLOR or ORDERED dithering creates
  48.   a new palette for __EACH__ frame, which gives a much better quality.
  49.   Example:
  50.   DITHER=8 DITHER=COLOR PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  51.   DITHER=8 DITHER=OREDERED PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  52.   If you're using the PALETTEPERFRAME option, the limit of 2**depth colors
  53.   (2**8 == 256; 2**4 == 16 etc.) for the (LUM_RANGE * CR_RANGE * CB_RANGE)
  54.   cube   does not exists (limitted up to 65536 cube).
  55. - Support for saving (last-minute-note: has been disabled because the
  56.   distribution size was too large; will only be enabled in the public version
  57.   again upon request by someone).
  58. - The DICECOLOR output has been mixed into the COLOR dithering and is now
  59.   obsolete (DICECOLOR was a non-working palette-per-frame-output).
  60. - Implemented random access to frames (e.g you need not to load
  61.   the whole animation, decodung is done on the fly).
  62.   (Will be enabled in the public versions ONLY upon request; code is
  63.   currently under construction, the matching LOADALL switch is currently set 
  64.   everytimes).
  65. =============================== FAQ =======================================
  66. ===========================================================================
  67. > Does the datatype supports saving in the local class format
  68. > (MPEG-1 Video Stream) ?
  69.   Yes, it does. But the code has been disabled. It will be enabled in the
  70.   public versions only on request.
  71. > I'm using "Executive" and the animation.datatype's display only jumps
  72. > (no smooth scolling). What should I do ?
  73.   Try it without "Executive", or mark the following tasks to be not
  74.   touched by "Executive":
  75.   AnimationObjectHandler_Load
  76.   AnimationObjectHandler_Display
  77.   SoundObjectHandler
  78. > I found a special version for the mc68040 CPU. Is there any 060' special
  79. > version available ?
  80.   This release now contains a special mc68060-Version, located in the
  81.   060881/ directory.
  82. > I have a mc68030 processor with 68882 math proccessor. Your distribution
  83. > contains only a mc68000 vers. using IEEE shared library,
  84. > a mc68020 vers. using IEEE shared library,
  85. > a mc68020 vers. using a 6888x FPU,
  86. > a mc68040 and a mc68060 version.
  87. > There is not version for me, isn't it ?
  88.   The Version in the 020881/ directory is the right one for you. The mc68030-CPU
  89.   is backward-compatible to the mc68020/mc68010/mc68000, the FPU is
  90.   backward-compatible to the 68881 FPU. I didn't include a mc68030-Version
  91.   because the differences between these combination and the 020881-Version
  92.   are too small (takes no effect, only wastes the distribution).
  93.   The 000ieee/ and the 020ieee/ version should work on you computer, too, but
  94.   they're slower than the 68020/68881-Version. The 68040-Version should fail
  95.   on your computer (silently) without a crash (I've included a safety-check
  96.   which checks the CPU/FPU-combination).
  97. > Where can I get animation.datatype ?
  98.   The animation.datatype is shipped with the V3.1 OS Release. Maybe,
  99.   a CD (which includes WB 3.1) contains it.
  100.   I'm working on a replacement of animation.datatype (my animation.datatype V41),
  101.   which would be FREEWARE (support for palette-per-frame and more than 8 bit
  102.   planes).
  103.   But you need not only the "animation.datatype". The animation.datatype requires
  104.   itself some resources. See "Requirements"-section.
  105. > Could it be possible for the mpeg video datatype to spool from HD
  106. > dynamically ?
  107.   Yes and no. I wrote the code for this, but in this version I didn't enable it.
  108.   This code will only be enabled upon REQUEST by someone.
  109.   Therefore, the LOADALL swicth in the prefs-file is set everytimes.
  110.   Today, use AMIPEG instead.
  111. > I only get black and white output/gray output ) Is this OK ? Or
  112. > are some prefs to set/edit ?
  113.   Yes, there is a prefs-file, located in "ENV:Classes/DataTypes/mpegvideo.prefs".
  114.   For a complete description, see "Usage"-section below, and the
  115.   "mpegvideo.datatype.doc/preferences" section.
  116. > How can I get 256 color or HAM output ?
  117.   For 256 color output: You need to write an prefs file which contains the
  118.   following lines: DITHER=ORDERED DEPTH=8 LUM_RANGE=7 CR_RANGE=6 CB_RANGE=6
  119.   HAM output isn't implemnted yet, but
  120.   palette-per-frame output. If you're using "DBufDTAnim" or "animation.datatype"
  121.   V41 for playback, you can use this option. The prefs-file looks like this
  122.   DITHER=ORDERED DEPTH=8 PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  123. > How can I get 24 bit output ?
  124.   I wrote the code for this, but in this version I didn't enable it
  125.   (because the animation.datatype display can't handle it, but custom players
  126.   like DBufDTAnim does). This code will only be enabled upon REQUEST by
  127.   someone.
  128. > Even though VT has the capability of using datatypes it doesn't recognize
  129. > the mpegs and use the mpeg datatype. It does for gifs and jpegs
  130.   VT does (currently) only support picture datatypes (e.g. subclasses of
  131.   picture.datatype).
  132.   DataTypes defines different types of input data:
  133.   - SYSTEM:     System file, such as; directories, binaries, executables etc.
  134.   - TEXT:       Formatted or unformatted text, such as; ascii, IFF FTXT
  135.   - DOCUMENT:   Formatted text with graphics or other DataTypes; like AmigaGuide,
  136.                 HTML, SGML
  137.   - SOUND:      Sound, such as; IFF 8SVX, IFF AIFF, MPEG Audio
  138.   - INSTRUMENT: Musical instruments used for musical scores; liek Sonix #?.ss
  139.   - MUSIC:      Musical score, such as; like IFF SMUS, IFF CMUS or mods
  140.   - PICTURE:    Still picture, such as; IFF ILBM, GIF, jifi (jpeg), PNG, PBM
  141.   - ANIMATION:  Animated picture (Animations) such; as IFF ANIM, MPEG Video
  142.   - MOVIE:      Animation with audio track (Movies) such as; IFF FILM, CDXL,
  143.                 MPEG System, AVI
  144. ============================ Requirements =================================
  145. ===========================================================================
  146. - You need at least Kick/WB 3.0.
  147. | Many people wrote me that they cannot find an "animation.datatype" class.
  148. | Only the 3.1 release contains it. (Subclasses of) animation.datatype
  149. | can run under 3.0.
  150. - "datatypes/animation.datatype", >= V39.
  151.   "animation.datatype 40.7 (28.09.93)" requires itself some libraries/boopsi
  152.   classes:
  153.   - "realtime.library", >= V39            - for timing
  154.   - "gadgets/tapedeck.gadget" (any version) - for the controls
  155. - Much memory (at least 2MB (I think... (test report recommned))
  156.   (or the "vmm.library" V3.0 from Martin Apel's VMM package.
  157.   Using the USEVMM switch in the prefs file, bitmaps can be in virtual
  158.   memory. See autodoc for details.
  159.   VMM can be found on aminet (aminet/util/misc/vmm_#?.lha), the
  160.   current version is VMM_V3_3A.LHA on Aminet14-CD.
  161.   Note: VMM is Shareware !).
  162. - The IEEE versions (#?ieee directories) requires the
  163.   "mathieeedoubbas.library" (V38 or higher) library in your LIBS: (or
  164.   something equal) directory.
  165. =============================== Misc ======================================
  166. ===========================================================================
  167. mpegvideo.datatype is a datatype to view mpeg system streams. It's a
  168. subclass of animation.datatype.
  169. The datatype is very slow during loading. The main idea behind this
  170. datatype was to create a "realtime" player for mpegs, even on systems with
  171. small cpus. Because the mpeg fromat needs much cpu power (even a
  172. SUN SPARC 10 isn't able to decode a mpeg video in realtime), I decided
  173. to load all frames into memory and then starts to play. This needs much
  174. memory but allows a "realtime" playback (be carefull with your resulting
  175. plane depth (DEPTH option is the prefs file), this slows down playback
  176. speed).
  177. If you want to see the mpeg in the full length, there are two ways:
  178. 1. You can use the vmm support. VMM means "Virtual Memory Manager"
  179.    (requires a working MMU in your CPU). Using Martin Apel's VMM, you can
  180.    load big mpegs (in VMM's virtual memory).
  181.    VMM can be found on the Aminet in the util/misc directory.
  182.    Note: VMM is Shareware !!
  183. 2. You can use "amipeg", which is able to play mpeg video streams from
  184.    disk.
  185.    amipeg can be found on the Aminet in the gfx/show directory.
  186. This release was set up for various reasons:
  187. - First at all, to show that subclasses of animation.datatype aren't magic,
  188.   hacks or something else. This datatype has been developed conforming
  189.   to the "animation_dtc.doc" autodoc.
  190.   The people who said that it's not possible to write a new subclass
  191.   (except the CBM's IFF ANIM-5 and CDXL ones) are WRONG.
  192. - The people who said that animation.datatype is buggy are WRONG.
  193.   There are only two non-serious and one serios bug (fixed by my
  194.   "paranimdtcpatch"). The two non-serious bugs can simply surrounded.
  195.   All other crashes, hangs etc. are triggered by the CBM subclass ANIM
  196.   (CDXL not tested yet) and stack overrun problems.
  197.   INCREASE your stack size!!
  198. - To turn off the bug reports for my internal (and inofficial, non-public)
  199.   testing releases which are travelling through the networks
  200.   (delete them NOW !).
  201.   All bug reports should be related to this (and the following) AMINET-
  202.   Releases (except you are a BETA-tester).
  203. - To allow mc68000/mc68010 based AMIGA users the taste of real time
  204.   video, if they have the required memory :-) (assumed, not tested).
  205. - To introduce the series of new animation.datatype subclasses like
  206.   mpegvideo.datatype   - mpeg video streams
  207.   mpegsystem.datatype  - mpeg system strams (video + audio)
  208.   picmovie.datatype    - build animations/movies from single pictures
  209.                          and sounds
  210.   anim.datatype        - iff anim-3/-5/-7/-8 datatype
  211.   film.datatype        - iff LIST FILM anims (interleaved ILBMs/8SVXs)
  212.   moviesetter.datatype - GoldDisk moviesetter.datatype
  213.   ssa.datatype         - if any interest...
  214. - To test how much response such a datatype will produce.
  215. ====================== Request for comments/help ==========================
  216. ===========================================================================
  217. 1. Who owns the rights on the animation.datatype (source-)code ?
  218. 2. dito. amigaguide.(datatype|library) ?
  219. 3. email address (or something equal) of David N. Junod, who wrote
  220.    the animation.datatype...
  221. For my address, email etc. see below...
  222. Wanted: Test files:
  223. These files __MUST__ be packed into a LhA archive (for compression and
  224. for checksumming. I won't like to search for "phantom" errors caused
  225. by corrupt files.)
  226. 1. Valid IFF LIST FILM files (ILBM's with interleaved 8SVX's)
  227.    (for film.datatype testing).
  228. 2. CDXL files except "CALLNOW.XL" and "Walk.cdxl".
  229. 3. Small mpeg system streams (mpeg video + audio) (<= 1MB)
  230. Thanks !!
  231. =============================== Usage =====================================
  232. ===========================================================================
  233. If the datatypes descriptor file was activated, any attempt to load an mpeg
  234. file using MultiView, AmigaGuide or SwitchWindow will load the entire
  235. animation.
  236. NOTE: This may be a long time. Each picture is loaded into memory.
  237. (I've tested a mpeg video stream from the german news "Tagesschau".)
  238. You may modify the prefs file to get better results in your requested
  239. screenmode. The preferences file is currently a plane ASCII file with one
  240. line. The prefs file format is described in the mpegvideo.datatype.doc.
  241. 1. Example (for A2024/Vikking grayscale monitors):
  242. MODEID=266240 LUM_RANGE=4 CR_RANGE=1 CB_RANGE=1 DEPTH=2 DITHER=ORDERED FPS=15
  243. This means:
  244. MODEID=266240                     ; Screen mode of A2024 monitor
  245. LUM_RANGE=4 CR_RANGE=1 CB_RANGE=1 ; Use only luminance (4 gray scales)
  246. DEPTH=2                           ; 4 colors (max. on A2024 display)
  247. DITHER=ORDERED                    ; Use ordered dithering
  248. FPS=15                            ; 15 frames per sec (should be the
  249.                                   ; maximum on A2024 displays)
  250. BAD: The A2024 monitor isn't very good for fast animations (because of
  251.     it's panelled display). Use the FPS option to reduce the speed.
  252. GOOD: Large anims (e.g. a 720x480 video) fits on the screen without any
  253.     problem.
  254. 2. Examples (for color monitors):
  255. LUM_RANGE=4 CR_RANGE=4 CB_RANGE=4 DITHER=DICECOLOR DICESKIP=40 COLORERROR=25
  256. This means:
  257. LUM_RANGE=4 CR_RANGE=4 CB_RANGE=4 ; Set luminance, red and blue components
  258.                                   ; to the same wheight
  259. DITHER=DICECOLOR                  ; Use dicecolor dithering
  260. DICESKIP=40                       ; Accept only the 40-th attempt
  261.                                   ; to allocate a new color
  262. COLORERROR=25                     ; Set match error to a value which
  263.                                   ; means medium high quality
  264. 3. Example (for color monitors and a player which supports per-frame-palette
  265.    changes (like "DBufDTAnim" or animation.datatype V41)):
  266. VERBOSE
  267. DITHER=COLOR DEPTH=8 PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  268. This means:
  269. DITHER=COLOR                         ; color output
  270. DEPTH=8                              ; 256 colors
  271. PALETTEPERFRAME                      ; Build a new palette for each frame
  272. LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16 ; defines a color cube
  273. =========================== Installation ==================================
  274. ===========================================================================
  275. After unpacking this archive:
  276. Because this version does not include an Installer script, you have to do
  277. the installation manually through the shell:
  278. (There are now special compiled versions for "mpegvideo.datatype". Use the
  279. directory which matches your configuration, e.g.
  280. 000ieee/ -- mc68000 with IEEE library
  281. 020ieee/ -- mc68020 with IEEE library
  282. 020881/  -- mc68020 with mc68881 fpu
  283. 040881/  -- mc68040 with 881 code set (emulation code ?? -- not tested...).)
  284. 060881/  -- mc68060 with 881 code set (emulation code ?? -- not tested...).)
  285.   - Unpack this archive and copy the "mpegvideo.datatype" to
  286.     SYS:Classes/DataTypes:
  287. Copy CLONE FROM mpegvideo.datatype TO SYS:Classes/DataTypes/mpegvideo.datatype
  288.     Then copy the datatypes descriptor into the DEVS:DataTypes directory
  289. Copy CLONE FROM "MPEG Video(%|.info)" TO DEVS:Datatypes/
  290. ================================ BUGS =====================================
  291. ===========================================================================
  292. - Some mpeg streams crashes the system. I cannot say much about this bug
  293.   because I've only one file which causes this:
  294.   "AMINET14:AMINET/PIX/ANIM/ID4.MPG"
  295. - Linking to an animation in an amigaguide.datatype object is currently not
  296.   possible due a bug in amigaguide.datatype (not all required methods are
  297.   passed to the animation).
  298. ->IF THERE IS A REQUEST, I will write a patch for amigaguide.datatype to
  299.   fix this bug !!!
  300. - The datatype descriptor file is not the recommned way to identify a mpeg
  301.   video stream. It should be replaced by code which do this work.
  302. - "Workbench emulation" sortware like cybergfx etc. is not tested. Reports
  303.   are __very__ welcome. Note that possible problems belongs to the
  304.   emulation software, not animation.datatype (which does the rendering and
  305.   destination remapping). animation.datatype is very well written.
  306. - Please report your working/non-working configuration (very welcome:
  307.   mc68060 users).
  308. - The new special compiled versions make a test if their code requirements
  309.   match the system's cpu/fpu.
  310.   This means: The 040/881 version should fail silently (without a crash) on
  311.   a 68030. The 020/ieee version should fail on a plane 68000 and so on.
  312.   This checking code has not been tested yet, but when you cannot open
  313.   mpegvideo.datatype, you may have the wrong version installed.
  314.   Use the systems "CPU" or "ShowConfig" tools to check which cpu is
  315.   installed in your system. Then select the matching datatype and try again.
  316. See mpegvideo.datatype.doc for a complete list of all (removed/fixed
  317. etc.) bugs.
  318. BUG REPORTS should contain your machine (type, CPU, FPU etc.), additional
  319. hardware (graphics card and the emulation software) and your used software
  320. (KICK/WB3.0/3.1, cybergfx etc.)
  321. =============================== TODO ======================================
  322. ===========================================================================
  323. Following will be implemented in one of the later versions:
  324.   - Fix some inconsistensies
  325.   - More time to rework this and other public projects
  326.   - To write a "real" #?.guide file (and clean up the docs...)
  327.   - A STARTFRAME/K/N and STOPFRAME/K/N to load, decode and play only a
  328.     part of the video.
  329.   - Support for mpegsystem.datatype. I decided to rebuild
  330.     mpegsystem.datatype from scratch. Instead of using an inbuild video
  331.     and audio decoder, mpegsystem.datatype will be a subclass of
  332.     mpegvideo.datatype and use the mpegaudio.datatype for the audio
  333.     decoding.
  334. ============================== SOURCE =====================================
  335. ===========================================================================
  336. Sorry, I've removed the source. I've working on a releaseable form.
  337. See mpegvideo.datatype.doc for additional information.
  338. ============================= Copyright ===================================
  339. ===========================================================================
  340. Sorry, but in the V1.1 release, I've forgotten the COPYRIGHT notice.
  341. Here it is:
  342. (Because I don't have the original ones (my code was a mergin of mpeg_play
  343. 1.X, 2.0, I've taken them from the mpeg_play 2.0 distribution).) The main
  344. work (the mpeg decoder etc.) is based upon mpeg_play 1.xx and 2.0, which
  345. is...
  346.  Copyright (c) 1992 The Regents of the University of California.
  347.  All rights reserved.
  348.  Permission to use, copy, modify, and distribute this software and its
  349.  documentation for any purpose, without fee, and without written agreement is
  350.  hereby granted, provided that the above copyright notice and the following
  351.  two paragraphs appear in all copies of this software.
  352.  IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
  353.  DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  354.  OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  355.  CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  356.  THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  357.  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  358.  AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  359.  ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  360.  PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  361. ... and the idct algorithm is based on jrevdct.c (also found in the
  362. mpeg_play package), which is...
  363.  Copyright (C) 1991, 1992, Thomas G. Lane.
  364.  This file is part of the Independent JPEG Group's software.
  365.  For conditions of distribution and use, see the accompanying README file.
  366.  This implementation is based on an algorithm described in
  367.    C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT
  368.    Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics,
  369.    Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991.
  370. ... and (at least) all modifications are (C) by Roland Mainz (see below
  371. for details).
  372. =========================== Future ========================================
  373. ===========================================================================
  374. I decided to contact the current owners of the animation.datatype code
  375. (AmigaTech., VisCorp etc.) because I want to do the official future
  376. development of animation.datatype (and picture.datatype, if possible).
  377. If there are any comments/ideas, bug reports etc., send them to me.
  378. I'm going to write an article to explain how a subclass of
  379. animation.datatype, the common pitfalls etc. Don't try this without my
  380. article. This text will also explain future improvements.
  381. | Warning: The __current__ behaviour of ADTM_UNLOADFRAME will be slightly
  382. | changed (in a compatible way for the existing CBM datatypes). Don't use
  383. | this method for now unless I or CBM says something else.
  384.                        W A N T E D: BUG reports
  385. During meetings, phone calls and newsgroup readings I found out that many
  386. people are using this datatype (and directory.datatype,
  387. mpegsystem.datatype etc.), having email access and did NOT report the bugs
  388. they found.
  389. >One possible result of the current behaviour would be that I drop this
  390. >project. -- No response, no future.
  391. The same belongs to "directory.datatype".
  392. I don't like to collect the bug reports from %x(/
  393. %$/$ or something
  394. elsewhere.
  395. The reason is: Writing good, stable datatypes and their support is a
  396. TIME-INTENSIVE work and I don't like to work for the black hole.
  397. If there is enough response, I want to made a new BETA-tester group
  398. for my projects.
  399. (May be start in the middle of January 1997...)
  400. Who has a replacement for the WritePixelArray function
  401. LONG WritePixelArray8( struct RastPort *rp, ULONG xstart, ULONG ystart,
  402.      ULONG xstop, ULONG ystop, UBYTE *array, struct RastPort *temprp );
  403. written in PORTABLE ansi-C, which can operate on standard amiga-bitmaps in
  404. fast-ram ?
  405. (the temprp parameter and the return value may or may not be present in your
  406. implementation). Thanks...
  407. =========================== My projects ===================================
  408. ===========================================================================
  409. For those people which like to know on which projects I'm working on,
  410. here is a cut down of my projects...
  411. (A ... at the beginning of a line means that I've removed some lines, e.g.
  412. projects).
  413. Software projects
  414. ENVOY related projects
  415.    NetInfo...                       NetInfo             ENVOY network information
  416.    RemoteNetShell...                RemoteNetShell      Shell commands across ENVOY network
  417.    RemoteRequest...                 RemoteRequest       Messages across ENVOY network
  418.    Ping...                          Ping                ENVOY ping
  419.    NetPIPE...                       NetPIPE             ENVOY PIPE filesystem
  420.    ParMake...                       ParMake             Parallel make (local or accoss ENVOY network)
  421.    RemoteSCSI.DEVICE                RemoteSCSI.DEVICE   scsi.device export over envoy networks
  422.    RemoteSerial.device              RemoteSerial.device serial.device export over envoy networs
  423.    RemoteRequester.service          remoterequester.service Import/Export system requesters using envoy.
  424.                                                         Usefull with rlogin.service
  425.    clipboard.service                clipboard.service   Clipboard import/export using envoy
  426. disk related projects
  427.    NoClick...                       NoClick             Turns trackdisk clicking off
  428.    Eject...                         Eject               Sends trackdisk EJECT command
  429.    MakeLink...                      MakeLink            Create filesystem links (soft && hard)
  430. misc projects
  431.    MultiMinClock...                 MultiMinClock       Little multiproject clock
  432.    Reboot...                        Reboot              Reboot utility
  433.    ThrowMouse...                    ThrowMouse          Startup icon starter
  434.    FileChanged...                   FileChanged         Wait for DOS notification
  435.    WriteClipboard...                WriteClipboard      Write string to clipboard
  436.    WBInfo...                        WBInfo              Prompt the Workbench Information Requester
  437. mpeg related projects
  438.    mpeg2decode...                   mpeg2decode         mpeg2decode
  439.    splitmpeg...                     splitmpeg           splitmpeg amiga port (mpeg system stream demuxer)
  440.    VideoCD-FS...                    VideoCD-FS          filesystem, which reads video-cd's (old, "while book"),
  441.                                                         represented in different files (system, video, audio, frames etc.)
  442. datatypes related projects
  443.    DTMethod...                      DTMethod            Debug datatypes method communication
  444.    markabletextdtclass...           markabletextdtclass Adds a class to text.datatype to support DTM_SELECT (mark mode)
  445.    paranimdtcpatch...               paranimdtcpatch     Patch animation.library to allow parallel animations
  446.    dumpdtanim...                    dumpdtanim          Creates single pictures and sounds from animation.datatype (anim/movies) objects
  447.    picmovie_datatype...             picmovie_datatype   Create movies using single pictures and samples (movie type)
  448.    directory_datatype...            directory_datatype  View directories (document type)
  449.    list.datatype...                 list_datatype       Datatype for IFF LIST files (document type)
  450.    prop.datatype...                 prop_datatype       Datatype for IFF PROP files (document type)
  451.    iff.datatype                     iff_datatype        Datatype for unknown IFF files. (document type)
  452.    mpegvideo_datatype...            mpegvideo_datatype  View mpeg video streams (animation type)
  453.    mpegaudio_datatype...            mpegaudio_datatype  Hear mpeg audio streams (sound type)
  454.    mpegsystem_datatype...           mpegsystem_datatype Play mpeg movies (movie type)
  455.    film.datatype                    film_datatype       Datatype for FILM anims (movie type)
  456.    moviesetter.datatype...          moviesetter.datatypeDatatype for Gold-Disk moviesetter anims (subclass of animation.datatype)
  457. development related projects
  458.    NoTraps...                       NoTraps             Disable all trap crashes
  459. big projects
  460.    SwitchWindow...                  SWP                 OOP Environment
  461. The anim.datatype and film.datatype will be released in December 96,
  462. the ssa.datatype (Thanks to proDAD) will follow.
  463. =========================== Author's Request ==============================
  464. ===========================================================================
  465. By  releasing  this program I do  not  place any obligations on you,
  466. feel free to share this program with your  friends (and enemies).
  467. If you want to blame me, report any bugs, or wants a new version
  468. send your letter to:
  469.                 Roland Mainz
  470.                 Hohenstaufenstra
  471.                 52388 N
  472. rvenich
  473.                 GERMANY
  474. Phone: (+49)(0)2426/901568
  475. EMAIL is also available:
  476. GISBURN@w-specht.rhein-ruhr.de
  477. If you want to send me attachments larger than 1MB (up to 5MB, more with my
  478. permission):
  479. Up to March 1997 I'm reachable using this email address, too:
  480. Reinhold.A.Mainz@KBV.DE
  481. | Please put your name and address in your mails !
  482. | German mailers should add their phone numbers.
  483. | See BUGS section above when submitting bug reports.
  484. Sorry, but I can only look once a week for mails.
  485. If you don't hear something from me within three weeks, please send your
  486. mail again (but watch about new releases) (problems with this email port
  487. are caused by reconfigurations, hackers, network problems etc.).
  488. The  entire  "mpegvideo.datatype"  package  may  be  noncommercially
  489. redistributed, provided  that  the package  is always  distributed in it's
  490. complete  form (including it's documentation).  A small copy fee  for media
  491. costs is okay but any kind of commercial distribution is strictly forbidden!
  492. Comments  and  suggestions  how  to  improve  this  program  are generally
  493. appreciated!
  494. Thanks to David Junod, who wrote animation.datatype and the datatypes example
  495. code, Matt Dillon for his DICE, Olaf 'Olsen' Barthel for his help, ideas and
  496. some text clips from his documentations, Martin Apel for his VMM package
  497. (shareware !) and his help.
  498.