Commit 662120f2 authored by Paul B Mahol's avatar Paul B Mahol

avfilter/vf_convolution: use sqrtf as its faster

parent 1342ec52
...@@ -157,7 +157,7 @@ static void filter16_prewitt(uint8_t *dstp, int width, ...@@ -157,7 +157,7 @@ static void filter16_prewitt(uint8_t *dstp, int width,
int sumb = AV_RN16A(&c[0][2 * x]) * -1 + AV_RN16A(&c[2][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -1 + int sumb = AV_RN16A(&c[0][2 * x]) * -1 + AV_RN16A(&c[2][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -1 +
AV_RN16A(&c[5][2 * x]) * 1 + AV_RN16A(&c[6][2 * x]) * -1 + AV_RN16A(&c[8][2 * x]) * 1; AV_RN16A(&c[5][2 * x]) * 1 + AV_RN16A(&c[6][2 * x]) * -1 + AV_RN16A(&c[8][2 * x]) * 1;
dst[x] = av_clip(sqrt(suma*suma + sumb*sumb) * scale + delta, 0, peak); dst[x] = av_clip(sqrtf(suma*suma + sumb*sumb) * scale + delta, 0, peak);
} }
} }
...@@ -173,7 +173,7 @@ static void filter16_roberts(uint8_t *dstp, int width, ...@@ -173,7 +173,7 @@ static void filter16_roberts(uint8_t *dstp, int width,
int suma = AV_RN16A(&c[0][2 * x]) * 1 + AV_RN16A(&c[1][2 * x]) * -1; int suma = AV_RN16A(&c[0][2 * x]) * 1 + AV_RN16A(&c[1][2 * x]) * -1;
int sumb = AV_RN16A(&c[4][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -1; int sumb = AV_RN16A(&c[4][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -1;
dst[x] = av_clip(sqrt(suma*suma + sumb*sumb) * scale + delta, 0, peak); dst[x] = av_clip(sqrtf(suma*suma + sumb*sumb) * scale + delta, 0, peak);
} }
} }
...@@ -191,7 +191,7 @@ static void filter16_sobel(uint8_t *dstp, int width, ...@@ -191,7 +191,7 @@ static void filter16_sobel(uint8_t *dstp, int width,
int sumb = AV_RN16A(&c[0][2 * x]) * -1 + AV_RN16A(&c[2][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -2 + int sumb = AV_RN16A(&c[0][2 * x]) * -1 + AV_RN16A(&c[2][2 * x]) * 1 + AV_RN16A(&c[3][2 * x]) * -2 +
AV_RN16A(&c[5][2 * x]) * 2 + AV_RN16A(&c[6][2 * x]) * -1 + AV_RN16A(&c[8][2 * x]) * 1; AV_RN16A(&c[5][2 * x]) * 2 + AV_RN16A(&c[6][2 * x]) * -1 + AV_RN16A(&c[8][2 * x]) * 1;
dst[x] = av_clip(sqrt(suma*suma + sumb*sumb) * scale + delta, 0, peak); dst[x] = av_clip(sqrtf(suma*suma + sumb*sumb) * scale + delta, 0, peak);
} }
} }
...@@ -211,7 +211,7 @@ static void filter_prewitt(uint8_t *dst, int width, ...@@ -211,7 +211,7 @@ static void filter_prewitt(uint8_t *dst, int width,
int sumb = c0[x] * -1 + c2[x] * 1 + c3[x] * -1 + int sumb = c0[x] * -1 + c2[x] * 1 + c3[x] * -1 +
c5[x] * 1 + c6[x] * -1 + c8[x] * 1; c5[x] * 1 + c6[x] * -1 + c8[x] * 1;
dst[x] = av_clip_uint8(sqrt(suma*suma + sumb*sumb) * scale + delta); dst[x] = av_clip_uint8(sqrtf(suma*suma + sumb*sumb) * scale + delta);
} }
} }
...@@ -226,7 +226,7 @@ static void filter_roberts(uint8_t *dst, int width, ...@@ -226,7 +226,7 @@ static void filter_roberts(uint8_t *dst, int width,
int suma = c[0][x] * 1 + c[1][x] * -1; int suma = c[0][x] * 1 + c[1][x] * -1;
int sumb = c[4][x] * 1 + c[3][x] * -1; int sumb = c[4][x] * 1 + c[3][x] * -1;
dst[x] = av_clip_uint8(sqrt(suma*suma + sumb*sumb) * scale + delta); dst[x] = av_clip_uint8(sqrtf(suma*suma + sumb*sumb) * scale + delta);
} }
} }
...@@ -246,7 +246,7 @@ static void filter_sobel(uint8_t *dst, int width, ...@@ -246,7 +246,7 @@ static void filter_sobel(uint8_t *dst, int width,
int sumb = c0[x] * -1 + c2[x] * 1 + c3[x] * -2 + int sumb = c0[x] * -1 + c2[x] * 1 + c3[x] * -2 +
c5[x] * 2 + c6[x] * -1 + c8[x] * 1; c5[x] * 2 + c6[x] * -1 + c8[x] * 1;
dst[x] = av_clip_uint8(sqrt(suma*suma + sumb*sumb) * scale + delta); dst[x] = av_clip_uint8(sqrtf(suma*suma + sumb*sumb) * scale + delta);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment