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+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.4.x@1523 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2015-01-21 17:42:28 +00:00
parent 0e94025ac7
commit 8b5a0093ee
2 changed files with 9 additions and 0 deletions

View File

@@ -27,6 +27,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
=====

View File

@@ -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)