void vp8_mbloop_filter_horizontal_edge_c ( unsigned char *s, int p, const unsigned char *blimit, const unsigned char *limit, const unsigned char *thresh, int count ) { signed char hev = 0; /* high edge variance */ signed char mask = 0; int i = 0; /* loop filter designed to work using chars so that we can make maximum use * of 8 bit simd instructions. */ do { mask = vp8_filter_mask(limit[0], blimit[0], s[-4*p], s[-3*p], s[-2*p], s[-1*p], s[0*p], s[1*p], s[2*p], s[3*p]); hev = vp8_hevmask(thresh[0], s[-2*p], s[-1*p], s[0*p], s[1*p]); vp8_mbfilter(mask, hev, s - 3 * p, s - 2 * p, s - 1 * p, s, s + 1 * p, s + 2 * p); ++s; } while (++i < count * 8); }
void vp8_mbloop_filter_vertical_edge_c ( unsigned char *s, int p, const unsigned char *blimit, const unsigned char *limit, const unsigned char *thresh, int count ) { signed char hev = 0; /* high edge variance */ signed char mask = 0; int i = 0; do { mask = vp8_filter_mask(limit[0], blimit[0], s[-4], s[-3], s[-2], s[-1], s[0], s[1], s[2], s[3]); hev = vp8_hevmask(thresh[0], s[-2], s[-1], s[0], s[1]); vp8_mbfilter(mask, hev, s - 3, s - 2, s - 1, s, s + 1, s + 2); s += p; } while (++i < count * 8); }
void vp8_mbloop_filter_horizontal_edge_c ( unsigned char *s, int p, const unsigned char *blimit, const unsigned char *limit, const unsigned char *thresh, int count ) { signed char hev = 0; signed char mask = 0; int i = 0; do { mask = vp8_filter_mask(limit[0], blimit[0], s[-4*p], s[-3*p], s[-2*p], s[-1*p], s[0*p], s[1*p], s[2*p], s[3*p]); hev = vp8_hevmask(thresh[0], s[-2*p], s[-1*p], s[0*p], s[1*p]); vp8_mbfilter(mask, hev, s - 3 * p, s - 2 * p, s - 1 * p, s, s + 1 * p, s + 2 * p); ++s; } while (++i < count * 8); }