Fix stack size problem on MacOS
This commit is contained in:
+5
-3
@@ -131,7 +131,9 @@ void calcStats(const T *data, size_t n, size_t w, RawImage::Stats &stats)
|
||||
T max[4] = {std::numeric_limits<T>::min(), std::numeric_limits<T>::min(), std::numeric_limits<T>::min(), std::numeric_limits<T>::min()};
|
||||
uint32_t histSize = 65536;
|
||||
if constexpr(std::is_same<T, uint8_t>::value)histSize = 256;
|
||||
uint32_t histogram[4][65536] = {};
|
||||
std::vector<uint32_t> histogram[4];
|
||||
histogram[0].resize(histSize); histogram[1].resize(histSize); histogram[2].resize(histSize); histogram[3].resize(histSize);
|
||||
|
||||
T sat = SATURATION * std::numeric_limits<T>::max();
|
||||
if constexpr(!std::numeric_limits<T>::is_integer)sat = SATURATION;
|
||||
uint32_t saturated[4] = {0};
|
||||
@@ -150,7 +152,7 @@ void calcStats(const T *data, size_t n, size_t w, RawImage::Stats &stats)
|
||||
if(d > sat)saturated[x]++;
|
||||
};
|
||||
|
||||
auto findMedian = [histSize](uint32_t histogram[], size_t n) -> size_t
|
||||
auto findMedian = [histSize](std::vector<uint32_t> &histogram, size_t n) -> size_t
|
||||
{
|
||||
size_t histSum = 0;
|
||||
for(size_t o=0; o < histSize; o++)
|
||||
@@ -205,7 +207,7 @@ void calcStats(const T *data, size_t n, size_t w, RawImage::Stats &stats)
|
||||
|
||||
uint32_t median = findMedian(histogram[i], na[i]);
|
||||
stats.m_median[i] = median;
|
||||
uint32_t madHist[65536] = {0};
|
||||
std::vector<uint32_t> madHist(histSize, 0);
|
||||
madHist[0] = histogram[i][median];
|
||||
for(size_t o = 1; o < histSize; o++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user