/src/FreeImage/Source/ToneMapping.h

https://bitbucket.org/cabalistic/ogredeps/ · C Header · 44 lines · 16 code · 8 blank · 20 comment · 0 complexity · 26ece2ad87fcce61134832272ea98cc5 MD5 · raw file

  1. // ==========================================================
  2. // High Dynamic Range bitmap conversion routines
  3. //
  4. // Design and implementation by
  5. // - Hervé Drolon (drolon@infonie.fr)
  6. //
  7. // This file is part of FreeImage 3
  8. //
  9. // COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY
  10. // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
  11. // THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
  12. // OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
  13. // CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
  14. // THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
  15. // SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL
  16. // PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER
  17. // THIS DISCLAIMER.
  18. //
  19. // Use at your own risk!
  20. // ==========================================================
  21. #ifndef TONE_MAPPING_H
  22. #define TONE_MAPPING_H
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. BOOL ConvertInPlaceRGBFToYxy(FIBITMAP *dib);
  27. BOOL ConvertInPlaceYxyToRGBF(FIBITMAP *dib);
  28. FIBITMAP* ConvertRGBFToY(FIBITMAP *src);
  29. BOOL LuminanceFromYxy(FIBITMAP *dib, float *maxLum, float *minLum, float *worldLum);
  30. BOOL LuminanceFromY(FIBITMAP *dib, float *maxLum, float *minLum, float *Lav, float *Llav);
  31. void NormalizeY(FIBITMAP *Y, float minPrct, float maxPrct);
  32. FIBITMAP* ClampConvertRGBFTo24(FIBITMAP *src);
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36. #endif // TONE_MAPPING_H