encode.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*
  2. * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
  3. * License: https://github.com/bkaradzic/bimg#license-bsd-2-clause
  4. */
  5. #ifndef BIMG_ENCODE_H_HEADER_GUARD
  6. #define BIMG_ENCODE_H_HEADER_GUARD
  7. #include "bimg.h"
  8. namespace bimg
  9. {
  10. struct Quality
  11. {
  12. enum Enum
  13. {
  14. Default,
  15. Highest,
  16. Fastest,
  17. Count
  18. };
  19. };
  20. ///
  21. void imageEncodeFromRgba8(
  22. bx::AllocatorI* _allocator
  23. , void* _dst
  24. , const void* _src
  25. , uint32_t _width
  26. , uint32_t _height
  27. , uint32_t _depth
  28. , TextureFormat::Enum _format
  29. , Quality::Enum _quality
  30. , bx::Error* _err = NULL
  31. );
  32. ///
  33. void imageEncodeFromRgba32f(
  34. bx::AllocatorI* _allocator
  35. , void* _dst
  36. , const void* _src
  37. , uint32_t _width
  38. , uint32_t _height
  39. , uint32_t _depth
  40. , TextureFormat::Enum _format
  41. , Quality::Enum _quality
  42. , bx::Error* _err = NULL
  43. );
  44. ///
  45. void imageEncode(
  46. bx::AllocatorI* _allocator
  47. , void* _dst
  48. , const void* _src
  49. , TextureFormat::Enum _srcFormat
  50. , uint32_t _width
  51. , uint32_t _height
  52. , uint32_t _depth
  53. , TextureFormat::Enum _dstFormat
  54. , Quality::Enum _quality
  55. , bx::Error* _err
  56. );
  57. ///
  58. ImageContainer* imageEncode(
  59. bx::AllocatorI* _allocator
  60. , TextureFormat::Enum _dstFormat
  61. , Quality::Enum _quality
  62. , const ImageContainer& _input
  63. );
  64. ///
  65. void imageRgba32f11to01(
  66. void* _dst
  67. , uint32_t _width
  68. , uint32_t _height
  69. , uint32_t _depth
  70. , uint32_t _pitch
  71. , const void* _src
  72. );
  73. ///
  74. void imageMakeDist(
  75. bx::AllocatorI* _allocator
  76. , void* _dst
  77. , uint32_t _width
  78. , uint32_t _height
  79. , uint32_t _srcPitch
  80. , float _edge
  81. , const void* _src
  82. );
  83. ///
  84. float imageQualityRgba8(
  85. const void* _reference
  86. , const void* _data
  87. , uint16_t _width
  88. , uint16_t _height
  89. );
  90. ///
  91. bool imageResizeRgba32fLinear(
  92. ImageContainer* _dst
  93. , const ImageContainer* _src
  94. );
  95. ///
  96. float imageAlphaTestCoverage(
  97. TextureFormat::Enum _format
  98. , uint32_t _width
  99. , uint32_t _height
  100. , uint32_t _srcPitch
  101. , const void* _src
  102. , float _alphaRef
  103. , float _scale = 1.0f
  104. );
  105. ///
  106. void imageScaleAlphaToCoverage(
  107. TextureFormat::Enum _format
  108. , uint32_t _width
  109. , uint32_t _height
  110. , uint32_t _srcPitch
  111. , void* _src
  112. , float _coverage
  113. , float _alphaRef
  114. );
  115. } // namespace bimg
  116. #endif // BIMG_ENCODE_H_HEADER_GUARD