示例#1
0
static void highbd_8_variance(const uint8_t *a8, int  a_stride,
                              const uint8_t *b8, int  b_stride,
                              int w, int h, uint32_t *sse, int *sum) {
  uint64_t sse_long = 0;
  highbd_variance64(a8, a_stride, b8, b_stride, w, h, &sse_long, sum);
  *sse = (uint32_t)sse_long;
}
示例#2
0
static void highbd_12_variance(const uint8_t *a8, int  a_stride,
                               const uint8_t *b8, int  b_stride,
                               int w, int h, uint32_t *sse, int *sum) {
  uint64_t sse_long = 0;
  highbd_variance64(a8, a_stride, b8, b_stride, w, h, &sse_long, sum);
  *sse = (uint32_t)ROUND_ZERO_POWER_OF_TWO(sse_long, 8);
  *sum = ROUND_ZERO_POWER_OF_TWO(*sum, 4);
}
示例#3
0
static void highbd_10_variance(const uint8_t *a8, int  a_stride,
                               const uint8_t *b8, int  b_stride,
                               int w, int h, uint32_t *sse, int *sum) {
  uint64_t sse_long = 0;
  int64_t sum_long = 0;
  highbd_variance64(a8, a_stride, b8, b_stride, w, h, &sse_long, &sum_long);
  *sse = (uint32_t)ROUND_POWER_OF_TWO(sse_long, 4);
  *sum = (int)ROUND_POWER_OF_TWO(sum_long, 2);
}
示例#4
0
void highbd_12_variance(const uint8_t *a8, int  a_stride,
                        const uint8_t *b8, int  b_stride,
                        int w, int h, unsigned int *sse,
                        int *sum) {
  uint64_t sse_long = 0;
  uint64_t sum_long = 0;
  highbd_variance64(a8, a_stride, b8, b_stride, w, h, &sse_long, &sum_long);
  *sum = (int)ROUND_POWER_OF_TWO(sum_long, 4);
  *sse = (unsigned int)ROUND_POWER_OF_TWO(sse_long, 8);
}
示例#5
0
void highbd_variance(const uint8_t *a8, int  a_stride,
                     const uint8_t *b8, int  b_stride,
                     int w, int h, unsigned int *sse,
                     int *sum) {
  uint64_t sse_long = 0;
  uint64_t sum_long = 0;
  highbd_variance64(a8, a_stride, b8, b_stride, w, h, &sse_long, &sum_long);
  *sse = (unsigned int)sse_long;
  *sum = (int)sum_long;
}