jsimddct.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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, JDIMENSION start_col,
  16. FAST_FLOAT *workspace);
  17. EXTERN(int) jsimd_can_fdct_islow(void);
  18. EXTERN(int) jsimd_can_fdct_ifast(void);
  19. EXTERN(int) jsimd_can_fdct_float(void);
  20. EXTERN(void) jsimd_fdct_islow(DCTELEM *data);
  21. EXTERN(void) jsimd_fdct_ifast(DCTELEM *data);
  22. EXTERN(void) jsimd_fdct_float(FAST_FLOAT *data);
  23. EXTERN(int) jsimd_can_quantize(void);
  24. EXTERN(int) jsimd_can_quantize_float(void);
  25. EXTERN(void) jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors,
  26. DCTELEM *workspace);
  27. EXTERN(void) jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors,
  28. FAST_FLOAT *workspace);
  29. EXTERN(int) jsimd_can_idct_2x2(void);
  30. EXTERN(int) jsimd_can_idct_4x4(void);
  31. EXTERN(int) jsimd_can_idct_6x6(void);
  32. EXTERN(int) jsimd_can_idct_12x12(void);
  33. EXTERN(void) jsimd_idct_2x2(j_decompress_ptr cinfo,
  34. jpeg_component_info *compptr, JCOEFPTR coef_block,
  35. JSAMPARRAY output_buf, JDIMENSION output_col);
  36. EXTERN(void) jsimd_idct_4x4(j_decompress_ptr cinfo,
  37. jpeg_component_info *compptr, JCOEFPTR coef_block,
  38. JSAMPARRAY output_buf, JDIMENSION output_col);
  39. EXTERN(void) jsimd_idct_6x6(j_decompress_ptr cinfo,
  40. jpeg_component_info *compptr, JCOEFPTR coef_block,
  41. JSAMPARRAY output_buf, JDIMENSION output_col);
  42. EXTERN(void) jsimd_idct_12x12(j_decompress_ptr cinfo,
  43. jpeg_component_info *compptr,
  44. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  45. JDIMENSION output_col);
  46. EXTERN(int) jsimd_can_idct_islow(void);
  47. EXTERN(int) jsimd_can_idct_ifast(void);
  48. EXTERN(int) jsimd_can_idct_float(void);
  49. EXTERN(void) jsimd_idct_islow(j_decompress_ptr cinfo,
  50. jpeg_component_info *compptr,
  51. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  52. JDIMENSION output_col);
  53. EXTERN(void) jsimd_idct_ifast(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_float(j_decompress_ptr cinfo,
  58. jpeg_component_info *compptr,
  59. JCOEFPTR coef_block, JSAMPARRAY output_buf,
  60. JDIMENSION output_col);