Use v4p and v8p in subpixel wrapper functions

This commit is contained in:
Yi Luo 2016-06-07 15:14:57 -07:00
parent d5f48049e6
commit b18ed4cfbb

View File

@ -552,8 +552,8 @@ void run_target_filter(uint8_t *src, int width, int height, int stride,
}
// for Horiz4 method (subpixel)
void run_subpixel_filter(uint8_t *src, int width, int height, int stride,
const struct Filter filter, uint8_t *dst) {
void run_subpixel_v4p_filter(uint8_t *src, int width, int height, int stride,
const struct Filter filter, uint8_t *dst) {
uint8_t temp[4 * 4] __attribute__ ((aligned(16)));
__m128i f[6];
int tapsNum;
@ -594,8 +594,8 @@ void run_subpixel_filter(uint8_t *src, int width, int height, int stride,
}
// for Horiz8 method (subpixel)
void run_subpixel_8_filter(uint8_t *src, int width, int height, int stride,
const struct Filter filter, uint8_t *dst) {
void run_subpixel_v8p_filter(uint8_t *src, int width, int height, int stride,
const struct Filter filter, uint8_t *dst) {
uint8_t temp[8 * 8] __attribute__ ((aligned(16)));
__m128i f[6];
int tapsNum;
@ -664,36 +664,44 @@ int main(int argc, char **argv)
init_state(pbuffer, ppixel, 8 + width, height, stride, random_seed);
if (width >= 8 && height >= 8) {
run_prototype_filter(pixel, width, height, stride, filter12, 12, buffer);
run_target_filter(ppixel, width, height, stride, pfilter_12tap, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_8_filter(ppixel, width, height, stride,
pfilter_12tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_prototype_filter(pixel, width, height, stride, filter10, 10, buffer);
run_target_filter(ppixel, width, height, stride, pfilter_10tap, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_8_filter(ppixel, width, height, stride,
run_subpixel_v4p_filter(ppixel, width, height, stride,
pfilter_10tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_v8p_filter(ppixel, width, height, stride,
pfilter_10tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_prototype_filter(pixel, width, height, stride, filter12, 12, buffer);
run_target_filter(ppixel, width, height, stride, pfilter_12tap, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_v4p_filter(ppixel, width, height, stride,
pfilter_12tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_v8p_filter(ppixel, width, height, stride,
pfilter_12tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
} else {
run_prototype_filter(pixel, width, height, stride, filter12, 12, buffer);
run_target_filter(ppixel, width, height, stride, pfilter_12tap, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_filter(ppixel, width, height, stride,
pfilter_12tap_subpixel, pbuffer);
run_subpixel_v4p_filter(ppixel, width, height, stride,
pfilter_12tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_prototype_filter(pixel, width, height, stride, filter10, 10, buffer);
run_target_filter(ppixel, width, height, stride, pfilter_10tap, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
run_subpixel_filter(ppixel, width, height, stride,
pfilter_10tap_subpixel, pbuffer);
run_subpixel_v4p_filter(ppixel, width, height, stride,
pfilter_10tap_subpixel, pbuffer);
check_buffer(buffer, pbuffer, width, height, stride);
}