| OLD | NEW |
| 1 sub vp9_common_forward_decls() { | 1 sub vp9_common_forward_decls() { |
| 2 print <<EOF | 2 print <<EOF |
| 3 /* | 3 /* |
| 4 * VP9 | 4 * VP9 |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #include "vpx/vpx_integer.h" | 7 #include "vpx/vpx_integer.h" |
| 8 #include "vp9/common/vp9_enums.h" | 8 #include "vp9/common/vp9_enums.h" |
| 9 | 9 |
| 10 struct macroblockd; | 10 struct macroblockd; |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 # | 298 # |
| 299 add_proto qw/void vp9_convolve_copy/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; | 299 add_proto qw/void vp9_convolve_copy/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; |
| 300 specialize qw/vp9_convolve_copy neon_asm dspr2/, "$sse2_x86inc"; | 300 specialize qw/vp9_convolve_copy neon_asm dspr2/, "$sse2_x86inc"; |
| 301 $vp9_convolve_copy_neon_asm=vp9_convolve_copy_neon; | 301 $vp9_convolve_copy_neon_asm=vp9_convolve_copy_neon; |
| 302 | 302 |
| 303 add_proto qw/void vp9_convolve_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, cons
t int16_t *filter_y, int y_step_q4, int w, int h"; | 303 add_proto qw/void vp9_convolve_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, cons
t int16_t *filter_y, int y_step_q4, int w, int h"; |
| 304 specialize qw/vp9_convolve_avg neon_asm dspr2/, "$sse2_x86inc"; | 304 specialize qw/vp9_convolve_avg neon_asm dspr2/, "$sse2_x86inc"; |
| 305 $vp9_convolve_avg_neon_asm=vp9_convolve_avg_neon; | 305 $vp9_convolve_avg_neon_asm=vp9_convolve_avg_neon; |
| 306 | 306 |
| 307 add_proto qw/void vp9_convolve8/, "const uint8_t *src, ptrdiff_t src_stride, uin
t8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const i
nt16_t *filter_y, int y_step_q4, int w, int h"; | 307 add_proto qw/void vp9_convolve8/, "const uint8_t *src, ptrdiff_t src_stride, uin
t8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const i
nt16_t *filter_y, int y_step_q4, int w, int h"; |
| 308 specialize qw/vp9_convolve8 sse2 ssse3 avx2 neon_asm dspr2/; | 308 specialize qw/vp9_convolve8 sse2 ssse3 neon_asm dspr2/; |
| 309 $vp9_convolve8_neon_asm=vp9_convolve8_neon; | 309 $vp9_convolve8_neon_asm=vp9_convolve8_neon; |
| 310 | 310 |
| 311 add_proto qw/void vp9_convolve8_horiz/, "const uint8_t *src, ptrdiff_t src_strid
e, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, c
onst int16_t *filter_y, int y_step_q4, int w, int h"; | 311 add_proto qw/void vp9_convolve8_horiz/, "const uint8_t *src, ptrdiff_t src_strid
e, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, c
onst int16_t *filter_y, int y_step_q4, int w, int h"; |
| 312 specialize qw/vp9_convolve8_horiz sse2 ssse3 avx2 neon_asm dspr2/; | 312 specialize qw/vp9_convolve8_horiz sse2 ssse3 neon_asm dspr2/; |
| 313 $vp9_convolve8_horiz_neon_asm=vp9_convolve8_horiz_neon; | 313 $vp9_convolve8_horiz_neon_asm=vp9_convolve8_horiz_neon; |
| 314 | 314 |
| 315 add_proto qw/void vp9_convolve8_vert/, "const uint8_t *src, ptrdiff_t src_stride
, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, co
nst int16_t *filter_y, int y_step_q4, int w, int h"; | 315 add_proto qw/void vp9_convolve8_vert/, "const uint8_t *src, ptrdiff_t src_stride
, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, co
nst int16_t *filter_y, int y_step_q4, int w, int h"; |
| 316 specialize qw/vp9_convolve8_vert sse2 ssse3 avx2 neon_asm dspr2/; | 316 specialize qw/vp9_convolve8_vert sse2 ssse3 neon_asm dspr2/; |
| 317 $vp9_convolve8_vert_neon_asm=vp9_convolve8_vert_neon; | 317 $vp9_convolve8_vert_neon_asm=vp9_convolve8_vert_neon; |
| 318 | 318 |
| 319 add_proto qw/void vp9_convolve8_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; | 319 add_proto qw/void vp9_convolve8_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; |
| 320 specialize qw/vp9_convolve8_avg sse2 ssse3 neon_asm dspr2/; | 320 specialize qw/vp9_convolve8_avg sse2 ssse3 neon_asm dspr2/; |
| 321 $vp9_convolve8_avg_neon_asm=vp9_convolve8_avg_neon; | 321 $vp9_convolve8_avg_neon_asm=vp9_convolve8_avg_neon; |
| 322 | 322 |
| 323 add_proto qw/void vp9_convolve8_avg_horiz/, "const uint8_t *src, ptrdiff_t src_s
tride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q
4, const int16_t *filter_y, int y_step_q4, int w, int h"; | 323 add_proto qw/void vp9_convolve8_avg_horiz/, "const uint8_t *src, ptrdiff_t src_s
tride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q
4, const int16_t *filter_y, int y_step_q4, int w, int h"; |
| 324 specialize qw/vp9_convolve8_avg_horiz sse2 ssse3 neon_asm dspr2/; | 324 specialize qw/vp9_convolve8_avg_horiz sse2 ssse3 neon_asm dspr2/; |
| 325 $vp9_convolve8_avg_horiz_neon_asm=vp9_convolve8_avg_horiz_neon; | 325 $vp9_convolve8_avg_horiz_neon_asm=vp9_convolve8_avg_horiz_neon; |
| 326 | 326 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 349 | 349 |
| 350 add_proto qw/void vp9_idct8x8_12_add/, "const int16_t *input, uint8_t *dest, int
dest_stride"; | 350 add_proto qw/void vp9_idct8x8_12_add/, "const int16_t *input, uint8_t *dest, int
dest_stride"; |
| 351 specialize qw/vp9_idct8x8_12_add sse2 neon_asm dspr2/, "$ssse3_x86_64"; | 351 specialize qw/vp9_idct8x8_12_add sse2 neon_asm dspr2/, "$ssse3_x86_64"; |
| 352 $vp9_idct8x8_12_add_neon_asm=vp9_idct8x8_12_add_neon; | 352 $vp9_idct8x8_12_add_neon_asm=vp9_idct8x8_12_add_neon; |
| 353 | 353 |
| 354 add_proto qw/void vp9_idct16x16_1_add/, "const int16_t *input, uint8_t *dest, in
t dest_stride"; | 354 add_proto qw/void vp9_idct16x16_1_add/, "const int16_t *input, uint8_t *dest, in
t dest_stride"; |
| 355 specialize qw/vp9_idct16x16_1_add sse2 neon_asm dspr2/; | 355 specialize qw/vp9_idct16x16_1_add sse2 neon_asm dspr2/; |
| 356 $vp9_idct16x16_1_add_neon_asm=vp9_idct16x16_1_add_neon; | 356 $vp9_idct16x16_1_add_neon_asm=vp9_idct16x16_1_add_neon; |
| 357 | 357 |
| 358 add_proto qw/void vp9_idct16x16_256_add/, "const int16_t *input, uint8_t *dest,
int dest_stride"; | 358 add_proto qw/void vp9_idct16x16_256_add/, "const int16_t *input, uint8_t *dest,
int dest_stride"; |
| 359 specialize qw/vp9_idct16x16_256_add sse2 neon_asm dspr2/; | 359 specialize qw/vp9_idct16x16_256_add sse2 ssse3 neon_asm dspr2/; |
| 360 $vp9_idct16x16_256_add_neon_asm=vp9_idct16x16_256_add_neon; | 360 $vp9_idct16x16_256_add_neon_asm=vp9_idct16x16_256_add_neon; |
| 361 | 361 |
| 362 add_proto qw/void vp9_idct16x16_10_add/, "const int16_t *input, uint8_t *dest, i
nt dest_stride"; | 362 add_proto qw/void vp9_idct16x16_10_add/, "const int16_t *input, uint8_t *dest, i
nt dest_stride"; |
| 363 specialize qw/vp9_idct16x16_10_add sse2 neon_asm dspr2/; | 363 specialize qw/vp9_idct16x16_10_add sse2 ssse3 neon_asm dspr2/; |
| 364 $vp9_idct16x16_10_add_neon_asm=vp9_idct16x16_10_add_neon; | 364 $vp9_idct16x16_10_add_neon_asm=vp9_idct16x16_10_add_neon; |
| 365 | 365 |
| 366 add_proto qw/void vp9_idct32x32_1024_add/, "const int16_t *input, uint8_t *dest,
int dest_stride"; | 366 add_proto qw/void vp9_idct32x32_1024_add/, "const int16_t *input, uint8_t *dest,
int dest_stride"; |
| 367 specialize qw/vp9_idct32x32_1024_add sse2 neon_asm dspr2/; | 367 specialize qw/vp9_idct32x32_1024_add sse2 neon_asm dspr2/; |
| 368 $vp9_idct32x32_1024_add_neon_asm=vp9_idct32x32_1024_add_neon; | 368 $vp9_idct32x32_1024_add_neon_asm=vp9_idct32x32_1024_add_neon; |
| 369 | 369 |
| 370 add_proto qw/void vp9_idct32x32_34_add/, "const int16_t *input, uint8_t *dest, i
nt dest_stride"; | 370 add_proto qw/void vp9_idct32x32_34_add/, "const int16_t *input, uint8_t *dest, i
nt dest_stride"; |
| 371 specialize qw/vp9_idct32x32_34_add sse2 neon_asm dspr2/; | 371 specialize qw/vp9_idct32x32_34_add sse2 neon_asm dspr2/; |
| 372 $vp9_idct32x32_34_add_neon_asm=vp9_idct32x32_1024_add_neon; | 372 $vp9_idct32x32_34_add_neon_asm=vp9_idct32x32_1024_add_neon; |
| 373 | 373 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 395 specialize qw/vp9_iwht4x4_16_add/; | 395 specialize qw/vp9_iwht4x4_16_add/; |
| 396 | 396 |
| 397 # | 397 # |
| 398 # Encoder functions below this point. | 398 # Encoder functions below this point. |
| 399 # | 399 # |
| 400 if (vpx_config("CONFIG_VP9_ENCODER") eq "yes") { | 400 if (vpx_config("CONFIG_VP9_ENCODER") eq "yes") { |
| 401 | 401 |
| 402 | 402 |
| 403 # variance | 403 # variance |
| 404 add_proto qw/unsigned int vp9_variance32x16/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 404 add_proto qw/unsigned int vp9_variance32x16/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 405 specialize qw/vp9_variance32x16/, "$sse2_x86inc", "$avx2_x86inc"; | 405 specialize qw/vp9_variance32x16 avx2/, "$sse2_x86inc"; |
| 406 | 406 |
| 407 add_proto qw/unsigned int vp9_variance16x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 407 add_proto qw/unsigned int vp9_variance16x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 408 specialize qw/vp9_variance16x32/, "$sse2_x86inc"; | 408 specialize qw/vp9_variance16x32/, "$sse2_x86inc"; |
| 409 | 409 |
| 410 add_proto qw/unsigned int vp9_variance64x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 410 add_proto qw/unsigned int vp9_variance64x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 411 specialize qw/vp9_variance64x32/, "$sse2_x86inc", "$avx2_x86inc"; | 411 specialize qw/vp9_variance64x32 avx2/, "$sse2_x86inc"; |
| 412 | 412 |
| 413 add_proto qw/unsigned int vp9_variance32x64/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 413 add_proto qw/unsigned int vp9_variance32x64/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 414 specialize qw/vp9_variance32x64/, "$sse2_x86inc"; | 414 specialize qw/vp9_variance32x64/, "$sse2_x86inc"; |
| 415 | 415 |
| 416 add_proto qw/unsigned int vp9_variance32x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 416 add_proto qw/unsigned int vp9_variance32x32/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 417 specialize qw/vp9_variance32x32/, "$sse2_x86inc", "$avx2_x86inc"; | 417 specialize qw/vp9_variance32x32 avx2/, "$sse2_x86inc"; |
| 418 | 418 |
| 419 add_proto qw/unsigned int vp9_variance64x64/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 419 add_proto qw/unsigned int vp9_variance64x64/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 420 specialize qw/vp9_variance64x64/, "$sse2_x86inc", "$avx2_x86inc"; | 420 specialize qw/vp9_variance64x64 avx2/, "$sse2_x86inc"; |
| 421 | 421 |
| 422 add_proto qw/unsigned int vp9_variance16x16/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 422 add_proto qw/unsigned int vp9_variance16x16/, "const uint8_t *src_ptr, int sourc
e_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 423 specialize qw/vp9_variance16x16 mmx/, "$sse2_x86inc", "$avx2_x86inc"; | 423 specialize qw/vp9_variance16x16 mmx avx2/, "$sse2_x86inc"; |
| 424 | 424 |
| 425 add_proto qw/unsigned int vp9_variance16x8/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 425 add_proto qw/unsigned int vp9_variance16x8/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 426 specialize qw/vp9_variance16x8 mmx/, "$sse2_x86inc"; | 426 specialize qw/vp9_variance16x8 mmx/, "$sse2_x86inc"; |
| 427 | 427 |
| 428 add_proto qw/unsigned int vp9_variance8x16/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 428 add_proto qw/unsigned int vp9_variance8x16/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 429 specialize qw/vp9_variance8x16 mmx/, "$sse2_x86inc"; | 429 specialize qw/vp9_variance8x16 mmx/, "$sse2_x86inc"; |
| 430 | 430 |
| 431 add_proto qw/unsigned int vp9_variance8x8/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 431 add_proto qw/unsigned int vp9_variance8x8/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 432 specialize qw/vp9_variance8x8 mmx/, "$sse2_x86inc"; | 432 specialize qw/vp9_variance8x8 mmx/, "$sse2_x86inc"; |
| 433 | 433 |
| 434 add_proto qw/void vp9_get8x8var/, "const uint8_t *src_ptr, int source_stride, co
nst uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum"; |
| 435 specialize qw/vp9_get8x8var mmx/, "$sse2_x86inc"; |
| 436 |
| 437 add_proto qw/void vp9_get16x16var/, "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum"; |
| 438 specialize qw/vp9_get16x16var avx2/, "$sse2_x86inc"; |
| 439 |
| 434 add_proto qw/unsigned int vp9_variance8x4/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 440 add_proto qw/unsigned int vp9_variance8x4/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 435 specialize qw/vp9_variance8x4/, "$sse2_x86inc"; | 441 specialize qw/vp9_variance8x4/, "$sse2_x86inc"; |
| 436 | 442 |
| 437 add_proto qw/unsigned int vp9_variance4x8/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 443 add_proto qw/unsigned int vp9_variance4x8/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 438 specialize qw/vp9_variance4x8/, "$sse2_x86inc"; | 444 specialize qw/vp9_variance4x8/, "$sse2_x86inc"; |
| 439 | 445 |
| 440 add_proto qw/unsigned int vp9_variance4x4/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; | 446 add_proto qw/unsigned int vp9_variance4x4/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse"; |
| 441 specialize qw/vp9_variance4x4 mmx/, "$sse2_x86inc"; | 447 specialize qw/vp9_variance4x4 mmx/, "$sse2_x86inc"; |
| 442 | 448 |
| 443 add_proto qw/unsigned int vp9_sub_pixel_variance64x64/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 449 add_proto qw/unsigned int vp9_sub_pixel_variance64x64/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 444 specialize qw/vp9_sub_pixel_variance64x64 avx2/, "$sse2_x86inc", "$ssse3_x86inc"
; | 450 specialize qw/vp9_sub_pixel_variance64x64/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 445 | 451 |
| 446 add_proto qw/unsigned int vp9_sub_pixel_avg_variance64x64/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 452 add_proto qw/unsigned int vp9_sub_pixel_avg_variance64x64/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 447 specialize qw/vp9_sub_pixel_avg_variance64x64 avx2/, "$sse2_x86inc", "$ssse3_x86
inc"; | 453 specialize qw/vp9_sub_pixel_avg_variance64x64/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 448 | 454 |
| 449 add_proto qw/unsigned int vp9_sub_pixel_variance32x64/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 455 add_proto qw/unsigned int vp9_sub_pixel_variance32x64/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 450 specialize qw/vp9_sub_pixel_variance32x64/, "$sse2_x86inc", "$ssse3_x86inc"; | 456 specialize qw/vp9_sub_pixel_variance32x64/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 451 | 457 |
| 452 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x64/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 458 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x64/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 453 specialize qw/vp9_sub_pixel_avg_variance32x64/, "$sse2_x86inc", "$ssse3_x86inc"; | 459 specialize qw/vp9_sub_pixel_avg_variance32x64/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 454 | 460 |
| 455 add_proto qw/unsigned int vp9_sub_pixel_variance64x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 461 add_proto qw/unsigned int vp9_sub_pixel_variance64x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 456 specialize qw/vp9_sub_pixel_variance64x32/, "$sse2_x86inc", "$ssse3_x86inc"; | 462 specialize qw/vp9_sub_pixel_variance64x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 457 | 463 |
| 458 add_proto qw/unsigned int vp9_sub_pixel_avg_variance64x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 464 add_proto qw/unsigned int vp9_sub_pixel_avg_variance64x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 459 specialize qw/vp9_sub_pixel_avg_variance64x32/, "$sse2_x86inc", "$ssse3_x86inc"; | 465 specialize qw/vp9_sub_pixel_avg_variance64x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 460 | 466 |
| 461 add_proto qw/unsigned int vp9_sub_pixel_variance32x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 467 add_proto qw/unsigned int vp9_sub_pixel_variance32x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 462 specialize qw/vp9_sub_pixel_variance32x16/, "$sse2_x86inc", "$ssse3_x86inc"; | 468 specialize qw/vp9_sub_pixel_variance32x16/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 463 | 469 |
| 464 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x16/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 470 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x16/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 465 specialize qw/vp9_sub_pixel_avg_variance32x16/, "$sse2_x86inc", "$ssse3_x86inc"; | 471 specialize qw/vp9_sub_pixel_avg_variance32x16/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 466 | 472 |
| 467 add_proto qw/unsigned int vp9_sub_pixel_variance16x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 473 add_proto qw/unsigned int vp9_sub_pixel_variance16x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 468 specialize qw/vp9_sub_pixel_variance16x32/, "$sse2_x86inc", "$ssse3_x86inc"; | 474 specialize qw/vp9_sub_pixel_variance16x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 469 | 475 |
| 470 add_proto qw/unsigned int vp9_sub_pixel_avg_variance16x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 476 add_proto qw/unsigned int vp9_sub_pixel_avg_variance16x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 471 specialize qw/vp9_sub_pixel_avg_variance16x32/, "$sse2_x86inc", "$ssse3_x86inc"; | 477 specialize qw/vp9_sub_pixel_avg_variance16x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 472 | 478 |
| 473 add_proto qw/unsigned int vp9_sub_pixel_variance32x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 479 add_proto qw/unsigned int vp9_sub_pixel_variance32x32/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 474 specialize qw/vp9_sub_pixel_variance32x32 avx2/, "$sse2_x86inc", "$ssse3_x86inc"
; | 480 specialize qw/vp9_sub_pixel_variance32x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 475 | 481 |
| 476 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 482 add_proto qw/unsigned int vp9_sub_pixel_avg_variance32x32/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 477 specialize qw/vp9_sub_pixel_avg_variance32x32 avx2/, "$sse2_x86inc", "$ssse3_x86
inc"; | 483 specialize qw/vp9_sub_pixel_avg_variance32x32/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 478 | 484 |
| 479 add_proto qw/unsigned int vp9_sub_pixel_variance16x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; | 485 add_proto qw/unsigned int vp9_sub_pixel_variance16x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_s
tride, unsigned int *sse"; |
| 480 specialize qw/vp9_sub_pixel_variance16x16/, "$sse2_x86inc", "$ssse3_x86inc"; | 486 specialize qw/vp9_sub_pixel_variance16x16/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 481 | 487 |
| 482 add_proto qw/unsigned int vp9_sub_pixel_avg_variance16x16/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; | 488 add_proto qw/unsigned int vp9_sub_pixel_avg_variance16x16/, "const uint8_t *src_
ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int r
ef_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 483 specialize qw/vp9_sub_pixel_avg_variance16x16/, "$sse2_x86inc", "$ssse3_x86inc"; | 489 specialize qw/vp9_sub_pixel_avg_variance16x16/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 484 | 490 |
| 485 add_proto qw/unsigned int vp9_sub_pixel_variance8x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse"; | 491 add_proto qw/unsigned int vp9_sub_pixel_variance8x16/, "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse"; |
| 486 specialize qw/vp9_sub_pixel_variance8x16/, "$sse2_x86inc", "$ssse3_x86inc"; | 492 specialize qw/vp9_sub_pixel_variance8x16/, "$sse2_x86inc", "$ssse3_x86inc"; |
| 487 | 493 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 513 add_proto qw/unsigned int vp9_sub_pixel_avg_variance4x8/, "const uint8_t *src_pt
r, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_
stride, unsigned int *sse, const uint8_t *second_pred"; | 519 add_proto qw/unsigned int vp9_sub_pixel_avg_variance4x8/, "const uint8_t *src_pt
r, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_
stride, unsigned int *sse, const uint8_t *second_pred"; |
| 514 specialize qw/vp9_sub_pixel_avg_variance4x8/, "$sse_x86inc", "$ssse3_x86inc"; | 520 specialize qw/vp9_sub_pixel_avg_variance4x8/, "$sse_x86inc", "$ssse3_x86inc"; |
| 515 | 521 |
| 516 add_proto qw/unsigned int vp9_sub_pixel_variance4x4/, "const uint8_t *src_ptr, i
nt source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_str
ide, unsigned int *sse"; | 522 add_proto qw/unsigned int vp9_sub_pixel_variance4x4/, "const uint8_t *src_ptr, i
nt source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_str
ide, unsigned int *sse"; |
| 517 specialize qw/vp9_sub_pixel_variance4x4/, "$sse_x86inc", "$ssse3_x86inc"; | 523 specialize qw/vp9_sub_pixel_variance4x4/, "$sse_x86inc", "$ssse3_x86inc"; |
| 518 #vp9_sub_pixel_variance4x4_sse2=vp9_sub_pixel_variance4x4_wmt | 524 #vp9_sub_pixel_variance4x4_sse2=vp9_sub_pixel_variance4x4_wmt |
| 519 | 525 |
| 520 add_proto qw/unsigned int vp9_sub_pixel_avg_variance4x4/, "const uint8_t *src_pt
r, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref
_stride, unsigned int *sse, const uint8_t *second_pred"; | 526 add_proto qw/unsigned int vp9_sub_pixel_avg_variance4x4/, "const uint8_t *src_pt
r, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref
_stride, unsigned int *sse, const uint8_t *second_pred"; |
| 521 specialize qw/vp9_sub_pixel_avg_variance4x4/, "$sse_x86inc", "$ssse3_x86inc"; | 527 specialize qw/vp9_sub_pixel_avg_variance4x4/, "$sse_x86inc", "$ssse3_x86inc"; |
| 522 | 528 |
| 523 add_proto qw/unsigned int vp9_sad64x64/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 529 add_proto qw/unsigned int vp9_sad64x64/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 524 specialize qw/vp9_sad64x64/, "$sse2_x86inc"; | 530 specialize qw/vp9_sad64x64/, "$sse2_x86inc"; |
| 525 | 531 |
| 526 add_proto qw/unsigned int vp9_sad32x64/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 532 add_proto qw/unsigned int vp9_sad32x64/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 527 specialize qw/vp9_sad32x64/, "$sse2_x86inc"; | 533 specialize qw/vp9_sad32x64/, "$sse2_x86inc"; |
| 528 | 534 |
| 529 add_proto qw/unsigned int vp9_sad64x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 535 add_proto qw/unsigned int vp9_sad64x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 530 specialize qw/vp9_sad64x32/, "$sse2_x86inc"; | 536 specialize qw/vp9_sad64x32/, "$sse2_x86inc"; |
| 531 | 537 |
| 532 add_proto qw/unsigned int vp9_sad32x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 538 add_proto qw/unsigned int vp9_sad32x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 533 specialize qw/vp9_sad32x16/, "$sse2_x86inc"; | 539 specialize qw/vp9_sad32x16/, "$sse2_x86inc"; |
| 534 | 540 |
| 535 add_proto qw/unsigned int vp9_sad16x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 541 add_proto qw/unsigned int vp9_sad16x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 536 specialize qw/vp9_sad16x32/, "$sse2_x86inc"; | 542 specialize qw/vp9_sad16x32/, "$sse2_x86inc"; |
| 537 | 543 |
| 538 add_proto qw/unsigned int vp9_sad32x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 544 add_proto qw/unsigned int vp9_sad32x32/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 539 specialize qw/vp9_sad32x32/, "$sse2_x86inc"; | 545 specialize qw/vp9_sad32x32/, "$sse2_x86inc"; |
| 540 | 546 |
| 541 add_proto qw/unsigned int vp9_sad16x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 547 add_proto qw/unsigned int vp9_sad16x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride"; |
| 542 specialize qw/vp9_sad16x16 mmx/, "$sse2_x86inc"; | 548 specialize qw/vp9_sad16x16 mmx/, "$sse2_x86inc"; |
| 543 | 549 |
| 544 add_proto qw/unsigned int vp9_sad16x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 550 add_proto qw/unsigned int vp9_sad16x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride"; |
| 545 specialize qw/vp9_sad16x8 mmx/, "$sse2_x86inc"; | 551 specialize qw/vp9_sad16x8 mmx/, "$sse2_x86inc"; |
| 546 | 552 |
| 547 add_proto qw/unsigned int vp9_sad8x16/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 553 add_proto qw/unsigned int vp9_sad8x16/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride"; |
| 548 specialize qw/vp9_sad8x16 mmx/, "$sse2_x86inc"; | 554 specialize qw/vp9_sad8x16 mmx/, "$sse2_x86inc"; |
| 549 | 555 |
| 550 add_proto qw/unsigned int vp9_sad8x8/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 556 add_proto qw/unsigned int vp9_sad8x8/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride"; |
| 551 specialize qw/vp9_sad8x8 mmx/, "$sse2_x86inc"; | 557 specialize qw/vp9_sad8x8 mmx/, "$sse2_x86inc"; |
| 552 | 558 |
| 553 add_proto qw/unsigned int vp9_sad8x4/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 559 add_proto qw/unsigned int vp9_sad8x4/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride"; |
| 554 specialize qw/vp9_sad8x4/, "$sse2_x86inc"; | 560 specialize qw/vp9_sad8x4/, "$sse2_x86inc"; |
| 555 | 561 |
| 556 add_proto qw/unsigned int vp9_sad4x8/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 562 add_proto qw/unsigned int vp9_sad4x8/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride"; |
| 557 specialize qw/vp9_sad4x8/, "$sse_x86inc"; | 563 specialize qw/vp9_sad4x8/, "$sse_x86inc"; |
| 558 | 564 |
| 559 add_proto qw/unsigned int vp9_sad4x4/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad"; | 565 add_proto qw/unsigned int vp9_sad4x4/, "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride"; |
| 560 specialize qw/vp9_sad4x4 mmx/, "$sse_x86inc"; | 566 specialize qw/vp9_sad4x4 mmx/, "$sse_x86inc"; |
| 561 | 567 |
| 562 add_proto qw/unsigned int vp9_sad64x64_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, un
signed int max_sad"; | 568 add_proto qw/unsigned int vp9_sad64x64_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 563 specialize qw/vp9_sad64x64_avg/, "$sse2_x86inc"; | 569 specialize qw/vp9_sad64x64_avg/, "$sse2_x86inc"; |
| 564 | 570 |
| 565 add_proto qw/unsigned int vp9_sad32x64_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 571 add_proto qw/unsigned int vp9_sad32x64_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 566 specialize qw/vp9_sad32x64_avg/, "$sse2_x86inc"; | 572 specialize qw/vp9_sad32x64_avg/, "$sse2_x86inc"; |
| 567 | 573 |
| 568 add_proto qw/unsigned int vp9_sad64x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 574 add_proto qw/unsigned int vp9_sad64x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 569 specialize qw/vp9_sad64x32_avg/, "$sse2_x86inc"; | 575 specialize qw/vp9_sad64x32_avg/, "$sse2_x86inc"; |
| 570 | 576 |
| 571 add_proto qw/unsigned int vp9_sad32x16_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 577 add_proto qw/unsigned int vp9_sad32x16_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 572 specialize qw/vp9_sad32x16_avg/, "$sse2_x86inc"; | 578 specialize qw/vp9_sad32x16_avg/, "$sse2_x86inc"; |
| 573 | 579 |
| 574 add_proto qw/unsigned int vp9_sad16x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 580 add_proto qw/unsigned int vp9_sad16x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 575 specialize qw/vp9_sad16x32_avg/, "$sse2_x86inc"; | 581 specialize qw/vp9_sad16x32_avg/, "$sse2_x86inc"; |
| 576 | 582 |
| 577 add_proto qw/unsigned int vp9_sad32x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, un
signed int max_sad"; | 583 add_proto qw/unsigned int vp9_sad32x32_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 578 specialize qw/vp9_sad32x32_avg/, "$sse2_x86inc"; | 584 specialize qw/vp9_sad32x32_avg/, "$sse2_x86inc"; |
| 579 | 585 |
| 580 add_proto qw/unsigned int vp9_sad16x16_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, un
signed int max_sad"; | 586 add_proto qw/unsigned int vp9_sad16x16_avg/, "const uint8_t *src_ptr, int source
_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 581 specialize qw/vp9_sad16x16_avg/, "$sse2_x86inc"; | 587 specialize qw/vp9_sad16x16_avg/, "$sse2_x86inc"; |
| 582 | 588 |
| 583 add_proto qw/unsigned int vp9_sad16x8_avg/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 589 add_proto qw/unsigned int vp9_sad16x8_avg/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 584 specialize qw/vp9_sad16x8_avg/, "$sse2_x86inc"; | 590 specialize qw/vp9_sad16x8_avg/, "$sse2_x86inc"; |
| 585 | 591 |
| 586 add_proto qw/unsigned int vp9_sad8x16_avg/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, uns
igned int max_sad"; | 592 add_proto qw/unsigned int vp9_sad8x16_avg/, "const uint8_t *src_ptr, int source_
stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 587 specialize qw/vp9_sad8x16_avg/, "$sse2_x86inc"; | 593 specialize qw/vp9_sad8x16_avg/, "$sse2_x86inc"; |
| 588 | 594 |
| 589 add_proto qw/unsigned int vp9_sad8x8_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsi
gned int max_sad"; | 595 add_proto qw/unsigned int vp9_sad8x8_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 590 specialize qw/vp9_sad8x8_avg/, "$sse2_x86inc"; | 596 specialize qw/vp9_sad8x8_avg/, "$sse2_x86inc"; |
| 591 | 597 |
| 592 add_proto qw/unsigned int vp9_sad8x4_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsig
ned int max_sad"; | 598 add_proto qw/unsigned int vp9_sad8x4_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 593 specialize qw/vp9_sad8x4_avg/, "$sse2_x86inc"; | 599 specialize qw/vp9_sad8x4_avg/, "$sse2_x86inc"; |
| 594 | 600 |
| 595 add_proto qw/unsigned int vp9_sad4x8_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsig
ned int max_sad"; | 601 add_proto qw/unsigned int vp9_sad4x8_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 596 specialize qw/vp9_sad4x8_avg/, "$sse_x86inc"; | 602 specialize qw/vp9_sad4x8_avg/, "$sse_x86inc"; |
| 597 | 603 |
| 598 add_proto qw/unsigned int vp9_sad4x4_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsi
gned int max_sad"; | 604 add_proto qw/unsigned int vp9_sad4x4_avg/, "const uint8_t *src_ptr, int source_s
tride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; |
| 599 specialize qw/vp9_sad4x4_avg/, "$sse_x86inc"; | 605 specialize qw/vp9_sad4x4_avg/, "$sse_x86inc"; |
| 600 | 606 |
| 601 add_proto qw/void vp9_sad64x64x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; | 607 add_proto qw/void vp9_sad64x64x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; |
| 602 specialize qw/vp9_sad64x64x3/; | 608 specialize qw/vp9_sad64x64x3/; |
| 603 | 609 |
| 604 add_proto qw/void vp9_sad32x32x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; | 610 add_proto qw/void vp9_sad32x32x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; |
| 605 specialize qw/vp9_sad32x32x3/; | 611 specialize qw/vp9_sad32x32x3/; |
| 606 | 612 |
| 607 add_proto qw/void vp9_sad16x16x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; | 613 add_proto qw/void vp9_sad16x16x3/, "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array"; |
| 608 specialize qw/vp9_sad16x16x3 sse3 ssse3/; | 614 specialize qw/vp9_sad16x16x3 sse3 ssse3/; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 add_proto qw/void vp9_sad8x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 646 add_proto qw/void vp9_sad8x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
| 641 specialize qw/vp9_sad8x4x8/; | 647 specialize qw/vp9_sad8x4x8/; |
| 642 | 648 |
| 643 add_proto qw/void vp9_sad4x8x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 649 add_proto qw/void vp9_sad4x8x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
| 644 specialize qw/vp9_sad4x8x8/; | 650 specialize qw/vp9_sad4x8x8/; |
| 645 | 651 |
| 646 add_proto qw/void vp9_sad4x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 652 add_proto qw/void vp9_sad4x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
| 647 specialize qw/vp9_sad4x4x8 sse4/; | 653 specialize qw/vp9_sad4x4x8 sse4/; |
| 648 | 654 |
| 649 add_proto qw/void vp9_sad64x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 655 add_proto qw/void vp9_sad64x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 650 specialize qw/vp9_sad64x64x4d sse2 avx2/; | 656 specialize qw/vp9_sad64x64x4d sse2/; |
| 651 | 657 |
| 652 add_proto qw/void vp9_sad32x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 658 add_proto qw/void vp9_sad32x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 653 specialize qw/vp9_sad32x64x4d sse2/; | 659 specialize qw/vp9_sad32x64x4d sse2/; |
| 654 | 660 |
| 655 add_proto qw/void vp9_sad64x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 661 add_proto qw/void vp9_sad64x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 656 specialize qw/vp9_sad64x32x4d sse2/; | 662 specialize qw/vp9_sad64x32x4d sse2/; |
| 657 | 663 |
| 658 add_proto qw/void vp9_sad32x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 664 add_proto qw/void vp9_sad32x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 659 specialize qw/vp9_sad32x16x4d sse2/; | 665 specialize qw/vp9_sad32x16x4d sse2/; |
| 660 | 666 |
| 661 add_proto qw/void vp9_sad16x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 667 add_proto qw/void vp9_sad16x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 662 specialize qw/vp9_sad16x32x4d sse2/; | 668 specialize qw/vp9_sad16x32x4d sse2/; |
| 663 | 669 |
| 664 add_proto qw/void vp9_sad32x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 670 add_proto qw/void vp9_sad32x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 665 specialize qw/vp9_sad32x32x4d sse2 avx2/; | 671 specialize qw/vp9_sad32x32x4d sse2/; |
| 666 | 672 |
| 667 add_proto qw/void vp9_sad16x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 673 add_proto qw/void vp9_sad16x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 668 specialize qw/vp9_sad16x16x4d sse2/; | 674 specialize qw/vp9_sad16x16x4d sse2/; |
| 669 | 675 |
| 670 add_proto qw/void vp9_sad16x8x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 676 add_proto qw/void vp9_sad16x8x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 671 specialize qw/vp9_sad16x8x4d sse2/; | 677 specialize qw/vp9_sad16x8x4d sse2/; |
| 672 | 678 |
| 673 add_proto qw/void vp9_sad8x16x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 679 add_proto qw/void vp9_sad8x16x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 674 specialize qw/vp9_sad8x16x4d sse2/; | 680 specialize qw/vp9_sad8x16x4d sse2/; |
| 675 | 681 |
| 676 add_proto qw/void vp9_sad8x8x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 682 add_proto qw/void vp9_sad8x8x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 677 specialize qw/vp9_sad8x8x4d sse2/; | 683 specialize qw/vp9_sad8x8x4d sse2/; |
| 678 | 684 |
| 679 # TODO(jingning): need to convert these 4x8/8x4 functions into sse2 form | 685 # TODO(jingning): need to convert these 4x8/8x4 functions into sse2 form |
| 680 add_proto qw/void vp9_sad8x4x4d/, "const uint8_t *src_ptr, int src_stride, const
uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 686 add_proto qw/void vp9_sad8x4x4d/, "const uint8_t *src_ptr, int src_stride, const
uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 681 specialize qw/vp9_sad8x4x4d sse2/; | 687 specialize qw/vp9_sad8x4x4d sse2/; |
| 682 | 688 |
| 683 add_proto qw/void vp9_sad4x8x4d/, "const uint8_t *src_ptr, int src_stride, const
uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 689 add_proto qw/void vp9_sad4x8x4d/, "const uint8_t *src_ptr, int src_stride, const
uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 684 specialize qw/vp9_sad4x8x4d sse/; | 690 specialize qw/vp9_sad4x8x4d sse/; |
| 685 | 691 |
| 686 add_proto qw/void vp9_sad4x4x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 692 add_proto qw/void vp9_sad4x4x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
| 687 specialize qw/vp9_sad4x4x4d sse/; | 693 specialize qw/vp9_sad4x4x4d sse/; |
| 688 | 694 |
| 689 add_proto qw/unsigned int vp9_mse16x16/, "const uint8_t *src_ptr, int source_st
ride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 695 add_proto qw/unsigned int vp9_mse16x16/, "const uint8_t *src_ptr, int source_st
ride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
| 690 specialize qw/vp9_mse16x16 mmx/, "$sse2_x86inc", "$avx2_x86inc"; | 696 specialize qw/vp9_mse16x16 mmx avx2/, "$sse2_x86inc"; |
| 691 | 697 |
| 692 add_proto qw/unsigned int vp9_mse8x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 698 add_proto qw/unsigned int vp9_mse8x16/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
| 693 specialize qw/vp9_mse8x16/; | 699 specialize qw/vp9_mse8x16/; |
| 694 | 700 |
| 695 add_proto qw/unsigned int vp9_mse16x8/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 701 add_proto qw/unsigned int vp9_mse16x8/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
| 696 specialize qw/vp9_mse16x8/; | 702 specialize qw/vp9_mse16x8/; |
| 697 | 703 |
| 698 add_proto qw/unsigned int vp9_mse8x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 704 add_proto qw/unsigned int vp9_mse8x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
| 699 specialize qw/vp9_mse8x8/; | 705 specialize qw/vp9_mse8x8/; |
| 700 | 706 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 726 } | 732 } |
| 727 | 733 |
| 728 # fdct functions | 734 # fdct functions |
| 729 add_proto qw/void vp9_fht4x4/, "const int16_t *input, int16_t *output, int strid
e, int tx_type"; | 735 add_proto qw/void vp9_fht4x4/, "const int16_t *input, int16_t *output, int strid
e, int tx_type"; |
| 730 specialize qw/vp9_fht4x4 sse2 avx2/; | 736 specialize qw/vp9_fht4x4 sse2 avx2/; |
| 731 | 737 |
| 732 add_proto qw/void vp9_fht8x8/, "const int16_t *input, int16_t *output, int strid
e, int tx_type"; | 738 add_proto qw/void vp9_fht8x8/, "const int16_t *input, int16_t *output, int strid
e, int tx_type"; |
| 733 specialize qw/vp9_fht8x8 sse2 avx2/; | 739 specialize qw/vp9_fht8x8 sse2 avx2/; |
| 734 | 740 |
| 735 add_proto qw/void vp9_fht16x16/, "const int16_t *input, int16_t *output, int str
ide, int tx_type"; | 741 add_proto qw/void vp9_fht16x16/, "const int16_t *input, int16_t *output, int str
ide, int tx_type"; |
| 736 specialize qw/vp9_fht16x16 sse2 avx2/; | 742 specialize qw/vp9_fht16x16 sse2/; |
| 737 | 743 |
| 738 add_proto qw/void vp9_fwht4x4/, "const int16_t *input, int16_t *output, int stri
de"; | 744 add_proto qw/void vp9_fwht4x4/, "const int16_t *input, int16_t *output, int stri
de"; |
| 739 specialize qw/vp9_fwht4x4/, "$mmx_x86inc"; | 745 specialize qw/vp9_fwht4x4/, "$mmx_x86inc"; |
| 740 | 746 |
| 747 add_proto qw/void vp9_fdct4x4_1/, "const int16_t *input, int16_t *output, int st
ride"; |
| 748 specialize qw/vp9_fdct4x4_1 sse2/; |
| 749 |
| 741 add_proto qw/void vp9_fdct4x4/, "const int16_t *input, int16_t *output, int stri
de"; | 750 add_proto qw/void vp9_fdct4x4/, "const int16_t *input, int16_t *output, int stri
de"; |
| 742 specialize qw/vp9_fdct4x4 sse2 avx2/; | 751 specialize qw/vp9_fdct4x4 sse2 avx2/; |
| 743 | 752 |
| 753 add_proto qw/void vp9_fdct8x8_1/, "const int16_t *input, int16_t *output, int st
ride"; |
| 754 specialize qw/vp9_fdct8x8_1 sse2/; |
| 755 |
| 744 add_proto qw/void vp9_fdct8x8/, "const int16_t *input, int16_t *output, int stri
de"; | 756 add_proto qw/void vp9_fdct8x8/, "const int16_t *input, int16_t *output, int stri
de"; |
| 745 specialize qw/vp9_fdct8x8 sse2 avx2/, "$ssse3_x86_64"; | 757 specialize qw/vp9_fdct8x8 sse2 avx2/, "$ssse3_x86_64"; |
| 746 | 758 |
| 759 add_proto qw/void vp9_fdct16x16_1/, "const int16_t *input, int16_t *output, int
stride"; |
| 760 specialize qw/vp9_fdct16x16_1 sse2/; |
| 761 |
| 747 add_proto qw/void vp9_fdct16x16/, "const int16_t *input, int16_t *output, int st
ride"; | 762 add_proto qw/void vp9_fdct16x16/, "const int16_t *input, int16_t *output, int st
ride"; |
| 748 specialize qw/vp9_fdct16x16 sse2 avx2/; | 763 specialize qw/vp9_fdct16x16 sse2/; |
| 764 |
| 765 add_proto qw/void vp9_fdct32x32_1/, "const int16_t *input, int16_t *output, int
stride"; |
| 766 specialize qw/vp9_fdct32x32_1 sse2/; |
| 749 | 767 |
| 750 add_proto qw/void vp9_fdct32x32/, "const int16_t *input, int16_t *output, int st
ride"; | 768 add_proto qw/void vp9_fdct32x32/, "const int16_t *input, int16_t *output, int st
ride"; |
| 751 specialize qw/vp9_fdct32x32 sse2 avx2/; | 769 specialize qw/vp9_fdct32x32 sse2 avx2/; |
| 752 | 770 |
| 753 add_proto qw/void vp9_fdct32x32_rd/, "const int16_t *input, int16_t *output, int
stride"; | 771 add_proto qw/void vp9_fdct32x32_rd/, "const int16_t *input, int16_t *output, int
stride"; |
| 754 specialize qw/vp9_fdct32x32_rd sse2 avx2/; | 772 specialize qw/vp9_fdct32x32_rd sse2 avx2/; |
| 755 | 773 |
| 756 # | 774 # |
| 757 # Motion search | 775 # Motion search |
| 758 # | 776 # |
| 759 add_proto qw/int vp9_full_search_sad/, "const struct macroblock *x, const struct
mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn
_ptr, const struct mv *center_mv, struct mv *best_mv"; | 777 add_proto qw/int vp9_full_search_sad/, "const struct macroblock *x, const struct
mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn
_ptr, const struct mv *center_mv, struct mv *best_mv"; |
| 760 specialize qw/vp9_full_search_sad sse3 sse4_1/; | 778 specialize qw/vp9_full_search_sad sse3 sse4_1/; |
| 761 $vp9_full_search_sad_sse3=vp9_full_search_sadx3; | 779 $vp9_full_search_sad_sse3=vp9_full_search_sadx3; |
| 762 $vp9_full_search_sad_sse4_1=vp9_full_search_sadx8; | 780 $vp9_full_search_sad_sse4_1=vp9_full_search_sadx8; |
| 763 | 781 |
| 764 add_proto qw/int vp9_refining_search_sad/, "const struct macroblock *x, struct m
v *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_p
tr, const struct mv *center_mv"; | 782 add_proto qw/int vp9_refining_search_sad/, "const struct macroblock *x, struct m
v *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_p
tr, const struct mv *center_mv"; |
| 765 specialize qw/vp9_refining_search_sad sse3/; | 783 specialize qw/vp9_refining_search_sad sse3/; |
| 766 $vp9_refining_search_sad_sse3=vp9_refining_search_sadx4; | 784 $vp9_refining_search_sad_sse3=vp9_refining_search_sadx4; |
| 767 | 785 |
| 768 add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const str
uct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_
param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, co
nst struct mv *center_mv"; | 786 add_proto qw/int vp9_diamond_search_sad/, "const struct macroblock *x, const str
uct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_
param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, co
nst struct mv *center_mv"; |
| 769 specialize qw/vp9_diamond_search_sad sse3/; | 787 specialize qw/vp9_diamond_search_sad sse3/; |
| 770 $vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4; | 788 $vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4; |
| 771 | 789 |
| 772 add_proto qw/int vp9_full_range_search/, "const struct macroblock *x, const stru
ct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_pa
ram, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, cons
t struct mv *center_mv"; | 790 add_proto qw/int vp9_full_range_search/, "const struct macroblock *x, const stru
ct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_pa
ram, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, cons
t struct mv *center_mv"; |
| 773 specialize qw/vp9_full_range_search/; | 791 specialize qw/vp9_full_range_search/; |
| 774 | 792 |
| 775 add_proto qw/void vp9_temporal_filter_apply/, "uint8_t *frame1, unsigned int str
ide, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight,
unsigned int *accumulator, uint16_t *count"; | 793 add_proto qw/void vp9_temporal_filter_apply/, "uint8_t *frame1, unsigned int str
ide, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int s
trength, int filter_weight, unsigned int *accumulator, uint16_t *count"; |
| 776 specialize qw/vp9_temporal_filter_apply sse2/; | 794 specialize qw/vp9_temporal_filter_apply sse2/; |
| 777 | 795 |
| 778 } | 796 } |
| 779 # end encoder functions | 797 # end encoder functions |
| 780 1; | 798 1; |
| OLD | NEW |