Lines Matching refs:radius
29 float Blur::convertRadiusToSigma(float radius) {
30 return radius > 0 ? BLUR_SIGMA_SCALE * radius + 0.5f : 0.0f;
37 // if the original radius was on an integer boundary and the resulting radius
40 uint32_t Blur::convertRadiusToInt(float radius) {
41 const float radiusCeil = ceilf(radius);
42 if (MathUtils::areEqual(radiusCeil, radius)) {
45 return radius;
52 * Based on some experimental radius and sigma values we approximate the
53 * equation sigma = f(radius) as sigma = radius * 0.3 + 0.6. The larger the
54 * radius gets, the more our gaussian blur will resemble a box blur since with
57 static float legacyConvertRadiusToSigma(float radius) {
58 return radius > 0 ? 0.3f * radius + 0.6f : 0.0f;
61 void Blur::generateGaussianWeights(float* weights, float radius) {
62 int32_t intRadius = convertRadiusToInt(radius);
69 // x is of the form [-radius .. 0 .. radius]
70 // and sigma varies with radius.
71 float sigma = legacyConvertRadiusToSigma(radius);
94 void Blur::horizontal(float* weights, int32_t radius,
108 if (x > radius && x < (width - radius)) {
109 const uint8_t *i = input + (x - radius);
110 for (int r = -radius; r <= radius; r ++) {
117 for (int32_t r = -radius; r <= radius; r ++) {
138 void Blur::vertical(float* weights, int32_t radius,
151 if (y > radius && y < (height - radius)) {
152 const uint8_t *i = input + ((y - radius) * width);
153 for (int32_t r = -radius; r <= radius; r ++) {
160 for (int32_t r = -radius; r <= radius; r ++) {