static void mult8x8_s16_ref(int16_t *dest, int16_t *src1, int16_t *src2, int dstr, int sstr1, int sstr2) { int i,j; for(i=0;i<8;i++){ for(j=0;j<8;j++){ OIL_GET(dest,dstr*i+2*j, int16_t) = OIL_GET(src1,sstr1*i+2*j, int16_t) * OIL_GET(src2,sstr2*i+2*j, int16_t); } } }
static void splat_u32_ref (uint32_t *dest, int dstr, uint32_t *param, int n) { int i; for(i=0;i<n;i++){ OIL_GET(dest,i*dstr, uint32_t) = *param; } }
static void idct8x8_test (OilTest *test) { int16_t *data = oil_test_get_source_data (test, OIL_ARG_SRC1); int stride = oil_test_get_value (test, OIL_ARG_SSTR1); int i, j; for(j=0;j<8;j++){ for(i=0;i<8;i++){ OIL_GET(data, i*2 + j*stride, int16_t) = (oil_rand_s16() & 0xfff) - 2048; } } }
static void trans8x8_u16_c1 (uint16_t *dest, int dstr, const uint16_t *src, int sstr) { int i; int j; uint16_t *d, *s; for(i=0;i<8;i++){ d = OIL_OFFSET(dest, 2*i); s = OIL_OFFSET(src, sstr*i); for(j=0;j<8;j++){ OIL_GET(d,dstr*j,uint16_t) = s[j]; } } }
static void trans8x8_u16_c4 (uint16_t *dest, int dstr, const uint16_t *src, int sstr) { int i; uint16_t *d, *s; for(i=0;i<8;i++){ d = OIL_OFFSET(dest, 2*i); s = OIL_OFFSET(src, sstr*i); OIL_GET(d,dstr*0,uint16_t) = *s++; OIL_GET(d,dstr*1,uint16_t) = *s++; OIL_GET(d,dstr*2,uint16_t) = *s++; OIL_GET(d,dstr*3,uint16_t) = *s++; OIL_GET(d,dstr*4,uint16_t) = *s++; OIL_GET(d,dstr*5,uint16_t) = *s++; OIL_GET(d,dstr*6,uint16_t) = *s++; OIL_GET(d,dstr*7,uint16_t) = *s++; } }
static void trans8x8_u16_c3 (uint16_t *dest, int dstr, const uint16_t *src, int sstr) { int i; uint16_t *d, *s; for(i=0;i<8;i++){ d = OIL_OFFSET(dest, 2*i); s = OIL_OFFSET(src, sstr*i); OIL_GET(d,dstr*0,uint16_t) = s[0]; OIL_GET(d,dstr*1,uint16_t) = s[1]; OIL_GET(d,dstr*2,uint16_t) = s[2]; OIL_GET(d,dstr*3,uint16_t) = s[3]; OIL_GET(d,dstr*4,uint16_t) = s[4]; OIL_GET(d,dstr*5,uint16_t) = s[5]; OIL_GET(d,dstr*6,uint16_t) = s[6]; OIL_GET(d,dstr*7,uint16_t) = s[7]; } }