media/libvpx/vp9/encoder/vp9_sad_c.c

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 /*
michael@0 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
michael@0 3 *
michael@0 4 * Use of this source code is governed by a BSD-style license
michael@0 5 * that can be found in the LICENSE file in the root of the source
michael@0 6 * tree. An additional intellectual property rights grant can be found
michael@0 7 * in the file PATENTS. All contributing project authors may
michael@0 8 * be found in the AUTHORS file in the root of the source tree.
michael@0 9 */
michael@0 10
michael@0 11
michael@0 12 #include <stdlib.h>
michael@0 13 #include "vp9/common/vp9_sadmxn.h"
michael@0 14 #include "vp9/encoder/vp9_variance.h"
michael@0 15 #include "./vpx_config.h"
michael@0 16 #include "vpx/vpx_integer.h"
michael@0 17 #include "./vp9_rtcd.h"
michael@0 18
michael@0 19 #define sad_mxn_func(m, n) \
michael@0 20 unsigned int vp9_sad##m##x##n##_c(const uint8_t *src_ptr, \
michael@0 21 int src_stride, \
michael@0 22 const uint8_t *ref_ptr, \
michael@0 23 int ref_stride, \
michael@0 24 unsigned int max_sad) { \
michael@0 25 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, m, n); \
michael@0 26 } \
michael@0 27 unsigned int vp9_sad##m##x##n##_avg_c(const uint8_t *src_ptr, \
michael@0 28 int src_stride, \
michael@0 29 const uint8_t *ref_ptr, \
michael@0 30 int ref_stride, \
michael@0 31 const uint8_t *second_pred, \
michael@0 32 unsigned int max_sad) { \
michael@0 33 uint8_t comp_pred[m * n]; \
michael@0 34 comp_avg_pred(comp_pred, second_pred, m, n, ref_ptr, ref_stride); \
michael@0 35 return sad_mx_n_c(src_ptr, src_stride, comp_pred, m, m, n); \
michael@0 36 }
michael@0 37
michael@0 38 sad_mxn_func(64, 64)
michael@0 39 sad_mxn_func(64, 32)
michael@0 40 sad_mxn_func(32, 64)
michael@0 41 sad_mxn_func(32, 32)
michael@0 42 sad_mxn_func(32, 16)
michael@0 43 sad_mxn_func(16, 32)
michael@0 44 sad_mxn_func(16, 16)
michael@0 45 sad_mxn_func(16, 8)
michael@0 46 sad_mxn_func(8, 16)
michael@0 47 sad_mxn_func(8, 8)
michael@0 48 sad_mxn_func(8, 4)
michael@0 49 sad_mxn_func(4, 8)
michael@0 50 sad_mxn_func(4, 4)
michael@0 51
michael@0 52 void vp9_sad64x32x4d_c(const uint8_t *src_ptr,
michael@0 53 int src_stride,
michael@0 54 const uint8_t* const ref_ptr[],
michael@0 55 int ref_stride,
michael@0 56 unsigned int *sad_array) {
michael@0 57 sad_array[0] = vp9_sad64x32(src_ptr, src_stride,
michael@0 58 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 59 sad_array[1] = vp9_sad64x32(src_ptr, src_stride,
michael@0 60 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 61 sad_array[2] = vp9_sad64x32(src_ptr, src_stride,
michael@0 62 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 63 sad_array[3] = vp9_sad64x32(src_ptr, src_stride,
michael@0 64 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 65 }
michael@0 66
michael@0 67 void vp9_sad32x64x4d_c(const uint8_t *src_ptr,
michael@0 68 int src_stride,
michael@0 69 const uint8_t* const ref_ptr[],
michael@0 70 int ref_stride,
michael@0 71 unsigned int *sad_array) {
michael@0 72 sad_array[0] = vp9_sad32x64(src_ptr, src_stride,
michael@0 73 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 74 sad_array[1] = vp9_sad32x64(src_ptr, src_stride,
michael@0 75 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 76 sad_array[2] = vp9_sad32x64(src_ptr, src_stride,
michael@0 77 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 78 sad_array[3] = vp9_sad32x64(src_ptr, src_stride,
michael@0 79 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 80 }
michael@0 81
michael@0 82 void vp9_sad32x16x4d_c(const uint8_t *src_ptr,
michael@0 83 int src_stride,
michael@0 84 const uint8_t* const ref_ptr[],
michael@0 85 int ref_stride,
michael@0 86 unsigned int *sad_array) {
michael@0 87 sad_array[0] = vp9_sad32x16(src_ptr, src_stride,
michael@0 88 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 89 sad_array[1] = vp9_sad32x16(src_ptr, src_stride,
michael@0 90 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 91 sad_array[2] = vp9_sad32x16(src_ptr, src_stride,
michael@0 92 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 93 sad_array[3] = vp9_sad32x16(src_ptr, src_stride,
michael@0 94 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 95 }
michael@0 96
michael@0 97 void vp9_sad16x32x4d_c(const uint8_t *src_ptr,
michael@0 98 int src_stride,
michael@0 99 const uint8_t* const ref_ptr[],
michael@0 100 int ref_stride,
michael@0 101 unsigned int *sad_array) {
michael@0 102 sad_array[0] = vp9_sad16x32(src_ptr, src_stride,
michael@0 103 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 104 sad_array[1] = vp9_sad16x32(src_ptr, src_stride,
michael@0 105 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 106 sad_array[2] = vp9_sad16x32(src_ptr, src_stride,
michael@0 107 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 108 sad_array[3] = vp9_sad16x32(src_ptr, src_stride,
michael@0 109 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 110 }
michael@0 111
michael@0 112 void vp9_sad64x64x3_c(const uint8_t *src_ptr,
michael@0 113 int src_stride,
michael@0 114 const uint8_t *ref_ptr,
michael@0 115 int ref_stride,
michael@0 116 unsigned int *sad_array) {
michael@0 117 sad_array[0] = vp9_sad64x64(src_ptr, src_stride, ref_ptr, ref_stride,
michael@0 118 0x7fffffff);
michael@0 119 sad_array[1] = vp9_sad64x64(src_ptr, src_stride, ref_ptr + 1, ref_stride,
michael@0 120 0x7fffffff);
michael@0 121 sad_array[2] = vp9_sad64x64(src_ptr, src_stride, ref_ptr + 2, ref_stride,
michael@0 122 0x7fffffff);
michael@0 123 }
michael@0 124
michael@0 125 void vp9_sad32x32x3_c(const uint8_t *src_ptr,
michael@0 126 int src_stride,
michael@0 127 const uint8_t *ref_ptr,
michael@0 128 int ref_stride,
michael@0 129 unsigned int *sad_array) {
michael@0 130 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
michael@0 131 ref_ptr, ref_stride, 0x7fffffff);
michael@0 132 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
michael@0 133 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 134 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
michael@0 135 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 136 }
michael@0 137
michael@0 138 void vp9_sad64x64x8_c(const uint8_t *src_ptr,
michael@0 139 int src_stride,
michael@0 140 const uint8_t *ref_ptr,
michael@0 141 int ref_stride,
michael@0 142 unsigned int *sad_array) {
michael@0 143 sad_array[0] = vp9_sad64x64(src_ptr, src_stride,
michael@0 144 ref_ptr, ref_stride,
michael@0 145 0x7fffffff);
michael@0 146 sad_array[1] = vp9_sad64x64(src_ptr, src_stride,
michael@0 147 ref_ptr + 1, ref_stride,
michael@0 148 0x7fffffff);
michael@0 149 sad_array[2] = vp9_sad64x64(src_ptr, src_stride,
michael@0 150 ref_ptr + 2, ref_stride,
michael@0 151 0x7fffffff);
michael@0 152 sad_array[3] = vp9_sad64x64(src_ptr, src_stride,
michael@0 153 ref_ptr + 3, ref_stride,
michael@0 154 0x7fffffff);
michael@0 155 sad_array[4] = vp9_sad64x64(src_ptr, src_stride,
michael@0 156 ref_ptr + 4, ref_stride,
michael@0 157 0x7fffffff);
michael@0 158 sad_array[5] = vp9_sad64x64(src_ptr, src_stride,
michael@0 159 ref_ptr + 5, ref_stride,
michael@0 160 0x7fffffff);
michael@0 161 sad_array[6] = vp9_sad64x64(src_ptr, src_stride,
michael@0 162 ref_ptr + 6, ref_stride,
michael@0 163 0x7fffffff);
michael@0 164 sad_array[7] = vp9_sad64x64(src_ptr, src_stride,
michael@0 165 ref_ptr + 7, ref_stride,
michael@0 166 0x7fffffff);
michael@0 167 }
michael@0 168
michael@0 169 void vp9_sad32x32x8_c(const uint8_t *src_ptr,
michael@0 170 int src_stride,
michael@0 171 const uint8_t *ref_ptr,
michael@0 172 int ref_stride,
michael@0 173 unsigned int *sad_array) {
michael@0 174 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
michael@0 175 ref_ptr, ref_stride,
michael@0 176 0x7fffffff);
michael@0 177 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
michael@0 178 ref_ptr + 1, ref_stride,
michael@0 179 0x7fffffff);
michael@0 180 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
michael@0 181 ref_ptr + 2, ref_stride,
michael@0 182 0x7fffffff);
michael@0 183 sad_array[3] = vp9_sad32x32(src_ptr, src_stride,
michael@0 184 ref_ptr + 3, ref_stride,
michael@0 185 0x7fffffff);
michael@0 186 sad_array[4] = vp9_sad32x32(src_ptr, src_stride,
michael@0 187 ref_ptr + 4, ref_stride,
michael@0 188 0x7fffffff);
michael@0 189 sad_array[5] = vp9_sad32x32(src_ptr, src_stride,
michael@0 190 ref_ptr + 5, ref_stride,
michael@0 191 0x7fffffff);
michael@0 192 sad_array[6] = vp9_sad32x32(src_ptr, src_stride,
michael@0 193 ref_ptr + 6, ref_stride,
michael@0 194 0x7fffffff);
michael@0 195 sad_array[7] = vp9_sad32x32(src_ptr, src_stride,
michael@0 196 ref_ptr + 7, ref_stride,
michael@0 197 0x7fffffff);
michael@0 198 }
michael@0 199
michael@0 200 void vp9_sad16x16x3_c(const uint8_t *src_ptr,
michael@0 201 int src_stride,
michael@0 202 const uint8_t *ref_ptr,
michael@0 203 int ref_stride,
michael@0 204 unsigned int *sad_array) {
michael@0 205 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
michael@0 206 ref_ptr, ref_stride, 0x7fffffff);
michael@0 207 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
michael@0 208 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 209 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
michael@0 210 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 211 }
michael@0 212
michael@0 213 void vp9_sad16x16x8_c(const uint8_t *src_ptr,
michael@0 214 int src_stride,
michael@0 215 const uint8_t *ref_ptr,
michael@0 216 int ref_stride,
michael@0 217 uint32_t *sad_array) {
michael@0 218 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
michael@0 219 ref_ptr, ref_stride,
michael@0 220 0x7fffffff);
michael@0 221 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
michael@0 222 ref_ptr + 1, ref_stride,
michael@0 223 0x7fffffff);
michael@0 224 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
michael@0 225 ref_ptr + 2, ref_stride,
michael@0 226 0x7fffffff);
michael@0 227 sad_array[3] = vp9_sad16x16(src_ptr, src_stride,
michael@0 228 ref_ptr + 3, ref_stride,
michael@0 229 0x7fffffff);
michael@0 230 sad_array[4] = vp9_sad16x16(src_ptr, src_stride,
michael@0 231 ref_ptr + 4, ref_stride,
michael@0 232 0x7fffffff);
michael@0 233 sad_array[5] = vp9_sad16x16(src_ptr, src_stride,
michael@0 234 ref_ptr + 5, ref_stride,
michael@0 235 0x7fffffff);
michael@0 236 sad_array[6] = vp9_sad16x16(src_ptr, src_stride,
michael@0 237 ref_ptr + 6, ref_stride,
michael@0 238 0x7fffffff);
michael@0 239 sad_array[7] = vp9_sad16x16(src_ptr, src_stride,
michael@0 240 ref_ptr + 7, ref_stride,
michael@0 241 0x7fffffff);
michael@0 242 }
michael@0 243
michael@0 244 void vp9_sad16x8x3_c(const uint8_t *src_ptr,
michael@0 245 int src_stride,
michael@0 246 const uint8_t *ref_ptr,
michael@0 247 int ref_stride,
michael@0 248 unsigned int *sad_array) {
michael@0 249 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
michael@0 250 ref_ptr, ref_stride, 0x7fffffff);
michael@0 251 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
michael@0 252 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 253 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
michael@0 254 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 255 }
michael@0 256
michael@0 257 void vp9_sad16x8x8_c(const uint8_t *src_ptr,
michael@0 258 int src_stride,
michael@0 259 const uint8_t *ref_ptr,
michael@0 260 int ref_stride,
michael@0 261 uint32_t *sad_array) {
michael@0 262 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
michael@0 263 ref_ptr, ref_stride,
michael@0 264 0x7fffffff);
michael@0 265 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
michael@0 266 ref_ptr + 1, ref_stride,
michael@0 267 0x7fffffff);
michael@0 268 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
michael@0 269 ref_ptr + 2, ref_stride,
michael@0 270 0x7fffffff);
michael@0 271 sad_array[3] = vp9_sad16x8(src_ptr, src_stride,
michael@0 272 ref_ptr + 3, ref_stride,
michael@0 273 0x7fffffff);
michael@0 274 sad_array[4] = vp9_sad16x8(src_ptr, src_stride,
michael@0 275 ref_ptr + 4, ref_stride,
michael@0 276 0x7fffffff);
michael@0 277 sad_array[5] = vp9_sad16x8(src_ptr, src_stride,
michael@0 278 ref_ptr + 5, ref_stride,
michael@0 279 0x7fffffff);
michael@0 280 sad_array[6] = vp9_sad16x8(src_ptr, src_stride,
michael@0 281 ref_ptr + 6, ref_stride,
michael@0 282 0x7fffffff);
michael@0 283 sad_array[7] = vp9_sad16x8(src_ptr, src_stride,
michael@0 284 ref_ptr + 7, ref_stride,
michael@0 285 0x7fffffff);
michael@0 286 }
michael@0 287
michael@0 288 void vp9_sad8x8x3_c(const uint8_t *src_ptr,
michael@0 289 int src_stride,
michael@0 290 const uint8_t *ref_ptr,
michael@0 291 int ref_stride,
michael@0 292 unsigned int *sad_array) {
michael@0 293 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
michael@0 294 ref_ptr, ref_stride, 0x7fffffff);
michael@0 295 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
michael@0 296 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 297 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
michael@0 298 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 299 }
michael@0 300
michael@0 301 void vp9_sad8x8x8_c(const uint8_t *src_ptr,
michael@0 302 int src_stride,
michael@0 303 const uint8_t *ref_ptr,
michael@0 304 int ref_stride,
michael@0 305 uint32_t *sad_array) {
michael@0 306 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
michael@0 307 ref_ptr, ref_stride,
michael@0 308 0x7fffffff);
michael@0 309 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
michael@0 310 ref_ptr + 1, ref_stride,
michael@0 311 0x7fffffff);
michael@0 312 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
michael@0 313 ref_ptr + 2, ref_stride,
michael@0 314 0x7fffffff);
michael@0 315 sad_array[3] = vp9_sad8x8(src_ptr, src_stride,
michael@0 316 ref_ptr + 3, ref_stride,
michael@0 317 0x7fffffff);
michael@0 318 sad_array[4] = vp9_sad8x8(src_ptr, src_stride,
michael@0 319 ref_ptr + 4, ref_stride,
michael@0 320 0x7fffffff);
michael@0 321 sad_array[5] = vp9_sad8x8(src_ptr, src_stride,
michael@0 322 ref_ptr + 5, ref_stride,
michael@0 323 0x7fffffff);
michael@0 324 sad_array[6] = vp9_sad8x8(src_ptr, src_stride,
michael@0 325 ref_ptr + 6, ref_stride,
michael@0 326 0x7fffffff);
michael@0 327 sad_array[7] = vp9_sad8x8(src_ptr, src_stride,
michael@0 328 ref_ptr + 7, ref_stride,
michael@0 329 0x7fffffff);
michael@0 330 }
michael@0 331
michael@0 332 void vp9_sad8x16x3_c(const uint8_t *src_ptr,
michael@0 333 int src_stride,
michael@0 334 const uint8_t *ref_ptr,
michael@0 335 int ref_stride,
michael@0 336 unsigned int *sad_array) {
michael@0 337 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
michael@0 338 ref_ptr, ref_stride, 0x7fffffff);
michael@0 339 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
michael@0 340 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 341 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
michael@0 342 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 343 }
michael@0 344
michael@0 345 void vp9_sad8x16x8_c(const uint8_t *src_ptr,
michael@0 346 int src_stride,
michael@0 347 const uint8_t *ref_ptr,
michael@0 348 int ref_stride,
michael@0 349 uint32_t *sad_array) {
michael@0 350 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
michael@0 351 ref_ptr, ref_stride,
michael@0 352 0x7fffffff);
michael@0 353 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
michael@0 354 ref_ptr + 1, ref_stride,
michael@0 355 0x7fffffff);
michael@0 356 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
michael@0 357 ref_ptr + 2, ref_stride,
michael@0 358 0x7fffffff);
michael@0 359 sad_array[3] = vp9_sad8x16(src_ptr, src_stride,
michael@0 360 ref_ptr + 3, ref_stride,
michael@0 361 0x7fffffff);
michael@0 362 sad_array[4] = vp9_sad8x16(src_ptr, src_stride,
michael@0 363 ref_ptr + 4, ref_stride,
michael@0 364 0x7fffffff);
michael@0 365 sad_array[5] = vp9_sad8x16(src_ptr, src_stride,
michael@0 366 ref_ptr + 5, ref_stride,
michael@0 367 0x7fffffff);
michael@0 368 sad_array[6] = vp9_sad8x16(src_ptr, src_stride,
michael@0 369 ref_ptr + 6, ref_stride,
michael@0 370 0x7fffffff);
michael@0 371 sad_array[7] = vp9_sad8x16(src_ptr, src_stride,
michael@0 372 ref_ptr + 7, ref_stride,
michael@0 373 0x7fffffff);
michael@0 374 }
michael@0 375
michael@0 376 void vp9_sad4x4x3_c(const uint8_t *src_ptr,
michael@0 377 int src_stride,
michael@0 378 const uint8_t *ref_ptr,
michael@0 379 int ref_stride,
michael@0 380 unsigned int *sad_array) {
michael@0 381 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
michael@0 382 ref_ptr, ref_stride, 0x7fffffff);
michael@0 383 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
michael@0 384 ref_ptr + 1, ref_stride, 0x7fffffff);
michael@0 385 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
michael@0 386 ref_ptr + 2, ref_stride, 0x7fffffff);
michael@0 387 }
michael@0 388
michael@0 389 void vp9_sad4x4x8_c(const uint8_t *src_ptr,
michael@0 390 int src_stride,
michael@0 391 const uint8_t *ref_ptr,
michael@0 392 int ref_stride,
michael@0 393 uint32_t *sad_array) {
michael@0 394 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
michael@0 395 ref_ptr, ref_stride,
michael@0 396 0x7fffffff);
michael@0 397 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
michael@0 398 ref_ptr + 1, ref_stride,
michael@0 399 0x7fffffff);
michael@0 400 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
michael@0 401 ref_ptr + 2, ref_stride,
michael@0 402 0x7fffffff);
michael@0 403 sad_array[3] = vp9_sad4x4(src_ptr, src_stride,
michael@0 404 ref_ptr + 3, ref_stride,
michael@0 405 0x7fffffff);
michael@0 406 sad_array[4] = vp9_sad4x4(src_ptr, src_stride,
michael@0 407 ref_ptr + 4, ref_stride,
michael@0 408 0x7fffffff);
michael@0 409 sad_array[5] = vp9_sad4x4(src_ptr, src_stride,
michael@0 410 ref_ptr + 5, ref_stride,
michael@0 411 0x7fffffff);
michael@0 412 sad_array[6] = vp9_sad4x4(src_ptr, src_stride,
michael@0 413 ref_ptr + 6, ref_stride,
michael@0 414 0x7fffffff);
michael@0 415 sad_array[7] = vp9_sad4x4(src_ptr, src_stride,
michael@0 416 ref_ptr + 7, ref_stride,
michael@0 417 0x7fffffff);
michael@0 418 }
michael@0 419
michael@0 420 void vp9_sad64x64x4d_c(const uint8_t *src_ptr,
michael@0 421 int src_stride,
michael@0 422 const uint8_t* const ref_ptr[],
michael@0 423 int ref_stride,
michael@0 424 unsigned int *sad_array) {
michael@0 425 sad_array[0] = vp9_sad64x64(src_ptr, src_stride,
michael@0 426 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 427 sad_array[1] = vp9_sad64x64(src_ptr, src_stride,
michael@0 428 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 429 sad_array[2] = vp9_sad64x64(src_ptr, src_stride,
michael@0 430 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 431 sad_array[3] = vp9_sad64x64(src_ptr, src_stride,
michael@0 432 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 433 }
michael@0 434
michael@0 435 void vp9_sad32x32x4d_c(const uint8_t *src_ptr,
michael@0 436 int src_stride,
michael@0 437 const uint8_t* const ref_ptr[],
michael@0 438 int ref_stride,
michael@0 439 unsigned int *sad_array) {
michael@0 440 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
michael@0 441 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 442 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
michael@0 443 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 444 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
michael@0 445 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 446 sad_array[3] = vp9_sad32x32(src_ptr, src_stride,
michael@0 447 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 448 }
michael@0 449
michael@0 450 void vp9_sad16x16x4d_c(const uint8_t *src_ptr,
michael@0 451 int src_stride,
michael@0 452 const uint8_t* const ref_ptr[],
michael@0 453 int ref_stride,
michael@0 454 unsigned int *sad_array) {
michael@0 455 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
michael@0 456 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 457 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
michael@0 458 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 459 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
michael@0 460 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 461 sad_array[3] = vp9_sad16x16(src_ptr, src_stride,
michael@0 462 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 463 }
michael@0 464
michael@0 465 void vp9_sad16x8x4d_c(const uint8_t *src_ptr,
michael@0 466 int src_stride,
michael@0 467 const uint8_t* const ref_ptr[],
michael@0 468 int ref_stride,
michael@0 469 unsigned int *sad_array) {
michael@0 470 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
michael@0 471 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 472 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
michael@0 473 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 474 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
michael@0 475 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 476 sad_array[3] = vp9_sad16x8(src_ptr, src_stride,
michael@0 477 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 478 }
michael@0 479
michael@0 480 void vp9_sad8x8x4d_c(const uint8_t *src_ptr,
michael@0 481 int src_stride,
michael@0 482 const uint8_t* const ref_ptr[],
michael@0 483 int ref_stride,
michael@0 484 unsigned int *sad_array) {
michael@0 485 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
michael@0 486 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 487 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
michael@0 488 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 489 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
michael@0 490 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 491 sad_array[3] = vp9_sad8x8(src_ptr, src_stride,
michael@0 492 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 493 }
michael@0 494
michael@0 495 void vp9_sad8x16x4d_c(const uint8_t *src_ptr,
michael@0 496 int src_stride,
michael@0 497 const uint8_t* const ref_ptr[],
michael@0 498 int ref_stride,
michael@0 499 unsigned int *sad_array) {
michael@0 500 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
michael@0 501 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 502 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
michael@0 503 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 504 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
michael@0 505 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 506 sad_array[3] = vp9_sad8x16(src_ptr, src_stride,
michael@0 507 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 508 }
michael@0 509
michael@0 510 void vp9_sad8x4x4d_c(const uint8_t *src_ptr,
michael@0 511 int src_stride,
michael@0 512 const uint8_t* const ref_ptr[],
michael@0 513 int ref_stride,
michael@0 514 unsigned int *sad_array) {
michael@0 515 sad_array[0] = vp9_sad8x4(src_ptr, src_stride,
michael@0 516 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 517 sad_array[1] = vp9_sad8x4(src_ptr, src_stride,
michael@0 518 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 519 sad_array[2] = vp9_sad8x4(src_ptr, src_stride,
michael@0 520 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 521 sad_array[3] = vp9_sad8x4(src_ptr, src_stride,
michael@0 522 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 523 }
michael@0 524
michael@0 525 void vp9_sad8x4x8_c(const uint8_t *src_ptr,
michael@0 526 int src_stride,
michael@0 527 const uint8_t *ref_ptr,
michael@0 528 int ref_stride,
michael@0 529 uint32_t *sad_array) {
michael@0 530 sad_array[0] = vp9_sad8x4(src_ptr, src_stride,
michael@0 531 ref_ptr, ref_stride,
michael@0 532 0x7fffffff);
michael@0 533 sad_array[1] = vp9_sad8x4(src_ptr, src_stride,
michael@0 534 ref_ptr + 1, ref_stride,
michael@0 535 0x7fffffff);
michael@0 536 sad_array[2] = vp9_sad8x4(src_ptr, src_stride,
michael@0 537 ref_ptr + 2, ref_stride,
michael@0 538 0x7fffffff);
michael@0 539 sad_array[3] = vp9_sad8x4(src_ptr, src_stride,
michael@0 540 ref_ptr + 3, ref_stride,
michael@0 541 0x7fffffff);
michael@0 542 sad_array[4] = vp9_sad8x4(src_ptr, src_stride,
michael@0 543 ref_ptr + 4, ref_stride,
michael@0 544 0x7fffffff);
michael@0 545 sad_array[5] = vp9_sad8x4(src_ptr, src_stride,
michael@0 546 ref_ptr + 5, ref_stride,
michael@0 547 0x7fffffff);
michael@0 548 sad_array[6] = vp9_sad8x4(src_ptr, src_stride,
michael@0 549 ref_ptr + 6, ref_stride,
michael@0 550 0x7fffffff);
michael@0 551 sad_array[7] = vp9_sad8x4(src_ptr, src_stride,
michael@0 552 ref_ptr + 7, ref_stride,
michael@0 553 0x7fffffff);
michael@0 554 }
michael@0 555
michael@0 556 void vp9_sad4x8x4d_c(const uint8_t *src_ptr,
michael@0 557 int src_stride,
michael@0 558 const uint8_t* const ref_ptr[],
michael@0 559 int ref_stride,
michael@0 560 unsigned int *sad_array) {
michael@0 561 sad_array[0] = vp9_sad4x8(src_ptr, src_stride,
michael@0 562 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 563 sad_array[1] = vp9_sad4x8(src_ptr, src_stride,
michael@0 564 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 565 sad_array[2] = vp9_sad4x8(src_ptr, src_stride,
michael@0 566 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 567 sad_array[3] = vp9_sad4x8(src_ptr, src_stride,
michael@0 568 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 569 }
michael@0 570
michael@0 571 void vp9_sad4x8x8_c(const uint8_t *src_ptr,
michael@0 572 int src_stride,
michael@0 573 const uint8_t *ref_ptr,
michael@0 574 int ref_stride,
michael@0 575 uint32_t *sad_array) {
michael@0 576 sad_array[0] = vp9_sad4x8(src_ptr, src_stride,
michael@0 577 ref_ptr, ref_stride,
michael@0 578 0x7fffffff);
michael@0 579 sad_array[1] = vp9_sad4x8(src_ptr, src_stride,
michael@0 580 ref_ptr + 1, ref_stride,
michael@0 581 0x7fffffff);
michael@0 582 sad_array[2] = vp9_sad4x8(src_ptr, src_stride,
michael@0 583 ref_ptr + 2, ref_stride,
michael@0 584 0x7fffffff);
michael@0 585 sad_array[3] = vp9_sad4x8(src_ptr, src_stride,
michael@0 586 ref_ptr + 3, ref_stride,
michael@0 587 0x7fffffff);
michael@0 588 sad_array[4] = vp9_sad4x8(src_ptr, src_stride,
michael@0 589 ref_ptr + 4, ref_stride,
michael@0 590 0x7fffffff);
michael@0 591 sad_array[5] = vp9_sad4x8(src_ptr, src_stride,
michael@0 592 ref_ptr + 5, ref_stride,
michael@0 593 0x7fffffff);
michael@0 594 sad_array[6] = vp9_sad4x8(src_ptr, src_stride,
michael@0 595 ref_ptr + 6, ref_stride,
michael@0 596 0x7fffffff);
michael@0 597 sad_array[7] = vp9_sad4x8(src_ptr, src_stride,
michael@0 598 ref_ptr + 7, ref_stride,
michael@0 599 0x7fffffff);
michael@0 600 }
michael@0 601
michael@0 602 void vp9_sad4x4x4d_c(const uint8_t *src_ptr,
michael@0 603 int src_stride,
michael@0 604 const uint8_t* const ref_ptr[],
michael@0 605 int ref_stride,
michael@0 606 unsigned int *sad_array) {
michael@0 607 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
michael@0 608 ref_ptr[0], ref_stride, 0x7fffffff);
michael@0 609 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
michael@0 610 ref_ptr[1], ref_stride, 0x7fffffff);
michael@0 611 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
michael@0 612 ref_ptr[2], ref_stride, 0x7fffffff);
michael@0 613 sad_array[3] = vp9_sad4x4(src_ptr, src_stride,
michael@0 614 ref_ptr[3], ref_stride, 0x7fffffff);
michael@0 615 }

mercurial