home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / datatypes / mpvdtc018 / mpegvideo_datatype.guide < prev    next >
Encoding:
Text File  |  1997-05-27  |  29.1 KB  |  654 lines

  1.  
  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
  11. **
  12. */
  13.  
  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.
  18.  
  19. ===================  Changes since last version (V1.7)   ==================
  20. ===========================================================================
  21.  
  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
  24.  
  25. - Added partial support for mpeg-2 (MPEG-2 does NOT work yet !),
  26.   both encoder+decoder.
  27.  
  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.
  31.  
  32. - Added my own scaling routine, replacing
  33.   graphics.library/BitMapScale (which needs chipmem as temp.
  34.   buffer).
  35.   Does not work properly yet.
  36.  
  37. - Fixed the gauge, which didn't work correctly with large streams
  38.   (>= 8MB).
  39.   Fixed.
  40.  
  41. - The gauge ha now a text info, which shows the remaining time
  42.   to decode.
  43.  
  44. - Added experimental stack swapping code. The "Need more stack"-
  45.   requester has been removed for this reason.
  46.  
  47.   This also fixes a possible deadlock of "input.device" because
  48.   the GM_LAYOUT method was running with low stack.
  49.   Fixed.
  50.  
  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.
  54.  
  55. - Fixed different problems within color setup. Now this should
  56.   work with a higher quality, and a little bit faster.
  57.  
  58. - Fixed the descriptor, which din't match all mpeg video streams.
  59.   Fixed.
  60.  
  61. - Added floating-point dct and a matching QUALITY option.
  62.   Systems with __much__ FPU-performace recommened.
  63.  
  64. ===================  Changes since last version (V1.6)   ==================
  65. ===========================================================================
  66.  
  67. - Now includes a mc68060 version.
  68.  
  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.
  71.  
  72.   The PALETTEPERFRAME option used with COLOR or ORDERED dithering creates
  73.   a new palette for __EACH__ frame, which gives a much better quality.
  74.  
  75.   Example:
  76.   DITHER=8 DITHER=COLOR PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  77.  
  78.   or
  79.  
  80.   DITHER=8 DITHER=OREDERED PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  81.  
  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).
  85.  
  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).
  89.  
  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).
  92.  
  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).
  98.  
  99. =============================== FAQ =======================================
  100. ===========================================================================
  101.  
  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.
  106.  
  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
  114.  
  115. > I found a special version for the mc68040 CPU. Is there any 060' special
  116. > version available ?
  117.  
  118.   This release now contains a special mc68060-Version, located in the
  119.   060881/ directory.
  120.  
  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 ?
  127.  
  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).
  133.  
  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).
  138.  
  139. > Where can I get animation.datatype ?
  140.  
  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).
  146.  
  147.   But you need not only the "animation.datatype". The animation.datatype requires
  148.   itself some resources. See "Requirements"-section.
  149.  
  150. > Could it be possible for the mpeg video datatype to spool from HD
  151. > dynamically ?
  152.  
  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.
  156.  
  157.   Today, use AMIPEG instead.
  158.  
  159. > I only get black and white output/gray output ) Is this OK ? Or
  160. > are some prefs to set/edit ?
  161.  
  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.
  165.  
  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
  169.  
  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
  174.  
  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.
  180.  
  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
  183.  
  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
  198.  
  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.
  205.  
  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
  211.  
  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 !).
  219.  
  220. - The IEEE versions (#?ieee directories) requires the
  221.   "mathieeedoubbas.library" (V38 or higher) library in your LIBS: (or
  222.   something equal) directory.
  223.  
  224.  
  225. =============================== Misc ======================================
  226. ===========================================================================
  227. mpegvideo.datatype is a datatype to view mpeg system streams. It's a
  228. subclass of animation.datatype.
  229.  
  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).
  238.  
  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.
  248.  
  249.  
  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.
  256.  
  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!!
  263.  
  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).
  269.  
  270. - To allow mc68000/mc68010 based AMIGA users the taste of real time
  271.   video, if they have the required memory :-) (assumed, not tested).
  272.  
  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...
  282.  
  283. - To test how much response such a datatype will produce.
  284.  
  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...
  291.  
  292. For my address, email etc. see below...
  293.  
  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.)
  298.  
  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)
  303.  
  304. Thanks !!
  305.  
  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".)
  313.  
  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.
  317.  
  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)
  327.  
  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.
  332.  
  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
  343.  
  344. 3. Example (for color monitors and a player which supports per-frame-palette
  345.    changes (like "DBufDTAnim" or animation.datatype V41)):
  346.  
  347. VERBOSE
  348. DITHER=COLOR DEPTH=8 PALETTEPERFRAME LUM_RANGE=32 CR_RANGE=16 CB_RANGE=16
  349.  
  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
  355.  
  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...).)
  368.  
  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
  372.  
  373.     Then copy the datatypes descriptor into the DEVS:DataTypes directory
  374. Copy CLONE FROM "MPEG Video(%|.info)" TO DEVS:Datatypes/
  375.  
  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"
  381.  
  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 !!!
  387.  
  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.
  390.  
  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.
  395.  
  396. - Please report your working/non-working configuration (very welcome:
  397.   mc68060 users).
  398.  
  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.
  407.  
  408. See mpegvideo.datatype.doc for a complete list of all (removed/fixed
  409. etc.) bugs.
  410.  
  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.)
  414.  
  415. =============================== TODO ======================================
  416. ===========================================================================
  417. Following will be implemented in one of the later versions:
  418.   - Fix some inconsistensies
  419.  
  420.   - More time to rework this and other public projects
  421.  
  422.   - To write a "real" #?.guide file (and clean up the docs...)
  423.  
  424.   - A STARTFRAME/K/N and STOPFRAME/K/N to load, decode and play only a
  425.     part of the video.
  426.  
  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.
  432.  
  433. ============================== SOURCE =====================================
  434. ===========================================================================
  435. Sorry, I've removed the source. I've working on a releaseable form.
  436.  
  437. See mpegvideo.datatype.doc for additional information.
  438.  
  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...
  447.  
  448.  Copyright (c) 1992 The Regents of the University of California.
  449.  All rights reserved.
  450.  
  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.
  455.  
  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.
  460.  
  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.
  466.  
  467.  
  468. ... and the idct algorithm is based on jrevdct.c (also found in the
  469. mpeg_play package), which is...
  470.  
  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.
  474.  
  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.
  479.  
  480. ... and (at least) all modifications are (C) by Roland Mainz (see below
  481. for details).
  482.  
  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.
  489.  
  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.
  496.  
  497.                        W A N T E D: BUG reports
  498.  
  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...)
  513.  
  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...
  521.  
  522.  
  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).
  529.  
  530. Software projects
  531.  
  532. ENVOY related projects
  533.    NetInfo...                       NetInfo             ENVOY network information
  534. ...
  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
  544. ...
  545.    clipboard.service                clipboard.service   Clipboard import/export using envoy
  546. ...
  547.  
  548. disk related projects
  549.    NoClick...                       NoClick             Turns trackdisk clicking off
  550.    Eject...                         Eject               Sends trackdisk EJECT command
  551. ...
  552.    MakeLink...                      MakeLink            Create filesystem links (soft && hard)
  553. ...
  554.  
  555.  
  556. misc projects
  557.    MultiMinClock...                 MultiMinClock       Little multiproject clock
  558.    Reboot...                        Reboot              Reboot utility
  559. ...
  560.    ThrowMouse...                    ThrowMouse          Startup icon starter
  561.    FileChanged...                   FileChanged         Wait for DOS notification
  562.    WriteClipboard...                WriteClipboard      Write string to clipboard
  563. ...
  564.    WBInfo...                        WBInfo              Prompt the Workbench Information Requester
  565.  
  566. mpeg related projects
  567. ...
  568.    mpeg2decode...                   mpeg2decode         mpeg2decode
  569. ...
  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.)
  573. ...
  574.  
  575. datatypes related projects
  576.    DTMethod...                      DTMethod            Debug datatypes method communication
  577. ...
  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
  581. ...
  582.    picmovie_datatype...             picmovie_datatype   Create movies using single pictures and samples (movie type)
  583.    directory_datatype...            directory_datatype  View directories (document type)
  584. ...
  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)
  588. ...
  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)
  592. ...
  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)
  595. ...
  596.  
  597. development related projects
  598. ...
  599.    NoTraps...                       NoTraps             Disable all trap crashes
  600. ...
  601.  
  602. big projects
  603. ...
  604.    SwitchWindow...                  SWP                 OOP Environment
  605.  
  606.  
  607. The anim.datatype and film.datatype will be released in December 96,
  608. the ssa.datatype (Thanks to proDAD) will follow.
  609.  
  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).
  614.  
  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
  621.  
  622. Phone: (+49)(0)2426/901568
  623.  
  624. EMAIL is also available:
  625. GISBURN@w-specht.rhein-ruhr.de
  626.  
  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
  631.  
  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.
  635.  
  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.).
  640.  
  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!
  647.  
  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.
  652.  
  653.  
  654.