home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / viewers / qpeg10c.zip / QPEG.DOC < prev    next >
Text File  |  1993-11-02  |  11KB  |  241 lines

  1. -----------------------------------------------------------------------------
  2.  
  3.                                    Q P E G
  4.                                  ___________
  5.                                  ~^~^~^~^~^~
  6.  
  7.       A fast JPEG viewer for MS-DOS.  VGA graphics and 80386+ required.
  8.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  9.  
  10. Copyright (c) 1993 by TBH-Softworx -- all rights reserved
  11.           Oliver Fromme, Klingestr. 2, 38640 Goslar, Germany
  12.           Internet email: inof@asterix.rz.tu-clausthal.de
  13.  
  14. Version 1.0c of 2-Nov-1993
  15.  
  16. This program is Shareware.  You may copy it, use it, give it to your friends,
  17. upload it to a BBS or something similar, under the following conditions:
  18.  
  19.  * Don't charge any money for it.  If you upload it to a BBS, make sure that
  20.    it can be downloaded free (without paying for downloading it).
  21.  * Only distribute the whole original package, with all the files included.
  22.  * Don't change the files in any way, except:
  23.    You may change the INI, CFG, ASM, and DRV files for private purposes.
  24.    Don't distribute modified versions of these files to others without
  25.    prior permission of the author of QPEG.
  26.  * QPEG may not be part of any commercial product or service without my
  27.    written permission.
  28.  * QPEG may not be used in any corporate or gouvernment institution without
  29.    being registered.
  30.  
  31. This software consists of the following files:
  32.  - QPEG.EXE        the main executable file
  33.  - QPEG.INI        initialization file (ASCII text)
  34.  - QPEG.DAT        data file for QPEG (don't modify!)
  35.  - QPEG.DOC        the documentation
  36.  - CHANGES.DOC     list of changes from previous versions
  37.  - README.1ST      getting started (how to configure QPEG)
  38.  - REGISTER.FRM    registration form
  39.  - JPEGUNIT.PAS    order form for the JPEG Pascal unit
  40.  - TBHGLOGO.RLE    TBH logo for user interface
  41.  - CFG\*.CFG       various configuration files
  42.  - CFG\CFG.DOC     description of the configuration file format
  43.  - DRV\*.DRV       various video driver files
  44.  - DRVSRC\*.ASM    source codes for the video drivers
  45.  - DRVSRC\DRV.DOC  description of the video driver file format
  46. There may also be some example JPEG files.  They are not part of the QPEG
  47. software package.
  48.  
  49. IMPORTANT:  Using modes that your hardware (graphics card and/or monitor)
  50. can't handle can damage your hardware!  Be sure to use only supported
  51. modes.  If you come across a mode which looks flickering or unstable
  52. (i.e. the monitor can't hold the picture), abort QPEG immediately and
  53. delete that mode from the configuration file.
  54.  
  55. YOU ARE USING QPEG AT YOUR OWN RISK!  THE AUTHOR (OLIVER FROMME) IS NOT
  56. RESPONSIBLE FOR ANY DAMAGE CAUSED BY THE USE OF QPEG OR BY THE INABILITY
  57. TO USE QPEG.  IF YOU ARE NOT SURE ABOUT THIS, OR IF YOU DON'T ACCEPT THIS,
  58. THEN DO NOT USE QPEG!
  59.  
  60. QPEG is inexpensive shareware.  If you continue using it after a trial
  61. period of 30 days, you are encouraged to pay a small registration fee.
  62. (I try to avoid saying that you MUST register, but actually you MUST.)
  63. The registration is valid for all future updates.  The source code of the
  64. JPEG decoding routines used by QPEG is also available.
  65. To become a registered user, please print the file REGISTER.FRM and send
  66. it to me with appropriate payment.  If you want to get the JPEG source code,
  67. print the file JPEGUNIT.PAS instead.
  68.  
  69. All product names mentioned in this software are trademarks or registered
  70. trademarks of their respective owners.
  71.  
  72. -----------------------------------------------------------------------------
  73.  
  74. What is QPEG?
  75. ~~~~~~~~~~~~~
  76.  
  77. QPEG (Quick-jPEG, pronounce "Q-Peg" [kju:peg]) is a viewer for JPEG image
  78. files.  As far as I know, it is the fastest viewer available for MS-DOS
  79. based computers.
  80.  
  81. JPEG (Joint Photographic Experts Group, pronounce "Jay-Peg") is an image file
  82. format which uses a "lossy" compression.  JPEG images (they have usually a
  83. "JPG" file extension) are normally very small and offer better compression
  84. than any other image format.
  85.  
  86. Decoding of JPEG images is a rather complicated process, thus it needs a lot
  87. of computing power and performance.  QPEG takes advantage of the advanced
  88. features of 80386 CPUs, and it uses large look-up tables instead of formulas.
  89. Well, I don't want to get into details.  It's fast, that's all you could want
  90. to know.
  91.  
  92.  
  93. Features
  94. ~~~~~~~~
  95.  
  96.  - It's fast (have I mentioned that before?).
  97.  - Nice preview ability which is even faster (lets you quickly browse through
  98.    lots of images, very useful if you're searching for a certain image).
  99.  - Works even with a standard VGA card (320x200x16, 640x480x16, 320x200x256).
  100.  - Supports many SVGA cards (virtually all with VESA capability).
  101.  - Uses truecolor (16M color), hicolor (32K color), 256 color (either
  102.    greyscale or dithered color), and 16 color (dithered greyscale) modes.
  103.  - You can pan across an image which is bigger than the current screen
  104.    resolution (scrolling).  Some XMS and/or EMS memory is needed for this.
  105.  - You can change the resolution without loading/decoding the image again
  106.    (this is restricted to the same color resolution, for example you can't
  107.    switch from hicolor to truecolor without reloading the image).
  108.  - Supports also GIF images (non-interlaced).
  109.  
  110.  
  111. Requirements
  112. ~~~~~~~~~~~~
  113.  
  114.  - 80386 or better CPU (33 MHz minimum recommended)
  115.  - VGA graphics card (SuperVGA recommended, though QPEG will run on any
  116.    standard VGA card)
  117.  - some XMS and/or EMS memory (depending on the size of the images), though
  118.    QPEG will also run without any XMS/EMS, but then you will be unable to
  119.    do any panning/scrolling
  120.  - MS-DOS 5.0
  121.  
  122.  
  123. Using QPEG
  124. ~~~~~~~~~~
  125.  
  126. At first you have to configure QPEG for your video hardware.  Please read
  127. the file README.1ST for more information.
  128.  
  129. Then just type 'QPEG' to run it.  There are some command line options
  130. (type 'QPEG /?' to get a help message), but they're usually not needed.
  131.  
  132. The graphical user interface of QPEG is rather intuitive, so there is no need
  133. for much documentation.  At the top of the screen there's a list of all
  134. keyboard functions.  Hit '?' to get a list of keys that can be used while
  135. viewing an image.  You can quit QPEG at any time by hitting Alt-X.
  136.  
  137. QPEG can also be used as command line viewer (without graphical user
  138. interface).  Type 'QPEG' followed by one or more names of files or
  139. directories.  Wildcards ('*' and '?') are allowed, too.
  140.  
  141.  
  142. Restrictions and Bugs
  143. ~~~~~~~~~~~~~~~~~~~~~
  144.  
  145. The basic JPEG decoding routines of QPEG are written for maximum speed,
  146. there's no time for error checking, thus QPEG may lock up your PC if it tries
  147. to decode a corrupt JPEG file.  To prevent that, you can decode the defective
  148. file using another JPEG decoder (for example DJPEG by Tom Lane / IJG) and
  149. compress it again.  The resulting JPEG file should be decodable by QPEG
  150. without any problems.
  151.  
  152. QPEG can't handle all kinds of JPEG images.  Specifically, it can only decode
  153. files which comply with the JFIF standard.  See 'Technical Information' below
  154. for more details.
  155.  
  156. The maximum image width is 4000 pixel.  QPEG will refuse to decode larger
  157. images.  The image height is not limited, but if it's too large it may not
  158. fit into memory (XMS/EMS), thus you can't see the bottom part when scrolling
  159. down.  If this happens, try to use a video mode with less colors, because it
  160. needs less memory.  Or buy more memory :-)
  161.  
  162. This version of QPEG can't handle interlaced GIF files.
  163.  
  164. If you convert a black-and-white image to JPEG format, QPEG may display
  165. checkerboard patterns in the white areas.  This is due to round-off errors.
  166. NOTE:  Do not convert black-and-white images to JPEG format!  JPEG is not
  167. intended to be used for that kind of images, and GIF does usually a better
  168. job (regarding both image quality and compression).  Therefore I don't think
  169. I should fix that bug, since additional checking for round-off errors would
  170. cost additional time.
  171.  
  172.  
  173. How to get an updated version of QPEG
  174. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  175.  
  176. This version is most probably not the last one.  There are several ways
  177. to get an up-to-date version of QPEG:
  178.  
  179.  - You can get it free by FTP via The Internet.  Of course that's only
  180.    possible if you've got access to The Internet.  You can find QPEG at
  181.    'ftp.tu-clausthal.de' (139.174.2.10) in /pub/msdos/graphics. There's
  182.    also a mail server available at 'mail-server@rz.tu-clausthal.de'.
  183.  
  184.  - You can get it by registering QPEG.  See REGISTER.FRM for more
  185.    information.  The registration is valid for all future updates of QPEG.
  186.  
  187.  - If you're already a registered user, you can get an updated version
  188.    free by electronic mail (email).  If this is not possible, you can get
  189.    it on disk via normal "snail" mail, but that costs 10 $US or 10 DM
  190.    to cover my expenses.  Before sending me money, make sure that there
  191.    IS an updated version (otherwise you might be disappointed because you
  192.    got the same version you already have).
  193.    You can find my mail and email addresses at the top of this documentation
  194.    or by entering 'QPEG /?'.
  195.  
  196.  
  197. Future Enhancements
  198. ~~~~~~~~~~~~~~~~~~~
  199.  
  200. As mentioned before, this is probably not the last version of QPEG.
  201. These features are planned for future versions:
  202.  - Support for more image formats, e.g. Targa and interlaced GIF files.
  203.  - Mouse support (point and click).
  204.  - Tagging multiple files and view them in sequence.
  205.  - Slideshow option (preloading images, but panning disabled).
  206.  - Shrinking of big images.
  207.  - Option for automatically choosing the appropriate video mode.
  208.  - Support for more SVGA cards.  If you've written a working video driver
  209.    that isn't already distributed with QPEG, I would be most grateful if
  210.    you send it to me.
  211.  - More enhancements.  If you have any ideas, wishes, comments etc, please
  212.    let me know.
  213.  
  214.  
  215. Technical Information
  216. ~~~~~~~~~~~~~~~~~~~~~
  217.  
  218. QPEG can decode greyscaled images (containing a single component using h1v1
  219. upsampling) and YCbCr true color images (containing three interleaved
  220. components in a single scan, using either Yh2v2, Yh2v1 or Yh1v1 upsampling
  221. for Y and Ch1v1 for Cb/Cr), covering virtually all JFIF files in use today.
  222.  
  223. QPEG can handle files that contain restart markers, but it will not use them
  224. for error recovery.
  225.  
  226. The basic JPEG decoding routines are written in pure 386 assembly language,
  227. everything else is written using Borland Pascal 7.0.  I am not using
  228. protected mode, because it would slow down the decoding rather than speeding
  229. it up.  I have linked the JPEG routines into a single easy to use Pascal
  230. unit, which can also be used within other applications.  If you want to
  231. purchase the unit, please print the file JPEGUNIT.PAS and send it to me with
  232. appropriate payment.
  233.  
  234. The JPEG unit provides procedures to open and close a JPEG file, read the
  235. file header, and read the image row by row.  It contains routines which
  236. output the lines as 24 bit true color RGB/BGR, 15 bit hicolor, 256 color
  237. dithered, 256 color greyscaled, 16 color grayscaled/dithered, and 16 color
  238. greyscaled/dithered for preview (scaled to one eigth).
  239.  
  240. -----------------------------------------------------------------------------
  241.