all_processings.hpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // This file is part of HDRip.
  2. //
  3. // HDRip is free software: you can redistribute it and/or modify it
  4. // under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation, either version 3 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // HDRip is distributed in the hope that it will be useful, but
  9. // WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with HDRip. If not, see <https://www.gnu.org/licenses/>.
  15. //
  16. // HDRip project
  17. // Author : Rémi Synave
  18. // Contact : remi.synave@univ-littoral.fr
  19. #ifndef ALL_PROCESSINGS__HPP
  20. #define ALL_PROCESSINGS__HPP
  21. #ifndef _LINUX
  22. #ifdef HDRIP_EXPORTS
  23. #define HDRIP_API __declspec(dllexport)
  24. #else
  25. #define HDRIP_API __declspec(dllimport)
  26. #endif
  27. extern "C" {
  28. HDRIP_API float* exposure(float* data, unsigned int width, unsigned int height, float exposure);
  29. HDRIP_API float* contrast(float* data, unsigned int width, unsigned int height, float contrast);
  30. HDRIP_API float* yCurve(float* data, unsigned int width, unsigned int height, float yCs, float yCb, float yCm, float yCw, float yCh);
  31. HDRIP_API float* lightnessMask(float* data, unsigned int width, unsigned int height, bool lms, bool lmb, bool lmm, bool lmw, bool lmh);
  32. HDRIP_API float* saturation(float* data, unsigned int width, unsigned int height, float saturation);
  33. HDRIP_API float* colorEditor(float* data, unsigned int width, unsigned int height, float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
  34. HDRIP_API float* full_process(float* data, unsigned int width, unsigned int height,
  35. float exposure,
  36. float contrast,
  37. float yCs, float yCb, float yCm, float yCw, float yCh,
  38. bool lms, bool lmb, bool lmm, bool lmw, bool lmh,
  39. float saturation,
  40. float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
  41. HDRIP_API float* full_process_5CO(float* data, unsigned int width, unsigned int height,
  42. float exposure,
  43. float contrast,
  44. float yCs, float yCb, float yCm, float yCw, float yCh,
  45. bool lms, bool lmb, bool lmm, bool lmw, bool lmh,
  46. float saturation,
  47. float ce_sel_light_l_co1, float ce_sel_light_h_co1, float ce_sel_chr_l_co1, float ce_sel_chr_h_co1, float ce_sel_hue_l_co1, float ce_sel_hue_h_co1, float ce_tol_co1, float ce_edit_hue_co1, float ce_edit_expo_co1, float ce_edit_con_co1, float ce_edit_sat_co1, bool ce_mask_co1,
  48. float ce_sel_light_l_co2, float ce_sel_light_h_co2, float ce_sel_chr_l_co2, float ce_sel_chr_h_co2, float ce_sel_hue_l_co2, float ce_sel_hue_h_co2, float ce_tol_co2, float ce_edit_hue_co2, float ce_edit_expo_co2, float ce_edit_con_co2, float ce_edit_sat_co2, bool ce_mask_co2,
  49. float ce_sel_light_l_co3, float ce_sel_light_h_co3, float ce_sel_chr_l_co3, float ce_sel_chr_h_co3, float ce_sel_hue_l_co3, float ce_sel_hue_h_co3, float ce_tol_co3, float ce_edit_hue_co3, float ce_edit_expo_co3, float ce_edit_con_co3, float ce_edit_sat_co3, bool ce_mask_co3,
  50. float ce_sel_light_l_co4, float ce_sel_light_h_co4, float ce_sel_chr_l_co4, float ce_sel_chr_h_co4, float ce_sel_hue_l_co4, float ce_sel_hue_h_co4, float ce_tol_co4, float ce_edit_hue_co4, float ce_edit_expo_co4, float ce_edit_con_co4, float ce_edit_sat_co4, bool ce_mask_co4,
  51. float ce_sel_light_l_co5, float ce_sel_light_h_co5, float ce_sel_chr_l_co5, float ce_sel_chr_h_co5, float ce_sel_hue_l_co5, float ce_sel_hue_h_co5, float ce_tol_co5, float ce_edit_hue_co5, float ce_edit_expo_co5, float ce_edit_con_co5, float ce_edit_sat_co5, bool ce_mask_co5);
  52. }
  53. #else
  54. extern "C" {
  55. float* exposure(float* data, unsigned int width, unsigned int height, float exposure);
  56. float* contrast(float* data, unsigned int width, unsigned int height, float contrast);
  57. float* yCurve(float* data, unsigned int width, unsigned int height, float yCs, float yCb, float yCm, float yCw, float yCh);
  58. float* lightnessMask(float* data, unsigned int width, unsigned int height, bool lms, bool lmb, bool lmm, bool lmw, bool lmh);
  59. float* saturation(float* data, unsigned int width, unsigned int height, float saturation);
  60. float* colorEditor(float* data, unsigned int width, unsigned int height, float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
  61. float* full_process(float* data, unsigned int width, unsigned int height,
  62. float exposure,
  63. float contrast,
  64. float yCs, float yCb, float yCm, float yCw, float yCh,
  65. bool lms, bool lmb, bool lmm, bool lmw, bool lmh,
  66. float saturation,
  67. float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
  68. }
  69. #endif
  70. #endif