Home | History | Annotate | Download | only in libjpeg_turbo
      1 /*
      2  * jsimd.h
      3  *
      4  * Copyright 2009 Pierre Ossman <ossman (at) cendio.se> for Cendio AB
      5  * Copyright 2011 D. R. Commander
      6  *
      7  * Based on the x86 SIMD extension for IJG JPEG library,
      8  * Copyright (C) 1999-2006, MIYASAKA Masaru.
      9  * For conditions of distribution and use, see copyright notice in jsimdext.inc
     10  *
     11  */
     12 
     13 /* Short forms of external names for systems with brain-damaged linkers. */
     14 
     15 #ifdef NEED_SHORT_EXTERNAL_NAMES
     16 #define jsimd_can_rgb_ycc                 jSCanRgbYcc
     17 #define jsimd_can_rgb_gray                jSCanRgbGry
     18 #define jsimd_can_ycc_rgb                 jSCanYccRgb
     19 #define jsimd_rgb_ycc_convert             jSRgbYccConv
     20 #define jsimd_rgb_gray_convert            jSRgbGryConv
     21 #define jsimd_ycc_rgb_convert             jSYccRgbConv
     22 #define jsimd_can_h2v2_downsample         jSCanH2V2Down
     23 #define jsimd_can_h2v1_downsample         jSCanH2V1Down
     24 #define jsimd_h2v2_downsample             jSH2V2Down
     25 #define jsimd_h2v1_downsample             jSH2V1Down
     26 #define jsimd_can_h2v2_upsample           jSCanH2V2Up
     27 #define jsimd_can_h2v1_upsample           jSCanH2V1Up
     28 #define jsimd_h2v2_upsample               jSH2V2Up
     29 #define jsimd_h2v1_upsample               jSH2V1Up
     30 #define jsimd_can_h2v2_fancy_upsample     jSCanH2V2FUp
     31 #define jsimd_can_h2v1_fancy_upsample     jSCanH2V1FUp
     32 #define jsimd_h2v2_fancy_upsample         jSH2V2FUp
     33 #define jsimd_h2v1_fancy_upsample         jSH2V1FUp
     34 #define jsimd_can_h2v2_merged_upsample    jSCanH2V2MUp
     35 #define jsimd_can_h2v1_merged_upsample    jSCanH2V1MUp
     36 #define jsimd_h2v2_merged_upsample        jSH2V2MUp
     37 #define jsimd_h2v1_merged_upsample        jSH2V1MUp
     38 #endif /* NEED_SHORT_EXTERNAL_NAMES */
     39 
     40 EXTERN(int) jsimd_can_rgb_ycc JPP((void));
     41 EXTERN(int) jsimd_can_rgb_gray JPP((void));
     42 EXTERN(int) jsimd_can_ycc_rgb JPP((void));
     43 
     44 EXTERN(void) jsimd_rgb_ycc_convert
     45         JPP((j_compress_ptr cinfo,
     46              JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
     47              JDIMENSION output_row, int num_rows));
     48 EXTERN(void) jsimd_rgb_gray_convert
     49         JPP((j_compress_ptr cinfo,
     50              JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
     51              JDIMENSION output_row, int num_rows));
     52 EXTERN(void) jsimd_ycc_rgb_convert
     53         JPP((j_decompress_ptr cinfo,
     54              JSAMPIMAGE input_buf, JDIMENSION input_row,
     55              JSAMPARRAY output_buf, int num_rows));
     56 
     57 EXTERN(int) jsimd_can_h2v2_downsample JPP((void));
     58 EXTERN(int) jsimd_can_h2v1_downsample JPP((void));
     59 
     60 EXTERN(void) jsimd_h2v2_downsample
     61         JPP((j_compress_ptr cinfo, jpeg_component_info * compptr,
     62              JSAMPARRAY input_data, JSAMPARRAY output_data));
     63 EXTERN(void) jsimd_h2v1_downsample
     64         JPP((j_compress_ptr cinfo, jpeg_component_info * compptr,
     65              JSAMPARRAY input_data, JSAMPARRAY output_data));
     66 
     67 EXTERN(int) jsimd_can_h2v2_upsample JPP((void));
     68 EXTERN(int) jsimd_can_h2v1_upsample JPP((void));
     69 
     70 EXTERN(void) jsimd_h2v2_upsample
     71         JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
     72              JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
     73 EXTERN(void) jsimd_h2v1_upsample
     74         JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
     75              JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
     76 
     77 EXTERN(int) jsimd_can_h2v2_fancy_upsample JPP((void));
     78 EXTERN(int) jsimd_can_h2v1_fancy_upsample JPP((void));
     79 
     80 EXTERN(void) jsimd_h2v2_fancy_upsample
     81         JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
     82              JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
     83 EXTERN(void) jsimd_h2v1_fancy_upsample
     84         JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
     85              JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
     86 
     87 EXTERN(int) jsimd_can_h2v2_merged_upsample JPP((void));
     88 EXTERN(int) jsimd_can_h2v1_merged_upsample JPP((void));
     89 
     90 EXTERN(void) jsimd_h2v2_merged_upsample
     91         JPP((j_decompress_ptr cinfo,
     92              JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
     93              JSAMPARRAY output_buf));
     94 EXTERN(void) jsimd_h2v1_merged_upsample
     95         JPP((j_decompress_ptr cinfo,
     96              JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
     97              JSAMPARRAY output_buf));
     98 
     99