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