Compare commits

...

16 Commits
1.0.0 ... 1.0.1

Author SHA1 Message Date
DRC
585a0172e7 Use testimgflt.ppm in Windows tests
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@233 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-09 22:05:49 +00:00
DRC
5263a8044f Require a full build prior to testing (this fixes a problem whereby running 'make test' on an unbuilt tree would fail)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@232 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-09 21:02:21 +00:00
DRC
50503c7ac3 Include testimgflt.ppm in distribution
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@231 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-09 21:00:31 +00:00
DRC
c21e538bfb Most of the "nosimd" test images no longer exist, so don't try to include them in the distribution
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@230 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-09 20:40:35 +00:00
DRC
babb815cc0 1.0.1
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@229 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-09 20:34:10 +00:00
DRC
c06073a949 Remove simd/ prefix from #include (not necessary and was causing problems with Visual Studio project)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@228 632fc199-4ca6-4c93-a231-07263d6284db
2010-09-06 17:37:12 +00:00
DRC
bdb1288e9e Automatically determine whether INCOMPLETE_TYPES_BROKEN should be defined
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@227 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-21 21:14:17 +00:00
DRC
ae7fe0b9ab Clarify licensing
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@226 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-11 21:46:46 +00:00
DRC
025a279ce6 Strike that! Reverse it!
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@225 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-07 16:27:56 +00:00
DRC
3da06c794e No longer need separate test BMP for non-SIMD unit tests
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@224 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-07 16:14:05 +00:00
DRC
30959719ad Fix typo in SIMD dispatch routines which was causing 4:2:0 upsampling to
be used instead of 4:2:2 when decompressing JPEG images using SSE2 code


git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@223 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-07 16:06:56 +00:00
DRC
231a43fc68 Fix build with YASM
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@222 632fc199-4ca6-4c93-a231-07263d6284db
2010-08-03 18:45:11 +00:00
DRC
0fbb28ec39 Handle erroneous Huffman codes
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@221 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-30 17:15:52 +00:00
DRC
bab2941338 1.0.1
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@220 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-30 15:28:22 +00:00
DRC
575c3425ad Document NASM version requirement for 64-bit backward compatible build
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@219 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-08 07:01:20 +00:00
DRC
f1372d29eb We're no longer using the RM macro in Makefile.am, so it doesn't need to be substituted anymore
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@218 632fc199-4ca6-4c93-a231-07263d6284db
2010-07-08 05:41:47 +00:00
27 changed files with 71 additions and 52 deletions

View File

@@ -150,7 +150,8 @@ Add
LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk \
-mmacosx-version-min=10.4'
to the configure command line. The OS X 10.4 SDK must be installed.
to the configure command line. The OS X 10.4 SDK, and NASM 2.07 or later from
MacPorts, must be installed.
32-bit Backward-Compatible Library Build on OS/X

View File

@@ -1,3 +1,17 @@
Significant changes since 1.0.0
===============================
[1] The Huffman decoder will now handle erroneous Huffman codes (for instance,
from a corrupt JPEG image.) Previously, these would cause libjpeg-turbo to
crash under certain circumstances.
[2] Fixed typo in SIMD dispatch routines which was causing 4:2:2 upsampling to
be used instead of 4:2:0 when decompressing JPEG images using SSE2 code.
[3] configure script will now automatically determine whether the
INCOMPLETE_TYPES_BROKEN macro should be defined.
Significant changes since 0.0.93
================================

View File

@@ -87,10 +87,8 @@ DOCS= README install.doc usage.doc wizard.doc example.c libjpeg.doc \
ChangeLog.txt
TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \
testimgfst.jpg testimgint.jpg testimgp.jpg testimgfst.ppm testimgint.ppm \
testimg-nosimd.bmp testimgfst-nosimd.ppm testorig-nosimd.ppm \
testimgflt-nosimd.jpg testimgint-nosimd.jpg testimgfst-nosimd.jpg \
testimgp-nosimd.jpg
testimgfst.jpg testimgint.jpg testimgp.jpg testimgflt.ppm testimgfst.ppm \
testimgint.ppm testimgflt-nosimd.jpg
EXTRA_DIST = win release $(DOCS) $(TESTFILES)
@@ -100,7 +98,7 @@ dist-hook:
if WITH_SIMD
test: testclean cjpeg djpeg jpegtran jpegut
test: testclean all
./jpegut
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig.ppm
@@ -113,7 +111,7 @@ test: testclean cjpeg djpeg jpegtran jpegut
./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
cmp $(srcdir)/testimgint.ppm testoutint.ppm
cmp $(srcdir)/testimgfst.ppm testoutfst.ppm
cmp $(srcdir)/testorig.ppm testoutflt.ppm
cmp $(srcdir)/testimgflt.ppm testoutflt.ppm
./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
cmp $(srcdir)/testimg.bmp testout.bmp
./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig.ppm
@@ -123,26 +121,26 @@ test: testclean cjpeg djpeg jpegtran jpegut
else
test: testclean cjpeg djpeg jpegtran jpegut
test: testclean all
./jpegut
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig-nosimd.ppm
./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig-nosimd.ppm
./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig-nosimd.ppm
cmp $(srcdir)/testimgint-nosimd.jpg testoutint.jpg
cmp $(srcdir)/testimgfst-nosimd.jpg testoutfst.jpg
./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig.ppm
./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig.ppm
cmp $(srcdir)/testimgint.jpg testoutint.jpg
cmp $(srcdir)/testimgfst.jpg testoutfst.jpg
cmp $(srcdir)/testimgflt-nosimd.jpg testoutflt.jpg
./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testorig.jpg
./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testorig.jpg
./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
cmp $(srcdir)/testimgint.ppm testoutint.ppm
cmp $(srcdir)/testimgfst-nosimd.ppm testoutfst.ppm
cmp $(srcdir)/testorig-nosimd.ppm testoutflt.ppm
cmp $(srcdir)/testimgfst.ppm testoutfst.ppm
cmp $(srcdir)/testorig.ppm testoutflt.ppm
./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
cmp $(srcdir)/testimg-nosimd.bmp testout.bmp
./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig-nosimd.ppm
cmp $(srcdir)/testimgp-nosimd.jpg testoutp.jpg
cmp $(srcdir)/testimg.bmp testout.bmp
./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig.ppm
cmp $(srcdir)/testimgp.jpg testoutp.jpg
./jpegtran -outfile testoutt.jpg testoutp.jpg
cmp $(srcdir)/testimgint-nosimd.jpg testoutt.jpg
cmp $(srcdir)/testimgint.jpg testoutt.jpg
endif

View File

@@ -25,16 +25,21 @@ libraries can be used as drop-in replacements for libjpeg on most systems.
** License
*******************************************************************************
Some of the optimizations to the Huffman encoder/decoder were borrowed from
VirtualGL, and thus the libjpeg-turbo distribution, as a whole, falls under the
wxWindows Library Licence, Version 3.1. A copy of this license can be found in
this directory under LICENSE.txt. The wxWindows Library License is based on
the LGPL but includes provisions which allow the Library to be statically
linked into proprietary libraries and applications without requiring the
resulting binaries to be distributed under the terms of the LGPL.
Some of the optimizations to the Huffman encoder (jchuff.c) and decoder
(jdhuff.c) were borrowed from VirtualGL, and thus any distribution of
libjpeg-turbo which includes those optimizations must, as a whole, be subject
to the terms of the wxWindows Library Licence, Version 3.1. A copy of this
license can be found in this directory under LICENSE.txt. The wxWindows
Library License is based on the LGPL but includes provisions which allow the
Library to be statically linked into proprietary libraries and applications
without requiring the resulting binaries to be distributed under the terms of
the LGPL.
The rest of the source code, apart from these modifications, falls under a less
restrictive, BSD-style license (see README.)
The rest of the source code, apart from the Huffman codec optimizations, falls
under a less restrictive, BSD-style license (see README.) You can choose to
distribute libjpeg-turbo, as a whole, under this BSD-style license by simply
replacing the optimized jchuff.c and jdhuff.c with their unoptimized
counterparts from the libjpeg v6b source.
*******************************************************************************

View File

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.56])
AC_INIT([libjpeg-turbo], [1.0.0])
AC_INIT([libjpeg-turbo], [1.0.1])
BUILD=`date +%Y%m%d`
AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
@@ -10,8 +10,6 @@ AC_PREFIX_DEFAULT(/opt/libjpeg-turbo)
# Always build with prototypes
AC_DEFINE([HAVE_PROTOTYPES], 1, [Define if your compiler supports prototypes])
# Don't use undefined types
AC_DEFINE([INCOMPLETE_TYPES_BROKEN], 1, [Define if you want use complete types])
# Checks for programs.
SAVED_CFLAGS=${CFLAGS}
@@ -23,6 +21,13 @@ AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_PROG_LN_S
# Check whether compiler supports pointers to undefined structures
AC_MSG_CHECKING(whether compiler supports pointers to undefined structures)
AC_TRY_COMPILE([ typedef struct undefined_structure * undef_struct_ptr; ], ,
AC_MSG_RESULT(yes),
[AC_MSG_RESULT(no)
AC_DEFINE([INCOMPLETE_TYPES_BROKEN],[1],[Compiler does not support pointers to undefined structures.])])
AC_MSG_CHECKING([whether the linker supports version scripts])
VERSION_SCRIPT=no
LDVER=`$LD --help </dev/null 2>&1 | grep "\-\-version-script"`
@@ -174,7 +179,6 @@ esac
AC_SUBST(RPMARCH)
AC_SUBST(DEBARCH)
AC_SUBST(BUILD)
AC_SUBST(RM)
# jconfig.h is the file we use, but we have another before that to
# fool autoheader. the reason is that we include this header in our

View File

@@ -16,7 +16,7 @@
/* Modifications:
* Copyright (C)2007 Sun Microsystems, Inc.
* Copyright (C)2009 D. R. Commander
* Copyright (C)2009-2010 D. R. Commander
*
* This library is free software and may be redistributed and/or modified under
* the terms of the wxWindows Library License, Version 3.1 or (at your option)
@@ -240,6 +240,7 @@ jpeg_make_d_derived_tbl (j_decompress_ptr cinfo, boolean isDC, int tblno,
dtbl->maxcode[l] = -1; /* -1 if no codes of this length */
}
}
dtbl->valoffset[17] = 0;
dtbl->maxcode[17] = 0xFFFFFL; /* ensures jpeg_huff_decode terminates */
/* Compute lookahead tables to speed up decoding.

View File

@@ -2,6 +2,7 @@
* jdhuff.h
*
* Copyright (C) 1991-1997, Thomas G. Lane.
* Copyright (C) 2010, D. R. Commander.
* This file is part of the Independent JPEG Group's software.
* For conditions of distribution and use, see the accompanying README file.
*
@@ -27,7 +28,7 @@ typedef struct {
/* Basic tables: (element [0] of each array is unused) */
INT32 maxcode[18]; /* largest code of length k (-1 if none) */
/* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */
INT32 valoffset[17]; /* huffval[] offset for codes of length k */
INT32 valoffset[18]; /* huffval[] offset for codes of length k */
/* valoffset[k] = huffval[] index of 1st symbol of code length k, less
* the smallest code of length k; so given a code of length k, the
* corresponding symbol is huffval[code + valoffset[k]]

View File

@@ -95,7 +95,7 @@ EXTN(jsimd_h2v1_downsample_mmx):
mov eax, JDIMENSION [v_samp(ebp)] ; rowctr
test eax,eax
jle short .return
jle near .return
mov edx, 0x00010000 ; bias pattern
movd mm7,edx

View File

@@ -253,7 +253,7 @@ EXTN(jsimd_h2v1_merged_upsample_mmx):
movq MMWORD [edi+2*SIZEOF_MMWORD], mmC
sub ecx, byte SIZEOF_MMWORD
jz short .endcolumn
jz near .endcolumn
add edi, byte RGB_PIXELSIZE*SIZEOF_MMWORD ; outptr
add esi, byte SIZEOF_MMWORD ; inptr0

View File

@@ -382,7 +382,7 @@ jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo,
{
if ((simd_support & JSIMD_SSE2) &&
IS_ALIGNED_SSE(jconst_fancy_upsample_sse2))
jsimd_h2v1_fancy_upsample_sse2(cinfo->max_v_samp_factor,
jsimd_h2v2_fancy_upsample_sse2(cinfo->max_v_samp_factor,
compptr->downsampled_width, input_data, output_data_ptr);
else if (simd_support & JSIMD_MMX)
jsimd_h2v2_fancy_upsample_mmx(cinfo->max_v_samp_factor,

View File

@@ -18,7 +18,7 @@
#include "../jsimd.h"
#include "../jdct.h"
#include "../jsimddct.h"
#include "simd/jsimd.h"
#include "jsimd.h"
/*
* In the PIC cases, we have no guarantee that constants will keep
@@ -260,7 +260,7 @@ jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo,
JSAMPARRAY input_data,
JSAMPARRAY * output_data_ptr)
{
jsimd_h2v1_fancy_upsample_sse2(cinfo->max_v_samp_factor,
jsimd_h2v2_fancy_upsample_sse2(cinfo->max_v_samp_factor,
compptr->downsampled_width,
input_data, output_data_ptr);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

4
testimgflt.ppm Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -243,7 +243,6 @@ nsi: all
-DPLATFORM="Visual C++" release/libjpeg-turbo.nsi
endif
test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \
$(ODIR)/jpegut.exe
cd $(ODIR); ./jpegut
@@ -258,7 +257,7 @@ test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \
$(ODIR)/djpeg -dct float -ppm -outfile $(ODIR)/testoutflt.ppm testorig.jpg
cmp testimgint.ppm $(ODIR)/testoutint.ppm
cmp testimgfst.ppm $(ODIR)/testoutfst.ppm
cmp testorig.ppm $(ODIR)/testoutflt.ppm
cmp testimgflt.ppm $(ODIR)/testoutflt.ppm
$(ODIR)/djpeg -dct int -bmp -colors 256 -outfile $(ODIR)/testout.bmp testorig.jpg
cmp testimg.bmp $(ODIR)/testout.bmp
$(ODIR)/cjpeg -dct int -progressive -outfile $(ODIR)/testoutp.jpg testorig.ppm

View File

@@ -13,7 +13,7 @@ endif
_DUMMY := $(shell mkdir -p $(ODIR))
VERSION = 1.0.0
VERSION = 1.0.1
CC = "cl" -nologo
CXX = "cl" -EHsc -nologo