Index: simd/jsimd_arm.c |
=================================================================== |
--- simd/jsimd_arm.c (revision 134206) |
+++ simd/jsimd_arm.c (working copy) |
@@ -104,7 +104,7 @@ |
int bufsize = 1024; /* an initial guess for the line buffer size limit */ |
#endif |
- if (simd_support != ~0) |
+ if (simd_support != ~0U) |
return; |
simd_support = 0; |
@@ -338,6 +338,15 @@ |
{ |
init_simd(); |
+ /* The code is optimised for these values only */ |
+ if (BITS_IN_JSAMPLE != 8) |
+ return 0; |
+ if (sizeof(JDIMENSION) != 4) |
+ return 0; |
+ |
+ if (simd_support & JSIMD_ARM_NEON) |
+ return 1; |
+ |
return 0; |
} |
@@ -355,6 +364,9 @@ |
JSAMPARRAY input_data, |
JSAMPARRAY * output_data_ptr) |
{ |
+ if (simd_support & JSIMD_ARM_NEON) |
+ jsimd_h2v1_fancy_upsample_neon(cinfo->max_v_samp_factor, |
+ compptr->downsampled_width, input_data, output_data_ptr); |
} |
GLOBAL(int) |