Intel® Integrated Performance Primitives
IJG Implementation for Linux*

Disclaimer
License Definitions
Overview
System Requirements
Package Contents
Installation
How to Build Source Code
Running the Software
Technical Support and Feedback

Disclaimer

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice.

License Definitions

By downloading and installing this sample, you hereby agree that the accompanying Materials are being provided to you under the terms and conditions of the End User License Agreement for the Intel® Integrated Performance Primitives product previously accepted by you. Please refer to the file ipplic.htm for more information. 

JPEG is an international standard promoted by ISO/IEC (ISO Website) and other organizations. Implementations of these standards, or the standard enabled platforms may require licenses from various entities, including Intel Corporation.

Overview

This sample demonstrates how to use the Intel® Integrated Performance Primitives (Intel® IPP) libraries to increase the performance of the Independent JPEG Group (IJG) library. The detailed description of the modification of the IJG library by means of embedded Intel® IPP functions may be found in the document "IJG Library Modification by Using IPP" that is included in this package (ijg_ipp.pdf). The JPEG decoder is based on the international standard ISO/IEC 10918-1.

Additional information on this software as well as other Intel software performance products is available at http://developer.intel.com/software/products/.

System Requirements

Recommended hardware:   Hardware requirements: Software requirements: 

Package Contents

The Intel® IPP IJG Implementation for Linux* package contains the following files:

.\ipp_sample\jpeg\
ipplic.htm End User License Agreement
support.txt Contains information for technical support
.\ipp_sample\jpeg\ijg\

readme.htm

This file

Makefile Makefile to build this sample
linux32.ini, linux64.ini, linuxem64t.ini, linuxixp_le.ini, linuxixp_be.ini Initialization for tools

build32.sh, build64.sh, buildem64t.sh, buildixp_le.sh, buildixp_be.sh

Command file to build this sample

.\ipp_sample\jpeg\ijg\doc\

change.log, coderules.doc, filelist.doc, install.doc, jconfig.doc, libjpeg.doc, README, structure.doc, usage.doc, wizard.doc, ijg_ipp.xls, IJG_IPP.pdf

IJG documentation
.\ipp_sample\jpeg\ijg\include\

jconfig.h, jerror.h, jmorecfg.h, jpeglib.h, jversion.h

External IJG header files
.\ipp_sample\jpeg\ijg\_include\
jinclude.h, jmemsys.h, jpegint.h, jpegipp.h Internal IJG header files
.\ipp_sample\jpeg\ijg\_src\
jcapimin.c, jcapistd.c, jccoefct.c, jccolor.c, jcdctmgr.c, jchuff.c, jchuff.h, jcinit.c, jcmainct.c, jcmarker.c, jcmaster.c, jcomapi.c, jcparam.c, jcphuff.c, jcprepct.c, jcsample.c, jctrans.c, jdapimin.c, jdapistd.c, jdatadst.c, jdatasrc.c, jdcoefct.c, jdcolor.c, jdct.h, jddctmgr.c, jdhuff.c, jdhuff.h, jdinput.c, jdmainct.c, jdmarker.c, jdmaster.c, jdmerge.c, jdphuff.c, jdpostct.c, jdsample.c, jdtrans.c, jerror.c, jfdctflt.c, jfdctfst.c, jfdctint.c, jidctflt.c, jidctfst.c, jidctint.c, jidctred.c, jmemmgr.c, jmemnobs.c, jquant1.c, jquant2.c, jutils.c Source code files
.\ipp_sample\jpeg\ijg\samples\utils
cderror.h, cdjpeg.c, cdjpeg.h, cjpeg.c, djpeg.c, jpegtran.c, rdbmp.c, rdcolmap.c, rdgif.c, rdjpgcom.c, rdppm.c, rdrle.c, rdswitch.c, rdtarga.c, testimg.bmp, testimg.jpg, testimg.ppm, testimgp.jpg, testorig.jpg, testprog.jpg, transupp.c, transupp.h, wrbmp.c, wrgif.c, wrjpgcom.c, wrppm.c, wrrle.c, wrtarga.c IJG sample files
.\ipp_sample\jpeg\ijg\samples\ijgtiming
ijg_timing.c Sample to estimate IJG performance

Installation

Extract all files in l_ipp-sample-jpeg_*.tgz to a desired folder. Please make sure to preserve the directory structure. The files for this sample will be found in the ./ipp_sample/jpeg/ijg folder.

How to Build Source Code

As a result of build you will find static IJG library, shared IJG library, set of IJG tools and simple test program in ./bin/linux32 folder (or appropriate for other platform). The output binary files will have the names: libijg.ipp.a, libijg.ipp.so, cjpeg, djpeg, jpegtran, rdjpgcom, wrjpgcom and ijg_timing.

Note, with default settings it will build sample using Intel® C++ compiler. To change defaults see Makefile for brief description of the available variables and additional options.

Running the Software

You can run the desired JPEG utility (for example, cjpeg, djpeg, ijg_timing  and so on by typing its name  in the command line. To see the list of available options a name should be entered with the switch -?.  

In order to run each executable created by this sample, the Intel® IPP shared libraries and created IJG shared library must be on the operating system loader search path. At the install stage shared libraries are located in sharedlib subdirectory of the root directory of the Intel® IPP installation (IPPROOT). You can set up the correct Intel® IPP environment variables manually or invoking the appropriate command file, for example for IA32: "$(IPPROOT)/tools/env/ippenv32.sh" from the Intel® IPP installationt. You also will need to add this sample's bin folder to LD_LIBRARY_PATH environment variable, for example invoking this line at command prompt: export LD_LIBRARY_PATH=~/ipp_sample/jpeg/ijg/bin/linux32:$LD_LIBRARY_PATH

Technical Support and Feedback

Your feedback on the Intel® IPP samples is very important to us and your input will be considered for future releases. The Intel® IPP sample code is intended only as an example of how to use the APIs to implement algorithms in different development environments. Please submit problems with installation, compiling, linking, runtime errors or incorrect output to Intel® Premier Support.

You can also share and discuss the experience of IPP sample usage with other developers at Intel Software Developer Forum.

Intel, the Intel logo, Intel SpeedStep, Intel NetBurst, Intel NetStructure, MMX, i386, i486, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2,Celeron, Intel Centrino, Intel Xeon, Intel XScale, Itanium, Pentium, Pentium II Xeon, Pentium III Xeon, Pentium M, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.
 
Copyright © 2002-2005 Intel Corporation.