diff options
author | Peter de Rivaz <peter.derivaz@gmail.com> | 2014-10-16 13:41:55 +0100 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2014-11-12 14:25:45 -0800 |
commit | 7eee487c0036340e99425cc1cf1503e21e70678a (patch) | |
tree | f7726996c85b7fa0ac126c1952ca2c4f2b3661d0 /vp9/common | |
parent | 08d86bc9043f55d86f20f4bab74bc4ca949b3a4c (diff) | |
download | libvpx-7eee487c0036340e99425cc1cf1503e21e70678a.tar libvpx-7eee487c0036340e99425cc1cf1503e21e70678a.tar.gz libvpx-7eee487c0036340e99425cc1cf1503e21e70678a.tar.bz2 libvpx-7eee487c0036340e99425cc1cf1503e21e70678a.zip |
Added highbitdepth sse2 SAD acceleration and tests
Change-Id: I1a74a1b032b198793ef9cc526327987f7799125f
(cherry picked from commit b1a6f6b9cb47eafe0ce86eaf0318612806091fe5)
Diffstat (limited to 'vp9/common')
-rw-r--r-- | vp9/common/vp9_rtcd_defs.pl | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl index 0530f3a30..f3922b1ea 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl @@ -1652,37 +1652,37 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { specialize qw/vp9_highbd_12_sub_pixel_avg_variance4x4/; add_proto qw/unsigned int vp9_highbd_sad64x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad64x64/; + specialize qw/vp9_highbd_sad64x64/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x64/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad32x64/; + specialize qw/vp9_highbd_sad32x64/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad64x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad64x32/; + specialize qw/vp9_highbd_sad64x32/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad32x16/; + specialize qw/vp9_highbd_sad32x16/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad16x32/; + specialize qw/vp9_highbd_sad16x32/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x32/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad32x32/; + specialize qw/vp9_highbd_sad32x32/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad16x16/; + specialize qw/vp9_highbd_sad16x16/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad16x8/; + specialize qw/vp9_highbd_sad16x8/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad8x16/; + specialize qw/vp9_highbd_sad8x16/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad8x8/; + specialize qw/vp9_highbd_sad8x8/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x4/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; - specialize qw/vp9_highbd_sad8x4/; + specialize qw/vp9_highbd_sad8x4/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad4x8/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride"; specialize qw/vp9_highbd_sad4x8/; @@ -1691,37 +1691,37 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { specialize qw/vp9_highbd_sad4x4/; add_proto qw/unsigned int vp9_highbd_sad64x64_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad64x64_avg/; + specialize qw/vp9_highbd_sad64x64_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x64_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad32x64_avg/; + specialize qw/vp9_highbd_sad32x64_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad64x32_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad64x32_avg/; + specialize qw/vp9_highbd_sad64x32_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x16_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad32x16_avg/; + specialize qw/vp9_highbd_sad32x16_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x32_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad16x32_avg/; + specialize qw/vp9_highbd_sad16x32_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad32x32_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad32x32_avg/; + specialize qw/vp9_highbd_sad32x32_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x16_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad16x16_avg/; + specialize qw/vp9_highbd_sad16x16_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad16x8_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad16x8_avg/; + specialize qw/vp9_highbd_sad16x8_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x16_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad8x16_avg/; + specialize qw/vp9_highbd_sad8x16_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x8_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad8x8_avg/; + specialize qw/vp9_highbd_sad8x8_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad8x4_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; - specialize qw/vp9_highbd_sad8x4_avg/; + specialize qw/vp9_highbd_sad8x4_avg/, "$sse2_x86inc"; add_proto qw/unsigned int vp9_highbd_sad4x8_avg/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred"; specialize qw/vp9_highbd_sad4x8_avg/; @@ -1778,44 +1778,43 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { specialize qw/vp9_highbd_sad4x4x8/; add_proto qw/void vp9_highbd_sad64x64x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad64x64x4d/; + specialize qw/vp9_highbd_sad64x64x4d sse2/; add_proto qw/void vp9_highbd_sad32x64x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad32x64x4d/; + specialize qw/vp9_highbd_sad32x64x4d sse2/; add_proto qw/void vp9_highbd_sad64x32x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad64x32x4d/; + specialize qw/vp9_highbd_sad64x32x4d sse2/; add_proto qw/void vp9_highbd_sad32x16x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad32x16x4d/; + specialize qw/vp9_highbd_sad32x16x4d sse2/; add_proto qw/void vp9_highbd_sad16x32x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad16x32x4d/; + specialize qw/vp9_highbd_sad16x32x4d sse2/; add_proto qw/void vp9_highbd_sad32x32x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad32x32x4d/; + specialize qw/vp9_highbd_sad32x32x4d sse2/; add_proto qw/void vp9_highbd_sad16x16x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad16x16x4d/; + specialize qw/vp9_highbd_sad16x16x4d sse2/; add_proto qw/void vp9_highbd_sad16x8x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad16x8x4d/; + specialize qw/vp9_highbd_sad16x8x4d sse2/; add_proto qw/void vp9_highbd_sad8x16x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad8x16x4d/; + specialize qw/vp9_highbd_sad8x16x4d sse2/; add_proto qw/void vp9_highbd_sad8x8x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad8x8x4d/; + specialize qw/vp9_highbd_sad8x8x4d sse2/; - # TODO(jingning): need to convert these 4x8/8x4 functions into sse2 form add_proto qw/void vp9_highbd_sad8x4x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad8x4x4d/; + specialize qw/vp9_highbd_sad8x4x4d sse2/; add_proto qw/void vp9_highbd_sad4x8x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad4x8x4d/; + specialize qw/vp9_highbd_sad4x8x4d sse2/; add_proto qw/void vp9_highbd_sad4x4x4d/, "const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; - specialize qw/vp9_highbd_sad4x4x4d/; + specialize qw/vp9_highbd_sad4x4x4d sse2/; add_proto qw/unsigned int vp9_highbd_mse16x16/, "const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; specialize qw/vp9_highbd_mse16x16/; |