From bfdfa1062c816db2ac89fec045652ad685f4f330 Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Tue, 9 Sep 2014 12:11:59 -1000 Subject: [PATCH] Adjusted for Visual Studio --- config.h | 4 + jccolext.c => jccolext.h | 0 jccolor.c | 14 +- jdcolext.c => jdcolext.h | 0 jdcolor.c | 14 +- jdmerge.c | 14 +- jdmrgext.c => jdmrgext.h | 8 + .../libjpeg-turbo-vse2013.vcxproj | 175 ++++++++++++++++++ .../libjpeg-turbo-vse2013.vcxproj.filters | 97 ++++++++++ turbojpeg.c | 30 +-- 10 files changed, 320 insertions(+), 36 deletions(-) rename jccolext.c => jccolext.h (100%) rename jdcolext.c => jdcolext.h (100%) rename jdmrgext.c => jdmrgext.h (98%) create mode 100644 libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj create mode 100644 libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj.filters diff --git a/config.h b/config.h index 2eade3d..e0aff20 100644 --- a/config.h +++ b/config.h @@ -65,7 +65,11 @@ /* #undef INCOMPLETE_TYPES_BROKEN */ /* How to obtain function inlining. */ +#if _WIN32 +#define INLINE __inline +#else #define INLINE __attribute__((always_inline)) +#endif /* libjpeg API version */ #define JPEG_LIB_VERSION 62 diff --git a/jccolext.c b/jccolext.h similarity index 100% rename from jccolext.c rename to jccolext.h diff --git a/jccolor.c b/jccolor.c index 219c5da..f48377d 100644 --- a/jccolor.c +++ b/jccolor.c @@ -85,7 +85,7 @@ typedef my_color_converter * my_cconvert_ptr; /* Include inline routines for colorspace extensions */ -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -98,7 +98,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extrgb_ycc_convert_internal #define rgb_gray_convert_internal extrgb_gray_convert_internal #define rgb_rgb_convert_internal extrgb_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -114,7 +114,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extrgbx_ycc_convert_internal #define rgb_gray_convert_internal extrgbx_gray_convert_internal #define rgb_rgb_convert_internal extrgbx_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -130,7 +130,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extbgr_ycc_convert_internal #define rgb_gray_convert_internal extbgr_gray_convert_internal #define rgb_rgb_convert_internal extbgr_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -146,7 +146,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extbgrx_ycc_convert_internal #define rgb_gray_convert_internal extbgrx_gray_convert_internal #define rgb_rgb_convert_internal extbgrx_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -162,7 +162,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extxbgr_ycc_convert_internal #define rgb_gray_convert_internal extxbgr_gray_convert_internal #define rgb_rgb_convert_internal extxbgr_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -178,7 +178,7 @@ typedef my_color_converter * my_cconvert_ptr; #define rgb_ycc_convert_internal extxrgb_ycc_convert_internal #define rgb_gray_convert_internal extxrgb_gray_convert_internal #define rgb_rgb_convert_internal extxrgb_rgb_convert_internal -#include "jccolext.c" +#include "jccolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE diff --git a/jdcolext.c b/jdcolext.h similarity index 100% rename from jdcolext.c rename to jdcolext.h diff --git a/jdcolor.c b/jdcolor.c index e477b0b..df7694e 100644 --- a/jdcolor.c +++ b/jdcolor.c @@ -90,7 +90,7 @@ typedef my_color_deconverter * my_cconvert_ptr; /* Include inline routines for colorspace extensions */ -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -103,7 +103,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extrgb_convert_internal #define gray_rgb_convert_internal gray_extrgb_convert_internal #define rgb_rgb_convert_internal rgb_extrgb_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -120,7 +120,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extrgbx_convert_internal #define gray_rgb_convert_internal gray_extrgbx_convert_internal #define rgb_rgb_convert_internal rgb_extrgbx_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -137,7 +137,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extbgr_convert_internal #define gray_rgb_convert_internal gray_extbgr_convert_internal #define rgb_rgb_convert_internal rgb_extbgr_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -154,7 +154,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extbgrx_convert_internal #define gray_rgb_convert_internal gray_extbgrx_convert_internal #define rgb_rgb_convert_internal rgb_extbgrx_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -172,7 +172,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extxbgr_convert_internal #define gray_rgb_convert_internal gray_extxbgr_convert_internal #define rgb_rgb_convert_internal rgb_extxbgr_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -190,7 +190,7 @@ typedef my_color_deconverter * my_cconvert_ptr; #define ycc_rgb_convert_internal ycc_extxrgb_convert_internal #define gray_rgb_convert_internal gray_extxrgb_convert_internal #define rgb_rgb_convert_internal rgb_extxrgb_convert_internal -#include "jdcolext.c" +#include "jdcolext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE diff --git a/jdmerge.c b/jdmerge.c index 17d28f1..ca182d6 100644 --- a/jdmerge.c +++ b/jdmerge.c @@ -81,7 +81,7 @@ typedef my_upsampler * my_upsample_ptr; /* Include inline routines for colorspace extensions */ -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -93,7 +93,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_RGB_PIXELSIZE #define h2v1_merged_upsample_internal extrgb_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extrgb_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -108,7 +108,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_RGBX_PIXELSIZE #define h2v1_merged_upsample_internal extrgbx_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extrgbx_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -123,7 +123,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_BGR_PIXELSIZE #define h2v1_merged_upsample_internal extbgr_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extbgr_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -138,7 +138,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_BGRX_PIXELSIZE #define h2v1_merged_upsample_internal extbgrx_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extbgrx_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -154,7 +154,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_XBGR_PIXELSIZE #define h2v1_merged_upsample_internal extxbgr_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extxbgr_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE @@ -170,7 +170,7 @@ typedef my_upsampler * my_upsample_ptr; #define RGB_PIXELSIZE EXT_XRGB_PIXELSIZE #define h2v1_merged_upsample_internal extxrgb_h2v1_merged_upsample_internal #define h2v2_merged_upsample_internal extxrgb_h2v2_merged_upsample_internal -#include "jdmrgext.c" +#include "jdmrgext.h" #undef RGB_RED #undef RGB_GREEN #undef RGB_BLUE diff --git a/jdmrgext.c b/jdmrgext.h similarity index 98% rename from jdmrgext.c rename to jdmrgext.h index e1ab1e5..245de63 100644 --- a/jdmrgext.c +++ b/jdmrgext.h @@ -18,6 +18,14 @@ * Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. */ +#ifndef INLINE +#define INLINE __inline +#endif + +#ifndef LOCAL +#define LOCAL(type) static type +#endif + INLINE LOCAL(void) h2v1_merged_upsample_internal (j_decompress_ptr cinfo, diff --git a/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj b/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj new file mode 100644 index 0000000..acadabb --- /dev/null +++ b/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj @@ -0,0 +1,175 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4CE5A1F6-F8FA-4684-ADE0-E89DB9A4A54A} + libjpegturbovse2013 + + + + StaticLibrary + true + v120 + MultiByte + + + Application + false + v120 + true + MultiByte + + + + + + + + + + + + + .lib + $(SolutionDir)\extern\libjpeg-turbo;$(IncludePath) + + + + Level3 + Disabled + true + _CRT_SECURE_NO_WARNINGS=1;%(PreprocessorDefinitions) + false + true + + + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + true + + + + + + + + + + + + + + CppCode + + + + + + + + + + + + + + + + + + + + + + + + + CppCode + + + + + + + + + + + CppCode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj.filters b/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj.filters new file mode 100644 index 0000000..d9d5a65 --- /dev/null +++ b/libjpeg-turbo-vse2013/libjpeg-turbo-vse2013.vcxproj.filters @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/turbojpeg.c b/turbojpeg.c index b10de49..3a4460b 100644 --- a/turbojpeg.c +++ b/turbojpeg.c @@ -612,9 +612,9 @@ DLLEXPORT int DLLCALL tjCompress2(tjhandle handle, unsigned char *srcBuf, cinfo->image_width=width; cinfo->image_height=height; - if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1"); - else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1"); - else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1"); + if(flags&TJFLAG_FORCEMMX) _putenv("JSIMD_FORCEMMX=1"); + else if(flags&TJFLAG_FORCESSE) _putenv("JSIMD_FORCESSE=1"); + else if(flags&TJFLAG_FORCESSE2) _putenv("JSIMD_FORCESSE2=1"); if(flags&TJFLAG_NOREALLOC) { @@ -723,9 +723,9 @@ DLLEXPORT int DLLCALL tjEncodeYUV2(tjhandle handle, unsigned char *srcBuf, cinfo->image_width=width; cinfo->image_height=height; - if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1"); - else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1"); - else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1"); + if(flags&TJFLAG_FORCEMMX) _putenv("JSIMD_FORCEMMX=1"); + else if(flags&TJFLAG_FORCESSE) _putenv("JSIMD_FORCESSE=1"); + else if(flags&TJFLAG_FORCESSE2) _putenv("JSIMD_FORCESSE2=1"); yuvsize=tjBufSizeYUV(width, height, subsamp); jpeg_mem_dest_tj(cinfo, &dstBuf, &yuvsize, 0); @@ -945,9 +945,9 @@ DLLEXPORT int DLLCALL tjDecompress2(tjhandle handle, unsigned char *jpegBuf, || height<0 || pixelFormat<0 || pixelFormat>=TJ_NUMPF) _throw("tjDecompress2(): Invalid argument"); - if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1"); - else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1"); - else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1"); + if(flags&TJFLAG_FORCEMMX) _putenv("JSIMD_FORCEMMX=1"); + else if(flags&TJFLAG_FORCESSE) _putenv("JSIMD_FORCESSE=1"); + else if(flags&TJFLAG_FORCESSE2) _putenv("JSIMD_FORCESSE2=1"); if(setjmp(this->jerr.setjmp_buffer)) { @@ -1060,9 +1060,9 @@ DLLEXPORT int DLLCALL tjDecompressToYUV(tjhandle handle, if(jpegBuf==NULL || jpegSize<=0 || dstBuf==NULL) _throw("tjDecompressToYUV(): Invalid argument"); - if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1"); - else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1"); - else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1"); + if(flags&TJFLAG_FORCEMMX) _putenv("JSIMD_FORCEMMX=1"); + else if(flags&TJFLAG_FORCESSE) _putenv("JSIMD_FORCESSE=1"); + else if(flags&TJFLAG_FORCESSE2) _putenv("JSIMD_FORCESSE2=1"); if(setjmp(this->jerr.setjmp_buffer)) { @@ -1191,9 +1191,9 @@ DLLEXPORT int DLLCALL tjTransform(tjhandle handle, unsigned char *jpegBuf, || t==NULL || flags<0) _throw("tjTransform(): Invalid argument"); - if(flags&TJFLAG_FORCEMMX) putenv("JSIMD_FORCEMMX=1"); - else if(flags&TJFLAG_FORCESSE) putenv("JSIMD_FORCESSE=1"); - else if(flags&TJFLAG_FORCESSE2) putenv("JSIMD_FORCESSE2=1"); + if(flags&TJFLAG_FORCEMMX) _putenv("JSIMD_FORCEMMX=1"); + else if(flags&TJFLAG_FORCESSE) _putenv("JSIMD_FORCESSE=1"); + else if(flags&TJFLAG_FORCESSE2) _putenv("JSIMD_FORCESSE2=1"); if(setjmp(this->jerr.setjmp_buffer)) {