blob: 44f973c858200dec0f2c4ab94903affdf7c9847a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "atrac_psy_common.h"
namespace NAtracDEnc {
//returns 1 for tone-like, 0 - noise-like
TFloat AnalizeScaleFactorSpread(const std::vector<TScaledBlock>& scaledBlocks) {
TFloat s = 0.0;
for (int i = 0; i < scaledBlocks.size(); ++i) {
s += scaledBlocks[i].ScaleFactorIndex;
}
s /= scaledBlocks.size();
TFloat sigma = 0.0;
TFloat t = 0.0;
for (int i = 0; i < scaledBlocks.size(); ++i) {
t = (scaledBlocks[i].ScaleFactorIndex - s);
t *= t;
sigma += t;
}
sigma /= scaledBlocks.size();
sigma = sqrt(sigma);
if (sigma > 14.0)
sigma = 14.0;
return sigma/14.0;
}
} //namespace NAtracDEnc
|