diff options
Diffstat (limited to 'distrib/jpeg-6b/jddctmgr.c')
-rw-r--r-- | distrib/jpeg-6b/jddctmgr.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/distrib/jpeg-6b/jddctmgr.c b/distrib/jpeg-6b/jddctmgr.c index 74a96db..95e5849 100644 --- a/distrib/jpeg-6b/jddctmgr.c +++ b/distrib/jpeg-6b/jddctmgr.c @@ -50,6 +50,13 @@ void jpeg_idct_armv6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, #endif +#ifdef ANDROID_INTELSSE2_IDCT +extern short __attribute__((aligned(16))) quantptrSSE[DCTSIZE2]; +extern void jpeg_idct_intelsse (j_decompress_ptr cinfo, jpeg_component_info * compptr, + JCOEFPTR coef_block, + JSAMPARRAY output_buf, JDIMENSION output_col); +#endif + /* * The decompressor input side (jdinput.c) saves away the appropriate * quantization table for each component at the start of the first scan @@ -151,6 +158,13 @@ start_pass (j_decompress_ptr cinfo) method = JDCT_IFAST; break; #else /* ANDROID_ARMV6_IDCT */ +#ifdef ANDROID_INTELSSE2_IDCT + case JDCT_ISLOW: + case JDCT_IFAST: + method_ptr = jpeg_idct_intelsse; + method = JDCT_ISLOW; /* Use quant table of ISLOW.*/ + break; +#else #ifdef DCT_ISLOW_SUPPORTED case JDCT_ISLOW: method_ptr = jpeg_idct_islow; @@ -163,6 +177,7 @@ start_pass (j_decompress_ptr cinfo) method = JDCT_IFAST; break; #endif +#endif #endif /* ANDROID_ARMV6_IDCT */ #ifdef DCT_FLOAT_SUPPORTED case JDCT_FLOAT: |