jpeg-mmx - A modified version of jpeg-6b to support MMX ChangeLog

HOWTO


# jpeg-mmx
# ========

# Copied and pasted from an entry on http://mjpeg.sourceforge.net/:
#
# (Nov 16th, 2006 - by Bernhard)
#
# The jpeg-mmx is declared dead.
# There are several causes. The most important is the minimal speed gain you
# have with machinges running faster than 1GHz. The other thing is that it
# speed up things only on 32bit Intel and AMD machines. The last thing is that
# we have no maintaner for the jpeg-mmx, and it cause problems with other
# packages (libquicktime for example) So we have removed the jpeg-mmx from the
# list of downloadable software.


# =====
#
# ...so, I'm assuming there will be no further updates to jpeg-mmx or this
# HOWTO.
#
# =====


# There are two versions below.  The latest stable release and instructions
# that cover installing it from CVS.

# The last time I updated this howto, SourceForge's CVS server was
# completely unresponsive, so I didn't get to verify that everything is OK
# with that one.

# This is a modified version of libjpeg.  Your original /usr/lib/libjpeg.*
# will still be there, but the include files in /usr/include/ will be
# replaced.  As it is below, it will install a static /usr/lib/libjpeg-mmx.a
# To build it with a shared library, add --enable-shared to the configure
# line, but be aware that it wouldn't build for me the last time I tried it
# (version 0.1.5; with either version).


# jpeg-mmx 0.1.6
# ==============
# Get it
cd
test -f installed/jpeg-mmx-0.1.6.tar.gz &&
mv installed/jpeg-mmx-0.1.6.tar.gz .
test ! -f jpeg-mmx-0.1.6.tar.gz &&
wget http://download.sf.net/mjpeg/jpeg-mmx-0.1.6.tar.gz

# Extract it
mkdir -p -m 0700 src
cd src
test -d ./jpeg-mmx && rm -r ./jpeg-mmx
find -maxdepth 1 -type d -name "jpeg-mmx-*" -exec rm -r {} \;
tar xzvf ~/jpeg-mmx-0.1.6.tar.gz
mv -f jpeg-mmx jpeg-mmx-0.1.6
cd jpeg-mmx-0.1.6
test $UID = 0 && chown -R root:root .

# Configure the build
./configure --prefix=/usr

# If make below fails with a bunch of errors like this:
# libjpeg-mmx.a(jidctint.o)(.text+0x51): In function `domidct8x8llmW':
# : undefined reference to `fix_054n184_054'
# give up and skip down to the CVS version below.  This happened for me with
# version 0.1.5 and gcc 3.4.x.  I'm using 0.1.6 and gcc 3.3.6 at the moment,
# no error.

# Build it
make

# Install it as root
su -c "make install_real"

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/jpeg-mmx-*.tar.*
mv jpeg-mmx-0.1.6.tar.gz installed/

# Skip to the bottom for info about reverting back to the real libjpeg


# The CVS Version
# ===============
# Prerequisites (in addition to those listed above):
# autoconf
# automake
# libtool
# nasm

# Get it
cd
rm -f installed/jpeg-mmx-*.tar.*
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "jpeg-mmx-*" -exec rm -r {} \;
test -d jpeg-mmx && ( cd jpeg-mmx ; cvs update )
test ! -d jpeg-mmx &&
( cvs -d:pserver:anonymous@mjpeg.cvs.sourceforge.net:/cvsroot/mjpeg login
   # Hit enter for the password
   cvs -z3 -d:pserver:anonymous@mjpeg.cvs.sourceforge.net:/cvsroot/mjpeg \
    co -P jpeg-mmx )
cd jpeg-mmx
test $UID = 0 && chown -R root:root .

# I had to open up jquant_x86simd.c and change the "X" in line 107
# to a "m".  Otherwise it would fail with assembler errors.  FYI I have gcc
# 4.1.1 and nasm 0.98.39 installed.

# Configure the build
./configure --prefix=/usr

# Build it
make

# Install it
su -c "make install_real"

# Make note for later where the CVS-based source is
# (no tarball)
cd
echo 'jpeg-mmx was installed from CVS' > installed/jpeg-mmx.README
echo 'Source is in ~/src/jpeg-mmx' >> installed/jpeg-mmx.README
chmod 600 installed/jpeg-mmx.README


# If you ever need to uninstall this version (jpeg-mmx) and revert back to
# the "real" one (the regular libjpeg), run this, then go through
# the regular howto
cd
su
( cd /usr/include ; rm -f jconfig.h jerror.h jinclude.h jmorecfg.h jpeglib.h )
rm -f /usr/lib/libjpeg-mmx.a
exit
find ~/src -maxdepth 1 -type d -name "jpeg-mmx-*" -exec rm -r {} \;
rm -f ~/installed/jpeg-mmx-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EST -0500)
HOWTO last updated: 2013-07-10 11:36am
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]