Compare commits

...

19 Commits

Author SHA1 Message Date
DRC
a51ada6706 Use new e-mail alias
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@185 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-11 00:39:45 +00:00
DRC
ef663e333e Only disable filesystem redirection in the 64-bit installers
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@184 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 23:39:22 +00:00
DRC
be09b20a40 Handle cases in which MinGW inexplicably builds the DLL as libjpeg-0.dll instead of libjpeg-62.dll
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@183 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:20:14 +00:00
DRC
9ca2364694 Use "make nsi" instead of "make dist" to be consistent with MinGW build
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@182 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:19:24 +00:00
DRC
3dc1bc2ded Create separate packages for Win64 binaries
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@181 632fc199-4ca6-4c93-a231-07263d6284db
2010-05-10 22:18:10 +00:00
DRC
1a2219ec26 git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@180 632fc199-4ca6-4c93-a231-07263d6284db 2010-05-10 20:03:36 +00:00
DRC
b6f097f729 xmm6-xmm15 must also be preserved by the callee; Win64 should fully work now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@179 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-23 15:41:34 +00:00
DRC
d3e320fee7 Win64 should fully work now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@178 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-21 17:20:12 +00:00
DRC
830d5fccf4 Use 64-bit holding buffer on Win64 for increased performance
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@177 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 21:13:26 +00:00
DRC
4132b1d552 Updated (C)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@176 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 20:54:03 +00:00
DRC
f9bdeb62e2 Not sure why the cjpeg/djpeg image loaders got disabled, but re-enable them
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@175 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 19:16:06 +00:00
DRC
e728ed7a36 Win64 (mostly) works now
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@174 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 19:15:09 +00:00
DRC
a644fb05a7 Use correct filenames in headers
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@173 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 18:20:13 +00:00
DRC
86d8c0aa26 0.0.93
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@172 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-20 18:12:38 +00:00
DRC
fb096fff78 Only have to use 32-bit mov for r14, since it is populated from the stack
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@171 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-19 18:58:07 +00:00
DRC
14ecb539df Attempt to fix Win64 issues
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@170 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-17 21:57:25 +00:00
DRC
09271951d9 0.0.92
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@169 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-13 07:56:24 +00:00
DRC
7bac07bf12 Added FreeBSD build instructions
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@168 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-10 05:53:35 +00:00
DRC
0f413b2207 Fix x86-64 build on FreeBSD systems
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@167 632fc199-4ca6-4c93-a231-07263d6284db
2010-04-06 20:05:39 +00:00
31 changed files with 148 additions and 68 deletions

View File

@@ -128,7 +128,8 @@ Add
--host x86_64-apple-darwin10.0.0 NASM=/opt/local/bin/nasm --host x86_64-apple-darwin10.0.0 NASM=/opt/local/bin/nasm
to the configure command line. NASM 2.07 from MacPorts must be installed. to the configure command line. NASM 2.07 or later from MacPorts must be
installed.
32-bit Library Build on 64-bit OS/X 32-bit Library Build on 64-bit OS/X
@@ -166,6 +167,29 @@ Add
to the configure command line. to the configure command line.
64-bit Library Build on 64-bit FreeBSD
--------------------------------------
Add
--host x86_64-unknown-freebsd
to the configure command line. NASM 2.07 or later from FreeBSD ports must be
installed.
32-bit Library Build on 64-bit FreeBSD
--------------------------------------
Add
--host i386-unknown-freebsd CC='gcc -B /usr/lib32' CXX='g++ -B/usr/lib32' \
CFLAGS='-O3 -m32' CXXFLAGS='-O3 -m32' LDFLAGS='-B/usr/lib32'
to the configure command line. NASM 2.07 or later from FreeBSD ports must be
installed.
MinGW Build on Cygwin MinGW Build on Cygwin
--------------------- ---------------------
@@ -251,14 +275,10 @@ This will generate the following files under libjpeg-turbo\windows\:
turbojpeg.dll Shared library for TurboJPEG/OSS turbojpeg.dll Shared library for TurboJPEG/OSS
turbojpeg.lib Development stub for TurboJPEG/OSS shared library turbojpeg.lib Development stub for TurboJPEG/OSS shared library
#If a 64-bit Windows platform is detected, then the build system will attempt If a 64-bit Windows platform is detected, then the build system will attempt
#to build a 64-bit version of libjpeg-turbo. You can override this by running to build a 64-bit version of libjpeg-turbo. You can override this by running
#
# make -f win/Makefile WIN64=no
NOTE: For unknown reasons, Win64 support doesn't work yet, so at the moment, make -f win/Makefile WIN64=no
you have to run 'make -f win/Makefile WIN64=yes' to get a 64-bit build on
64-bit Windows. The paragraph above will apply once Win64 support is working.
******************************************************************************* *******************************************************************************
@@ -299,7 +319,7 @@ make nsi
libjpeg-turbo SDK. This requires the Nullsoft Install System libjpeg-turbo SDK. This requires the Nullsoft Install System
(http://nsis.sourceforge.net/.) makensis.exe should be in your PATH. (http://nsis.sourceforge.net/.) makensis.exe should be in your PATH.
make -f win/Makefile dist make -f win/Makefile nsi
This creates a Win32 installer for the Visual C++ version of the This creates a Win32 installer for the Visual C++ version of the
libjpeg-turbo SDK. This requires the Nullsoft Install System libjpeg-turbo SDK. This requires the Nullsoft Install System

View File

@@ -1,3 +1,11 @@
Significant changes since 0.0.91
================================
[1] Fixed x86-64 build on FreeBSD systems
[2] Added support for Windows 64-bit systems
Significant changes since 0.0.90 Significant changes since 0.0.90
================================ ================================

View File

@@ -158,15 +158,20 @@ sunpkg: all
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \ sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
${DEBARCH} ${srcdir} $(CC) $(CXX) combined ${DEBARCH} ${srcdir} $(CC) $(CXX) combined
nsi: all
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc64 \
-DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. -DWIN64 \
-DPLATFORM="GCC 64-bit" -DGCC $(srcdir)/release/libjpeg-turbo.nsi
else else
sunpkg: all sunpkg: all
sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \ sh $(srcdir)/release/makesunpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
${DEBARCH} ${srcdir} $(CC) $(CXX) ${DEBARCH} ${srcdir} $(CC) $(CXX)
endif
nsi: all nsi: all
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc \ makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo-gcc \
-DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. \ -DWLIBDIR=.libs -DWSRCDIR=$(srcdir) -DWBLDDIR=. -DWHDRDIR=. \
-DPLATFORM="GCC" -DGCC $(srcdir)/release/libjpeg-turbo.nsi -DPLATFORM="GCC" -DGCC $(srcdir)/release/libjpeg-turbo.nsi
endif

View File

@@ -138,15 +138,15 @@ of libjpeg by setting
If using Cygwin, then set If using Cygwin, then set
CPATH=/cygdrive/c/libjpeg-turbo-gcc/include CPATH=/cygdrive/c/libjpeg-turbo-gcc[64]/include
and and
LIBRARY_PATH=/cygdrive/c/libjpeg-turbo-gcc/lib LIBRARY_PATH=/cygdrive/c/libjpeg-turbo-gcc[64]/lib
If using MinGW, then set If using MinGW, then set
CPATH=/c/libjpeg-turbo-gcc/include CPATH=/c/libjpeg-turbo-gcc[64]/include
and and
LIBRARY_PATH=/c/libjpeg-turbo-gcc/lib LIBRARY_PATH=/c/libjpeg-turbo-gcc[64]/lib
Building against libjpeg-turbo is useful, for instance, if you want to build an Building against libjpeg-turbo is useful, for instance, if you want to build an
application that leverages the libjpeg-turbo colorspace extensions (see below.) application that leverages the libjpeg-turbo colorspace extensions (see below.)
@@ -166,10 +166,10 @@ On OS X, simply add /opt/libjpeg-turbo/{lib}/libjpeg.a to the linker command
line (this also works on Linux and Solaris.) line (this also works on Linux and Solaris.)
To build Visual C++ applications using libjpeg-turbo, add To build Visual C++ applications using libjpeg-turbo, add
c:\libjpeg-turbo\include to your system or user INCLUDE environment variable c:\libjpeg-turbo[64]\include to your system or user INCLUDE environment
and c:\libjpeg-turbo\lib to your system or user LIB environment variable, and variable and c:\libjpeg-turbo[64]\lib to your system or user LIB environment
then link against either jpeg.lib (to use jpeg62.dll) or jpeg-static.lib (to variable, and then link against either jpeg.lib (to use jpeg62.dll) or
use the static version of libjpeg-turbo.) jpeg-static.lib (to use the static version of libjpeg-turbo.)
===================== =====================
Colorspace Extensions Colorspace Extensions

View File

@@ -44,7 +44,14 @@ case "$host_os" in
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
objfmt='BSD-a.out' objfmt='BSD-a.out'
else else
objfmt='ELF' case "$host_cpu" in
x86_64)
objfmt='ELF64'
;;
*)
objfmt='ELF'
;;
esac
fi fi
;; ;;
solaris* | sunos* | sysv* | sco*) solaris* | sunos* | sysv* | sco*)

View File

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_PREREQ([2.56]) AC_PREREQ([2.56])
AC_INIT([libjpeg-turbo], [0.0.91]) AC_INIT([libjpeg-turbo], [0.0.93])
BUILD=`date +%Y%m%d` BUILD=`date +%Y%m%d`
AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2]) AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])

View File

@@ -384,7 +384,7 @@ dump_buffer (working_state * state)
put_buffer = (put_buffer << size) | code; \ put_buffer = (put_buffer << size) | code; \
} }
#if __WORDSIZE==64 #if __WORDSIZE==64 || defined(_WIN64)
#define DUMP_BITS(code, size) { \ #define DUMP_BITS(code, size) { \
CHECKBUF47() \ CHECKBUF47() \
@@ -425,7 +425,7 @@ dump_buffer (working_state * state)
int _max=0; int _max=0;
#if __WORDSIZE==64 #if __WORDSIZE==64 || defined(_WIN64)
#define DUMP_VALUE(ht, codevalue, t, nbits) { \ #define DUMP_VALUE(ht, codevalue, t, nbits) { \
size = ht->ehufsi[codevalue]; \ size = ht->ehufsi[codevalue]; \

View File

@@ -628,7 +628,7 @@ decode_mcu_slow (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
/***************************************************************/ /***************************************************************/
#if __WORDSIZE == 64 #if __WORDSIZE == 64 || defined(_WIN64)
#define ENSURE_SHORT \ #define ENSURE_SHORT \
if (bits_left < 16) { \ if (bits_left < 16) { \

View File

@@ -73,7 +73,7 @@ EXTERN(void) jpeg_make_d_derived_tbl
* necessary. * necessary.
*/ */
#if __WORDSIZE == 64 #if __WORDSIZE == 64 || defined(_WIN64)
typedef size_t bit_buf_type; /* type of bit-extraction buffer */ typedef size_t bit_buf_type; /* type of bit-extraction buffer */
#define BIT_BUF_SIZE 64 /* size of buffer in bits */ #define BIT_BUF_SIZE 64 /* size of buffer in bits */

View File

@@ -1,3 +1,4 @@
!include x64.nsh
Name "libjpeg-turbo SDK for ${PLATFORM}" Name "libjpeg-turbo SDK for ${PLATFORM}"
OutFile ${WBLDDIR}\${APPNAME}.exe OutFile ${WBLDDIR}\${APPNAME}.exe
InstallDir c:\${APPNAME} InstallDir c:\${APPNAME}
@@ -11,6 +12,11 @@ UninstPage uninstConfirm
UninstPage instfiles UninstPage instfiles
Section "libjpeg-turbo SDK for ${PLATFORM} (required)" Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
!ifdef WIN64
${If} ${RunningX64}
${DisableX64FSRedirection}
${Endif}
!endif
SectionIn RO SectionIn RO
!ifdef GCC !ifdef GCC
IfFileExists $SYSDIR/libturbojpeg.dll exists 0 IfFileExists $SYSDIR/libturbojpeg.dll exists 0
@@ -35,7 +41,7 @@ Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
!endif !endif
SetOutPath $INSTDIR\bin SetOutPath $INSTDIR\bin
!ifdef GCC !ifdef GCC
File "${WLIBDIR}\libjpeg-62.dll" File "/oname=libjpeg-62.dll" "${WLIBDIR}\libjpeg-*.dll"
!else !else
File "${WLIBDIR}\jpeg62.dll" File "${WLIBDIR}\jpeg62.dll"
!endif !endif
@@ -74,6 +80,11 @@ Section "libjpeg-turbo SDK for ${PLATFORM} (required)"
SectionEnd SectionEnd
Section "Uninstall" Section "Uninstall"
!ifdef WIN64
${If} ${RunningX64}
${DisableX64FSRedirection}
${Endif}
!endif
SetShellVarContext all SetShellVarContext all

View File

@@ -6,7 +6,7 @@ SUNW_PKGVERS=1.0
DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs DESC=A SIMD-accelerated JPEG codec which provides both the libjpeg and TurboJPEG APIs
VENDOR=The libjpeg-turbo Project VENDOR=The libjpeg-turbo Project
HOTLINE=http://libjpeg-turbo.VirtualGL.org HOTLINE=http://libjpeg-turbo.VirtualGL.org
EMAIL=dcommander@users.sourceforge.net EMAIL=information@virtualgl.org
MAXINST=1 MAXINST=1
CATEGORY=application CATEGORY=application
BASEDIR=/opt BASEDIR=/opt

View File

@@ -1,5 +1,5 @@
; ;
; jcclrss2.asm - colorspace conversion (64-bit SSE2) ; jcclrss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; x86 SIMD extension for IJG JPEG library ; x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru. ; Copyright (C) 1999-2006, MIYASAKA Masaru.
@@ -70,7 +70,7 @@ EXTN(jsimd_rgb_ycc_convert_sse2):
pop rcx pop rcx
mov rsi, r11 mov rsi, r11
mov rax, r14 mov eax, r14d
test rax,rax test rax,rax
jle near .return jle near .return
.rowloop: .rowloop:

View File

@@ -1,5 +1,5 @@
; ;
; jccolss2.asm - colorspace conversion (64-bit SSE2) ; jccolss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; x86 SIMD extension for IJG JPEG library ; x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru. ; Copyright (C) 1999-2006, MIYASAKA Masaru.

View File

@@ -1,5 +1,5 @@
; ;
; jcqnts2f.asm - sample data conversion and quantization (64-bit SSE & SSE2) ; jcqnts2f-64.asm - sample data conversion and quantization (64-bit SSE & SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jcqnts2i.asm - sample data conversion and quantization (64-bit SSE2) ; jcqnts2i-64.asm - sample data conversion and quantization (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jcsamss2.asm - downsampling (64-bit SSE2) ; jcsamss2-64.asm - downsampling (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdclrss2.asm - colorspace conversion (64-bit SSE2) ; jdclrss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander
@@ -72,7 +72,7 @@ EXTN(jsimd_ycc_rgb_convert_sse2):
pop rcx pop rcx
mov rdi, r13 mov rdi, r13
mov rax, r14 mov eax, r14d
test rax,rax test rax,rax
jle near .return jle near .return
.rowloop: .rowloop:

View File

@@ -1,5 +1,5 @@
; ;
; jdcolss2.asm - colorspace conversion (64-bit SSE2) ; jdcolss2-64.asm - colorspace conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdmerss2.asm - merged upsampling/color conversion (64-bit SSE2) ; jdmerss2-64.asm - merged upsampling/color conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jdmrgss2.asm - merged upsampling/color conversion (64-bit SSE2) ; jdmrgss2-64.asm - merged upsampling/color conversion (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander
@@ -521,10 +521,10 @@ EXTN(jsimd_h2v2_merged_upsample_sse2):
push rax push rax
%ifdef WIN64 %ifdef WIN64
; rcx already parameter 1 mov r8, rcx
mov rdx, rdi mov r9, rdi
mov r8, rax mov rcx, rax
mov r9, rbx mov rdx, rbx
%else %else
mov rdx, rcx mov rdx, rcx
mov rcx, rdi mov rcx, rdi
@@ -554,10 +554,10 @@ EXTN(jsimd_h2v2_merged_upsample_sse2):
push rax push rax
%ifdef WIN64 %ifdef WIN64
; rcx already parameter 1 mov r8, rcx
mov rdx, rdi mov r9, rdi
mov r8, rax mov rcx, rax
mov r9, rbx mov rdx, rbx
%else %else
mov rdx, rcx mov rdx, rcx
mov rcx, rdi mov rcx, rdi

View File

@@ -1,5 +1,5 @@
; ;
; jdsamss2.asm - upsampling (64-bit SSE2) ; jdsamss2-64.asm - upsampling (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfss2fst.asm - fast integer FDCT (64-bit SSE2) ; jfss2fst-64.asm - fast integer FDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfss2int.asm - accurate integer FDCT (64-bit SSE2) ; jfss2int-64.asm - accurate integer FDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jfsseflt.asm - floating-point FDCT (64-bit SSE) ; jfsseflt-64.asm - floating-point FDCT (64-bit SSE)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2flt.asm - floating-point IDCT (64-bit SSE & SSE2) ; jiss2flt-64.asm - floating-point IDCT (64-bit SSE & SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2fst.asm - fast integer IDCT (64-bit SSE2) ; jiss2fst-64.asm - fast integer IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2int.asm - accurate integer IDCT (64-bit SSE2) ; jiss2int-64.asm - accurate integer IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -1,5 +1,5 @@
; ;
; jiss2red.asm - reduced-size IDCT (64-bit SSE2) ; jiss2red-64.asm - reduced-size IDCT (64-bit SSE2)
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2009 D. R. Commander ; Copyright 2009 D. R. Commander

View File

@@ -2,6 +2,7 @@
; jsimdext.inc - common declarations ; jsimdext.inc - common declarations
; ;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
; Copyright 2010 D. R. Commander
; ;
; Based on ; Based on
; x86 SIMD extension for IJG JPEG library - version 1.02 ; x86 SIMD extension for IJG JPEG library - version 1.02
@@ -310,6 +311,27 @@ const_base:
mov r13, r9 mov r13, r9
mov r14, [rax+48] mov r14, [rax+48]
mov r15, [rax+56] mov r15, [rax+56]
push rsi
push rdi
sub rsp, SIZEOF_XMMWORD
movlpd XMMWORD [rsp], xmm6
sub rsp, SIZEOF_XMMWORD
movlpd XMMWORD [rsp], xmm7
%endmacro
%imacro uncollect_args 0
movlpd xmm7, XMMWORD [rsp]
add rsp, SIZEOF_XMMWORD
movlpd xmm6, XMMWORD [rsp]
add rsp, SIZEOF_XMMWORD
pop rdi
pop rsi
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
%endmacro %endmacro
%else %else
@@ -329,8 +351,6 @@ const_base:
mov r15, r9 mov r15, r9
%endmacro %endmacro
%endif
%imacro uncollect_args 0 %imacro uncollect_args 0
pop r15 pop r15
pop r14 pop r14
@@ -342,6 +362,8 @@ const_base:
%endif %endif
%endif
; -------------------------------------------------------------------------- ; --------------------------------------------------------------------------
; Defines picked up from the C headers ; Defines picked up from the C headers
; ;

View File

@@ -229,11 +229,19 @@ $(ODIR)/jpegut.exe: $(ODIR)/jpegut.obj $(ODIR)/turbojpeg.lib
$(LINK) $(LDFLAGS) -out:$@ $^ $(LINK) $(LDFLAGS) -out:$@ $^
dist: all ifeq ($(WIN64), yes)
nsi: all
$(RM) $(ODIR)/libjpeg-turbo64.exe
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo64 \
-DWLIBDIR=windows64 -DWSRCDIR=. -DWBLDDIR=windows64 -DWHDRDIR=win \
-DPLATFORM="Visual C++ 64-bit" -DWIN64 release/libjpeg-turbo.nsi
else
nsi: all
$(RM) $(ODIR)/libjpeg-turbo.exe $(RM) $(ODIR)/libjpeg-turbo.exe
makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo \ makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo \
-DWLIBDIR=windows -DWSRCDIR=. -DWBLDDIR=windows -DWHDRDIR=win \ -DWLIBDIR=windows -DWSRCDIR=. -DWBLDDIR=windows -DWHDRDIR=win \
-DPLATFORM="Visual C++" release/libjpeg-turbo.nsi -DPLATFORM="Visual C++" release/libjpeg-turbo.nsi
endif
test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \ test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \

View File

@@ -1,20 +1,19 @@
ODIR = windows ODIR = windows
WIN64 = no WIN64 = no
# Win64 doesn't work yet, for unknown reasons ifeq ($(PROCESSOR_ARCHITECTURE), AMD64)
#ifeq ($(PROCESSOR_ARCHITECTURE), AMD64) WIN64 = yes
# WIN64 = yes else
#else ifeq ($(PROCESSOR_ARCHITEW6432), AMD64)
# ifeq ($(PROCESSOR_ARCHITEW6432), AMD64) WIN64 = yes
# WIN64 = yes endif
# endif endif
#endif
ifeq ($(WIN64), yes) ifeq ($(WIN64), yes)
ODIR = windows64 ODIR = windows64
endif endif
_DUMMY := $(shell mkdir -p $(ODIR)) _DUMMY := $(shell mkdir -p $(ODIR))
VERSION = 0.0.90 VERSION = 0.0.93
CC = "cl" -nologo CC = "cl" -nologo
CXX = "cl" -EHsc -nologo CXX = "cl" -EHsc -nologo
@@ -27,8 +26,8 @@ ifeq ($(NASM),)
NASM = nasm NASM = nasm
endif endif
CFLAGS = -W3 -wd4996 -Iwin -I. CFLAGS = -W3 -wd4996 -Iwin -I. -DBMP_SUPPORTED -DGIF_SUPPORTED \
CDEFINES = -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -DPPM_SUPPORTED -DTARGA_SUPPORTED
ifeq ($(WIN64), yes) ifeq ($(WIN64), yes)
NAFLAGS = -fwin64 -DWIN64 -DMSVC -D__x86_64__ -Iwin/ NAFLAGS = -fwin64 -DWIN64 -DMSVC -D__x86_64__ -Iwin/
else else