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, 2014 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 EXTERN(int) jsimd_can_rgb_ycc (void);
     14 EXTERN(int) jsimd_can_rgb_gray (void);
     15 EXTERN(int) jsimd_can_ycc_rgb (void);
     16 EXTERN(int) jsimd_can_ycc_rgb565 (void);
     17 EXTERN(int) jsimd_c_can_null_convert (void);
     18 
     19 EXTERN(void) jsimd_rgb_ycc_convert
     20         (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
     21          JDIMENSION output_row, int num_rows);
     22 EXTERN(void) jsimd_rgb_gray_convert
     23         (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
     24          JDIMENSION output_row, int num_rows);
     25 EXTERN(void) jsimd_ycc_rgb_convert
     26         (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row,
     27          JSAMPARRAY output_buf, int num_rows);
     28 EXTERN(void) jsimd_ycc_rgb565_convert
     29         (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row,
     30          JSAMPARRAY output_buf, int num_rows);
     31 EXTERN(void) jsimd_c_null_convert
     32         (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
     33          JDIMENSION output_row, int num_rows);
     34 
     35 EXTERN(int) jsimd_can_h2v2_downsample (void);
     36 EXTERN(int) jsimd_can_h2v1_downsample (void);
     37 
     38 EXTERN(void) jsimd_h2v2_downsample
     39         (j_compress_ptr cinfo, jpeg_component_info * compptr,
     40          JSAMPARRAY input_data, JSAMPARRAY output_data);
     41 
     42 EXTERN(int) jsimd_can_h2v2_smooth_downsample (void);
     43 
     44 EXTERN(void) jsimd_h2v2_smooth_downsample
     45         (j_compress_ptr cinfo, jpeg_component_info * compptr,
     46          JSAMPARRAY input_data, JSAMPARRAY output_data);
     47 
     48 EXTERN(void) jsimd_h2v1_downsample
     49         (j_compress_ptr cinfo, jpeg_component_info * compptr,
     50         JSAMPARRAY input_data, JSAMPARRAY output_data);
     51 
     52 EXTERN(int) jsimd_can_h2v2_upsample (void);
     53 EXTERN(int) jsimd_can_h2v1_upsample (void);
     54 EXTERN(int) jsimd_can_int_upsample (void);
     55 
     56 EXTERN(void) jsimd_h2v2_upsample
     57         (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     58          JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
     59 EXTERN(void) jsimd_h2v1_upsample
     60         (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     61          JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
     62 EXTERN(void) jsimd_int_upsample
     63         (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     64          JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
     65 
     66 EXTERN(int) jsimd_can_h2v2_fancy_upsample (void);
     67 EXTERN(int) jsimd_can_h2v1_fancy_upsample (void);
     68 
     69 EXTERN(void) jsimd_h2v2_fancy_upsample
     70         (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     71          JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
     72 EXTERN(void) jsimd_h2v1_fancy_upsample
     73         (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     74          JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
     75 
     76 EXTERN(int) jsimd_can_h2v2_merged_upsample (void);
     77 EXTERN(int) jsimd_can_h2v1_merged_upsample (void);
     78 
     79 EXTERN(void) jsimd_h2v2_merged_upsample
     80         (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
     81          JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
     82 EXTERN(void) jsimd_h2v1_merged_upsample
     83         (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
     84          JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
     85