diff options
author | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2015-01-21 17:41:35 +0000 |
---|---|---|
committer | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2015-01-21 17:41:35 +0000 |
commit | 8edc30dcf0a2e90cc8f799da855aadd5f6402daf (patch) | |
tree | 0ea121800356c7e67c0b855ec387a208b7fc54f7 | |
parent | a5a5f1b6817435469c41eeb17a3163d3f3360d76 (diff) |
Oops. The MIPS SIMD implementations of h2v1 and h2v2 upsampling were not checking for DSPr2 support, so running 'djpeg -nosmooth' on a non-DSPr2-enabled platform caused an "illegal instruction" error.
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1522 632fc199-4ca6-4c93-a231-07263d6284db
-rw-r--r-- | ChangeLog.txt | 5 | ||||
-rw-r--r-- | simd/jsimd_mips.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 822effe..4a147a9 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -38,6 +38,11 @@ which speeds up the compression of RGB and CMYK JPEGs by 5-20% when using 64-bit code and 0-3% when using 32-bit code, and the decompression of those images by 10-30% when using 64-bit code and 3-12% when using 32-bit code. +[5] Fixed an "illegal instruction" error that occurred when djpeg from a +SIMD-enabled libjpeg-turbo MIPS build was executed with the -nosmooth option on +a MIPS machine that lacked DSPr2 support. The MIPS SIMD routines for h2v1 and +h2v2 merged upsampling were not properly checking for the existence of DSPr2. + 1.4.0 ===== diff --git a/simd/jsimd_mips.c b/simd/jsimd_mips.c index abcd19f..cf87b32 100644 --- a/simd/jsimd_mips.c +++ b/simd/jsimd_mips.c @@ -562,6 +562,8 @@ jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, GLOBAL(int) jsimd_can_h2v2_merged_upsample (void) { + init_simd(); + if (BITS_IN_JSAMPLE != 8) return 0; if (sizeof(JDIMENSION) != 4) @@ -576,6 +578,8 @@ jsimd_can_h2v2_merged_upsample (void) GLOBAL(int) jsimd_can_h2v1_merged_upsample (void) { + init_simd(); + if (BITS_IN_JSAMPLE != 8) return 0; if (sizeof(JDIMENSION) != 4) |