Make TJ_FORCE* options work correctly
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@138 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
@@ -322,22 +322,22 @@ int main(int argc, char *argv[])
|
|||||||
if(!stricmp(argv[i], "-tile")) dotile=1;
|
if(!stricmp(argv[i], "-tile")) dotile=1;
|
||||||
if(!stricmp(argv[i], "-forcesse3"))
|
if(!stricmp(argv[i], "-forcesse3"))
|
||||||
{
|
{
|
||||||
printf("Using SSE3 code in Intel compressor\n");
|
printf("Using SSE3 code\n");
|
||||||
forcesse3=1;
|
forcesse3=1;
|
||||||
}
|
}
|
||||||
if(!stricmp(argv[i], "-forcesse2"))
|
if(!stricmp(argv[i], "-forcesse2"))
|
||||||
{
|
{
|
||||||
printf("Using SSE2 code in Intel compressor\n");
|
printf("Using SSE2 code\n");
|
||||||
forcesse2=1;
|
forcesse2=1;
|
||||||
}
|
}
|
||||||
if(!stricmp(argv[i], "-forcesse"))
|
if(!stricmp(argv[i], "-forcesse"))
|
||||||
{
|
{
|
||||||
printf("Using SSE code in Intel compressor\n");
|
printf("Using SSE code\n");
|
||||||
forcesse=1;
|
forcesse=1;
|
||||||
}
|
}
|
||||||
if(!stricmp(argv[i], "-forcemmx"))
|
if(!stricmp(argv[i], "-forcemmx"))
|
||||||
{
|
{
|
||||||
printf("Using MMX code in Intel compressor\n");
|
printf("Using MMX code\n");
|
||||||
forcemmx=1;
|
forcemmx=1;
|
||||||
}
|
}
|
||||||
if(!stricmp(argv[i], "-fastupsample"))
|
if(!stricmp(argv[i], "-fastupsample"))
|
||||||
|
|||||||
@@ -48,16 +48,16 @@ init_simd (void)
|
|||||||
/* Force different settings through environment variables */
|
/* Force different settings through environment variables */
|
||||||
env = getenv("JSIMD_FORCEMMX");
|
env = getenv("JSIMD_FORCEMMX");
|
||||||
if ((env != NULL) && (strcmp(env, "1") == 0))
|
if ((env != NULL) && (strcmp(env, "1") == 0))
|
||||||
simd_support &= JSIMD_MMX;
|
simd_support = JSIMD_MMX;
|
||||||
env = getenv("JSIMD_FORCE3DNOW");
|
env = getenv("JSIMD_FORCE3DNOW");
|
||||||
if ((env != NULL) && (strcmp(env, "1") == 0))
|
if ((env != NULL) && (strcmp(env, "1") == 0))
|
||||||
simd_support &= JSIMD_3DNOW;
|
simd_support = JSIMD_3DNOW|JSIMD_MMX;
|
||||||
env = getenv("JSIMD_FORCESSE");
|
env = getenv("JSIMD_FORCESSE");
|
||||||
if ((env != NULL) && (strcmp(env, "1") == 0))
|
if ((env != NULL) && (strcmp(env, "1") == 0))
|
||||||
simd_support &= JSIMD_SSE;
|
simd_support = JSIMD_SSE|JSIMD_MMX;
|
||||||
env = getenv("JSIMD_FORCESSE2");
|
env = getenv("JSIMD_FORCESSE2");
|
||||||
if ((env != NULL) && (strcmp(env, "1") == 0))
|
if ((env != NULL) && (strcmp(env, "1") == 0))
|
||||||
simd_support &= JSIMD_SSE2;
|
simd_support = JSIMD_SSE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLOBAL(int)
|
GLOBAL(int)
|
||||||
|
|||||||
@@ -149,6 +149,10 @@ DLLEXPORT int DLLCALL tjCompress(tjhandle h,
|
|||||||
#error "TurboJPEG requires JPEG colorspace extensions"
|
#error "TurboJPEG requires JPEG colorspace extensions"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if(flags&TJ_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
|
||||||
|
else if(flags&TJ_FORCESSE) putenv("JSIMD_FORCESSE=1");
|
||||||
|
else if(flags&TJ_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
|
||||||
|
|
||||||
if(setjmp(j->jerr.jb))
|
if(setjmp(j->jerr.jb))
|
||||||
{ // this will execute if LIBJPEG has an error
|
{ // this will execute if LIBJPEG has an error
|
||||||
if(row_pointer) free(row_pointer);
|
if(row_pointer) free(row_pointer);
|
||||||
@@ -287,6 +291,10 @@ DLLEXPORT int DLLCALL tjDecompress(tjhandle h,
|
|||||||
|
|
||||||
if(pitch==0) pitch=width*ps;
|
if(pitch==0) pitch=width*ps;
|
||||||
|
|
||||||
|
if(flags&TJ_FORCEMMX) putenv("JSIMD_FORCEMMX=1");
|
||||||
|
else if(flags&TJ_FORCESSE) putenv("JSIMD_FORCESSE=1");
|
||||||
|
else if(flags&TJ_FORCESSE2) putenv("JSIMD_FORCESSE2=1");
|
||||||
|
|
||||||
if(setjmp(j->jerr.jb))
|
if(setjmp(j->jerr.jb))
|
||||||
{ // this will execute if LIBJPEG has an error
|
{ // this will execute if LIBJPEG has an error
|
||||||
if(row_pointer) free(row_pointer);
|
if(row_pointer) free(row_pointer);
|
||||||
|
|||||||
Reference in New Issue
Block a user