jpeGS 1.0 ´ Introduction jpeGS is a JPEG image viewer for the Apple IIGS that is based on the freely available JPEG decompression code by the Independent JPEG Group (IJG). It supports, but doesn't require, the Second Sight» video card from Sequential Systems. Some of it's features include: - Viewing of any number or size of files that will fit in available memory. - From the Finder, opening any file ending in ".jpg" will run jpeGS, which will attempt to load that file. - Supports progressive JPEG files. - Allows scaling and horizontal/vertical scrolling to view large files. - Preview mode for faster decompression. - Supports all available Second Sight video modes and the 320x200x16 SHR mode. jpeGS is freeware. Distribute freely, but don't modify or sell. ´ System Requirements: Requires an Apple IIGS with GS/OS 6.0.1 and 1.25 MB of memory, although with only 1.25 MB, you won't be able to view very large images, so 2 MB or more is recommended. An accelerator, 4 MB+ of memory, a Second Sight card, and a hard drive are all highly recommended. ´ Preferences In the preferences dialog, the following options may be selected: 1) IDCT Method. The Inverse Discrete Cosine Transform (IDCT) is the primary mathematical algorithm used in decompressing a JPEG image. The floating point method is very accurate, but also very slow. The integer method is faster, and only slightly less accurate. Usually there is little visible difference between the two. The floating point IDCT will only be used when the image is viewed full size (Scaling of 1:1). For reduced images, less complicated integer IDCT routines are used. 2) Default prefix for temporary files. The JPEG decompressor sometimes makes use of temporary files to reduce the amount of memory required. They will be stored in this directory and deleted when no longer needed. No validation is performed on the prefix, and it defaults to the System folder on the boot volume (*:System:). And, 3) View upon open. If this is checked, jpeGS will start decompressing the image immediately after opening it. ´ The Image Window The Image window allows you to choose the resolution, color depth, and scaling of the image. Any resolution may be chosen, and if the selected number of colors isn't available in that resolution, the number of colors will be changed to the highest available. The Preview mode will select decompression parameters that will reduce the quality of the image, but speed up the decompression. This is generally most effective in the 256 color modes. For those who are interested, preview mode selects the following parameters - not all of which are applicable to all color modes: Use a one-pass color quantization instead of a two-pass, use a sloppier method of upsampling, use a faster but less accurate integer IDCT (again, for 1:1 scaling), and don't do any dithering. In 256 shade grayscale and 32k color modes and higher, this will have little visible effect, while still speeding things up a bit. In 256 color mode, it will speed things up quite a bit, and still give a reasonable image. In 16 shade grayscale mode, it will give a medium to poor image, and in the 16 color mode... well, let's just say it will score very few points for accuracy, but may score well in artistic impression. ´ Viewing an image When Display is selected from the Image menu, jpeGS will decompress (if necessary) and display the image. Decompression is necessary if either the image has not been decompressed, or any of the viewing parameters have changed. If the color depth is not changed, the resolution may be changed without causing jpeGS to decompress the image again. During decompression, a thermometer will show the progress completed. Pressing Open Apple - period will abort the decompression the next time the thermometer is updated - which may take a moment. When the image is displayed, the mouse controls scrolling of the image, and the mouse button exits. Both horizontal and vertical scrolling are possible, but when using the Second Sight, the horizontal scrolling will be slow and jerky. ´ Available video modes Currently, only a few of the possible Second Sight modes are available to programmers. More will be added when they are implemented. Resolution Colors Second Sight required? 320x200 16 Colors/grays No 320x200 32K Colors Yes* RGB/VGA 640x400 256 Colors/grays Yes RGB/VGA 640x400 32K Colors Yes* RGB 640x480 256 Colors/grays Yes VGA 640x480 32K Colors Yes* VGA Those modes marked with * are not availble with Second Sight ROM version 1.0. ´ Future enhancements Here are some things I would like to improve in the future: - Speed. The IJG library is written entirely in C, so it is quite slow. I believe that translating at least some of the code into assembly language would speed it up greatly. - I would like to add the ability to export JPEG images to a couple of other image types that could be used with other viewers - notably those with 3200 color support. Questions, comments, or suggestions? Just drop me a note at o9938156@unicorn.it.wsu.edu. Mark Marr-Lyon 2/11/1996