# Intel® JPEG Library v1.51

# Product Release Notes

## Contents

Intel® JPEG Library 1.51
System Requirements
Compiler Support
License Definitions
Installation
Library Use
What's New in Version 1.51
History
Known Limitations in Version 1.51
Technical Support and Feedback

## Intel® JPEG Library 1.51

The Intel® JPEG Library (IJL) is a software library for application developers that provides high performance JPEG encoding and decoding of full color and grayscale still images.

The IJL was designed for use on Intel® architecture platforms and has been tuned for speed and efficient memory usage. Additionally, the IJL was developed to take advantage of MMX™, Streaming SIMD Extensions (SSE), and SSE-2 technology if present.

The IJL provides an easy-to-use programming interface without sacrificing low-level JPEG control to advanced developers. The IJL also includes a substantial amount of functionality that is not included in the ISO JPEG standard. This added functionality is typically necessary when working with JPEG images, and includes pre-processing and post-processing options like sampling and color space conversions.

Additional information on this software as well as other libraries is available at the Intel Performance Libraries web site.

## System Requirements

The Intel JPEG Library requires the following software and hardware:

Recommended hardware: A Pentium® II, Pentium III, or Pentium 4 processor-based PC with memory appropriate to the image sizes needed.

Software Requirements: Microsoft* Windows* 95, 98, ME*, 2000, or Microsoft Windows NT* 3.51 or 4.0.

## Compiler Support

Intel® C++ Compiler, Borland* C++ 5, or Microsoft* Visual C++* 4.2 or later. Other compatible compilers have not been tested extensively but might work.

## License Definitions

Please see the license file ijllic.htm for the license definitions and restrictions on the library.

## Installation

You can install the IJL package by downloading and running the appropriate self-extracting installation files from the Web site. Check the Intel JPEG Library site for updates, when available.

## Library Use

To get started using the library, the following steps are required:

- Include the file "ijl.h" in your program.
- Call the IJL interface.
- Link to the file ijl.lib in the lib directory.
- Put the DLL ijl15.dll in your path before executing your program.

## What’s New in the Intel JPEG Library Version 1.51

New Features:

- Microsoft* Visual Basic* example extended to demonstrate how to work with a memory buffer

Fixed Bugs:

- Multi-thread safety restored
- Now properly auto-detects processor type
- Now writing JPEG comments properly
- No longer crashing when decoding corrupted JPEG images
- Now encoding/decoding progressive JPEG images properly
- Now decoding a Region of Interest (ROI) from progressive JPEG images
- Rounding error fixed in the Microsoft* Visual Basic* example
- JPGView example now stores BMP files in top-down order instead of bottom-up

## History

New in Version 1.5:

- Optimizations for the Pentium III and Pentium 4 processors
- Support for Microsoft* Visual Basic*
- A more accurate DCT
- Encoding of progressive images
- Reading of embedded thumbnails
- Reading/Writing of JPEG comments
- Reading/Writing of DPI information
- Raw quantization and Huffman tables can be read at decode time
- YCbCr (4:2:2) supported as input to encoder and output from decoder
- Raw DCT coefficients and raw sampled data supported as input to decoder and output from decoder

Bugs fixed in 1.5:

- JPG files are properly truncated of extra data before writing
- JPGSizeBytes no longer ignored on ijlWrite
- No dynamic buffer overruns if output buffer is too small
- No longer misinterpreting coefficients when first AC coefficient is -1 and first DC coefficient is negative
- A single-line distortion problem was fixed
- Some image corruptions at encode time was fixed
- Path searching is correct when path contains localized characters/ UNICODE
- IJL now recognizes images encoded with a ZORAN* chip

New in Version 1.1:

- Delphi support
- ijl_ipl.pdf corrected to refer to version 2.x of the Intel® Image Processing Library
- Examples in the manual were corrected
- Bug in subsampled decoding that made images look "washed out" was fixed

## Known Limitations In Version 1.51

- PLSInfo.exe and the Performance Libraries dispatching mechanism are not supported.

## Technical Support and Feedback

All interactive support for the Intel JPEG Library is handled through the Intel® Performance Libraries section of the Intel® Premier Support web-based support system. In order to access support for this product, you will need an account on Intel Premier Support. Register for an account at the Intel Premier Support Registration Page.
Once you have an account, you can login to the Intel Premier Support Web site.

If you have forgotten your password, please contact quad.support@intel.com. If you have questions pertaining to the auto accounts registration process, please contact pto.quad@intel.com. For all support questions, please submit an issue at https://premier.intel.com/.

To submit an issue via the Intel Premier Support website:

- Go to https://premier.intel.com/
- Type in your Premier Support Login and Password.
  Click the "Submit" button.
- Read the Confidentiality Statement and click the "I Accept" button.
- Click on the "Submit Issue" link in the left navigation bar.
- Choose "Initiatives, technologies & tools" from the "Product Type" drop-down list.
- Choose "Intel® Performance Libraries" from the "Product Name" drop-down list.
- Enter your question and complete the fields in the windows that follow to successfully submit the issue.

Contact us with your suggestions or problem reports using your Intel Premier Support account. A technical support engineer will respond within one (1) Intel business day.

Intel, the Intel logo, and Pentium are registered trademarks of Intel Corporation.
MMX is a trademark of Intel Corporation.
*Other names and brands may be claimed as the property of others.

Copyright 2001, Intel Corporation, All Rights Reserved.