jsimddct.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * jsimddct.h
  3. *
  4. * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
  5. *
  6. * Based on the x86 SIMD extension for IJG JPEG library,
  7. * Copyright (C) 1999-2006, MIYASAKA Masaru.
  8. * For conditions of distribution and use, see copyright notice in jsimdext.inc
  9. *
  10. */
  11. EXTERN(int) jsimd_can_convsamp (void);
  12. EXTERN(int) jsimd_can_convsamp_float (void);
  13. EXTERN(void) jsimd_convsamp (JSAMPARRAY sample_data, JDIMENSION start_col,
  14. DCTELEM *workspace);
  15. EXTERN(void) jsimd_convsamp_float (JSAMPARRAY sample_data,
  16. JDIMENSION start_col,
  17. FAST_FLOAT *workspace);
  18. EXTERN(int) jsimd_can_fdct_islow (void);
  19. EXTERN(int) jsimd_can_fdct_ifast (void);
  20. EXTERN(int) jsimd_can_fdct_float (void);
  21. EXTERN(void) jsimd_fdct_islow (DCTELEM *data);
  22. EXTERN(void) jsimd_fdct_ifast (DCTELEM *data);
  23. EXTERN(void) jsimd_fdct_float (FAST_FLOAT *data);
  24. EXTERN(int) jsimd_can_quantize (void);
  25. EXTERN(int) jsimd_can_quantize_float (void);
  26. EXTERN(void) jsimd_quantize (JCOEFPTR coef_block, DCTELEM *divisors,
  27. DCTELEM *workspace);
  28. EXTERN(void) jsimd_quantize_float (JCOEFPTR coef_block, FAST_FLOAT *divisors,
  29. FAST_FLOAT *workspace);
  30. EXTERN(int) jsimd_can_idct_2x2 (void);
  31. EXTERN(int) jsimd_can_idct_4x4 (void);
  32. EXTERN(int) jsimd_can_idct_6x6 (void);
  33. EXTERN(int) jsimd_can_idct_12x12 (void);
  34. EXTERN(void) jsimd_idct_2x2 (j_decompress_ptr cinfo,
  35. jpeg_component_info *compptr,
  36. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  37. JDIMENSION output_col);
  38. EXTERN(void) jsimd_idct_4x4 (j_decompress_ptr cinfo,
  39. jpeg_component_info *compptr,
  40. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  41. JDIMENSION output_col);
  42. EXTERN(void) jsimd_idct_6x6 (j_decompress_ptr cinfo,
  43. jpeg_component_info *compptr,
  44. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  45. JDIMENSION output_col);
  46. EXTERN(void) jsimd_idct_12x12 (j_decompress_ptr cinfo,
  47. jpeg_component_info *compptr,
  48. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  49. JDIMENSION output_col);
  50. EXTERN(int) jsimd_can_idct_islow (void);
  51. EXTERN(int) jsimd_can_idct_ifast (void);
  52. EXTERN(int) jsimd_can_idct_float (void);
  53. EXTERN(void) jsimd_idct_islow (j_decompress_ptr cinfo,
  54. jpeg_component_info *compptr,
  55. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  56. JDIMENSION output_col);
  57. EXTERN(void) jsimd_idct_ifast (j_decompress_ptr cinfo,
  58. jpeg_component_info *compptr,
  59. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  60. JDIMENSION output_col);
  61. EXTERN(void) jsimd_idct_float (j_decompress_ptr cinfo,
  62. jpeg_component_info *compptr,
  63. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  64. JDIMENSION output_col);