jsimd.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * jsimd.h
  3. *
  4. * Copyright 2009 Pierre Ossman <[email protected]> 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. EXTERN(int) jsimd_can_rgb_ycc (void);
  13. EXTERN(int) jsimd_can_rgb_gray (void);
  14. EXTERN(int) jsimd_can_ycc_rgb (void);
  15. EXTERN(int) jsimd_can_ycc_rgb565 (void);
  16. EXTERN(int) jsimd_c_can_null_convert (void);
  17. EXTERN(void) jsimd_rgb_ycc_convert
  18. (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
  19. JDIMENSION output_row, int num_rows);
  20. EXTERN(void) jsimd_rgb_gray_convert
  21. (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
  22. JDIMENSION output_row, int num_rows);
  23. EXTERN(void) jsimd_ycc_rgb_convert
  24. (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row,
  25. JSAMPARRAY output_buf, int num_rows);
  26. EXTERN(void) jsimd_ycc_rgb565_convert
  27. (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row,
  28. JSAMPARRAY output_buf, int num_rows);
  29. EXTERN(void) jsimd_c_null_convert
  30. (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
  31. JDIMENSION output_row, int num_rows);
  32. EXTERN(int) jsimd_can_h2v2_downsample (void);
  33. EXTERN(int) jsimd_can_h2v1_downsample (void);
  34. EXTERN(void) jsimd_h2v2_downsample
  35. (j_compress_ptr cinfo, jpeg_component_info * compptr,
  36. JSAMPARRAY input_data, JSAMPARRAY output_data);
  37. EXTERN(int) jsimd_can_h2v2_smooth_downsample (void);
  38. EXTERN(void) jsimd_h2v2_smooth_downsample
  39. (j_compress_ptr cinfo, jpeg_component_info * compptr,
  40. JSAMPARRAY input_data, JSAMPARRAY output_data);
  41. EXTERN(void) jsimd_h2v1_downsample
  42. (j_compress_ptr cinfo, jpeg_component_info * compptr,
  43. JSAMPARRAY input_data, JSAMPARRAY output_data);
  44. EXTERN(int) jsimd_can_h2v2_upsample (void);
  45. EXTERN(int) jsimd_can_h2v1_upsample (void);
  46. EXTERN(int) jsimd_can_int_upsample (void);
  47. EXTERN(void) jsimd_h2v2_upsample
  48. (j_decompress_ptr cinfo, jpeg_component_info * compptr,
  49. JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
  50. EXTERN(void) jsimd_h2v1_upsample
  51. (j_decompress_ptr cinfo, jpeg_component_info * compptr,
  52. JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
  53. EXTERN(void) jsimd_int_upsample
  54. (j_decompress_ptr cinfo, jpeg_component_info * compptr,
  55. JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
  56. EXTERN(int) jsimd_can_h2v2_fancy_upsample (void);
  57. EXTERN(int) jsimd_can_h2v1_fancy_upsample (void);
  58. EXTERN(void) jsimd_h2v2_fancy_upsample
  59. (j_decompress_ptr cinfo, jpeg_component_info * compptr,
  60. JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
  61. EXTERN(void) jsimd_h2v1_fancy_upsample
  62. (j_decompress_ptr cinfo, jpeg_component_info * compptr,
  63. JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr);
  64. EXTERN(int) jsimd_can_h2v2_merged_upsample (void);
  65. EXTERN(int) jsimd_can_h2v1_merged_upsample (void);
  66. EXTERN(void) jsimd_h2v2_merged_upsample
  67. (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
  68. JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
  69. EXTERN(void) jsimd_h2v1_merged_upsample
  70. (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
  71. JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);