39 #include "unit_test_common.h" 46 #define TEST_COUNT 5000 61 void test_resize_conformance_case()
81 for (i = 0; i < pic_size; i++)
83 in_c[i] = in_neon[i] = (rand() & 0xff);
85 #if defined(REGRESSION_TEST) 95 printf (
"srcw X srch = %d X %d \n", srcw, srch);
96 printf (
"dstw X dsth = %d X %d \n", dstw, dsth);
101 PSNR = CAL_PSNR_UINT8 (out_c, out_neon, dstw * dsth * channels);
102 assert_false ( (PSNR < PSNR_THRESHOLD));
105 #else // defined(SMOKE_TEST) 115 printf (
"srcw X srch = %d X %d \n", srcw, srch);
116 printf (
"dstw X dsth = %d X %d \n", dstw, dsth);
121 PSNR = CAL_PSNR_UINT8 (out_c, out_neon, dstw * dsth * channels);
122 assert_false ( (PSNR < PSNR_THRESHOLD));
133 void test_resize_performance_case()
154 for (i = 0; i < pic_size; i++)
156 in_c[i] = in_neon[i] = (rand() & 0xff);
168 printf (
"srcw X srch = %d X %d \n", srcw, srch);
169 printf (
"dstw X dsth = %d X %d \n", dstw, dsth);
190 ne10_log (__FUNCTION__,
"IMAGERESIZE%20d%20lld%20lld%19.2f%%%18.2f:1\n", (h * MEM_SIZE + w), time_c, time_neon, 0, 0);
202 #if defined (SMOKE_TEST)||(REGRESSION_TEST) 203 test_resize_conformance_case();
206 #if defined PERFORMANCE_TEST 207 test_resize_performance_case();
213 ne10_log_buffer_ptr = ne10_log_buffer;
216 void test_fixture_resize (
void)
218 test_fixture_start();
222 run_test (test_resize);
void ne10_img_resize_bilinear_rgba_c(ne10_uint8_t *dst, ne10_uint32_t dst_width, ne10_uint32_t dst_height, ne10_uint8_t *src, ne10_uint32_t src_width, ne10_uint32_t src_height, ne10_uint32_t src_stride)
Specific implementation of ne10_img_resize_bilinear_rgba using plain C.
void ne10_img_resize_bilinear_rgba_neon(ne10_uint8_t *dst, ne10_uint32_t dst_width, ne10_uint32_t dst_height, ne10_uint8_t *src, ne10_uint32_t src_width, ne10_uint32_t src_height, ne10_uint32_t src_stride) asm("ne10_img_resize_bilinear_rgba_neon")
Specific implementation of ne10_img_resize_bilinear_rgba using NEON SIMD capabilities.