unsigned int aom_variance8x16_sse2(const unsigned char *src, int src_stride, const unsigned char *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 8, 16, sse, &sum, aom_get8x8var_sse2, 8); return *sse - (((unsigned int)sum * sum) >> 7); }
unsigned int aom_variance32x64_sse2(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 32, 64, sse, &sum, aom_get16x16var_sse2, 16); return *sse - (((int64_t)sum * sum) >> 11); }
unsigned int aom_variance4x8_sse2(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 4, 8, sse, &sum, get4x4var_sse2, 4); return *sse - (((unsigned int)sum * sum) >> 5); }
unsigned int vp9_variance16x8_sse2(const unsigned char *src, int src_stride, const unsigned char *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 16, 8, sse, &sum, vp9_get8x8var_sse2, 8); return *sse - (((unsigned int)sum * sum) >> 7); }
unsigned int vp9_variance8x4_sse2(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 8, 4, sse, &sum, vp9_get4x4var_mmx, 4); return *sse - (((unsigned int)sum * sum) >> 5); }
unsigned int vp9_variance64x32_sse2(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 64, 32, sse, &sum, vp9_get16x16var_sse2, 16); return *sse - (((int64_t)sum * sum) >> 11); }
unsigned int vpx_variance32x16_sse2(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, unsigned int *sse) { int sum; variance_sse2(src, src_stride, ref, ref_stride, 32, 16, sse, &sum, vpx_get16x16var_sse2, 16); return *sse - (((int64_t)sum * sum) >> 9); }
unsigned int vp9_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse) { unsigned int var; int avg; variance_sse2(src_ptr, source_stride, ref_ptr, recon_stride, 8, 4, &var, &avg, vp9_get4x4var_mmx, 4); *sse = var; return (var - (((unsigned int)avg * avg) >> 5)); }
unsigned int vp9_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse) { unsigned int var; int avg; variance_sse2(src_ptr, source_stride, ref_ptr, recon_stride, 32, 64, &var, &avg, vp9_get16x16var_sse2, 16); *sse = var; return (var - (((int64_t)avg * avg) >> 11)); }
unsigned int vp9_variance16x16_sse2 ( const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int recon_stride, unsigned int *sse) { unsigned int var; int avg; variance_sse2(src_ptr, source_stride, ref_ptr, recon_stride, 16, 16, &var, &avg, vp9_get16x16var_sse2, 16); *sse = var; return (var - (((unsigned int)avg * avg) >> 8)); }
unsigned int vp9_variance8x8_sse2 ( const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int recon_stride, unsigned int *sse) { unsigned int var; int avg; variance_sse2(src_ptr, source_stride, ref_ptr, recon_stride, 8, 8, &var, &avg, vp9_get8x8var_sse2, 8); *sse = var; return (var - (((unsigned int)avg * avg) >> 6)); }