OLD | NEW |
(Empty) | |
| 1 #ifndef VPX_DSP_RTCD_H_ |
| 2 #define VPX_DSP_RTCD_H_ |
| 3 |
| 4 #ifdef RTCD_C |
| 5 #define RTCD_EXTERN |
| 6 #else |
| 7 #define RTCD_EXTERN extern |
| 8 #endif |
| 9 |
| 10 /* |
| 11 * DSP |
| 12 */ |
| 13 |
| 14 #include "vpx/vpx_integer.h" |
| 15 |
| 16 |
| 17 #ifdef __cplusplus |
| 18 extern "C" { |
| 19 #endif |
| 20 |
| 21 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 22 unsigned int vpx_sad16x16_mmx(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride); |
| 23 unsigned int vpx_sad16x16_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 24 RTCD_EXTERN unsigned int (*vpx_sad16x16)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 25 |
| 26 unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 27 unsigned int vpx_sad16x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 28 RTCD_EXTERN unsigned int (*vpx_sad16x16_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 29 |
| 30 void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 31 void vpx_sad16x16x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *
ref_ptr, int ref_stride, uint32_t *sad_array); |
| 32 void vpx_sad16x16x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride, uint32_t *sad_array); |
| 33 RTCD_EXTERN void (*vpx_sad16x16x3)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 34 |
| 35 void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 36 void vpx_sad16x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 37 RTCD_EXTERN void (*vpx_sad16x16x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 38 |
| 39 void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 40 void vpx_sad16x16x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride, uint32_t *sad_array); |
| 41 RTCD_EXTERN void (*vpx_sad16x16x8)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 42 |
| 43 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 44 unsigned int vpx_sad16x32_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 45 RTCD_EXTERN unsigned int (*vpx_sad16x32)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 46 |
| 47 unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 48 unsigned int vpx_sad16x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 49 RTCD_EXTERN unsigned int (*vpx_sad16x32_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 50 |
| 51 void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 52 void vpx_sad16x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 53 RTCD_EXTERN void (*vpx_sad16x32x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 54 |
| 55 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 56 unsigned int vpx_sad16x8_mmx(const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride); |
| 57 unsigned int vpx_sad16x8_sse2(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride); |
| 58 RTCD_EXTERN unsigned int (*vpx_sad16x8)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 59 |
| 60 unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 61 unsigned int vpx_sad16x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 62 RTCD_EXTERN unsigned int (*vpx_sad16x8_avg)(const uint8_t *src_ptr, int src_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 63 |
| 64 void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_
ptr, int ref_stride, uint32_t *sad_array); |
| 65 void vpx_sad16x8x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *r
ef_ptr, int ref_stride, uint32_t *sad_array); |
| 66 void vpx_sad16x8x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t *
ref_ptr, int ref_stride, uint32_t *sad_array); |
| 67 RTCD_EXTERN void (*vpx_sad16x8x3)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 68 |
| 69 void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * co
nst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 70 void vpx_sad16x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *
const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 71 RTCD_EXTERN void (*vpx_sad16x8x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 72 |
| 73 void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_
ptr, int ref_stride, uint32_t *sad_array); |
| 74 void vpx_sad16x8x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride, uint32_t *sad_array); |
| 75 RTCD_EXTERN void (*vpx_sad16x8x8)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 76 |
| 77 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 78 unsigned int vpx_sad32x16_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 79 unsigned int vpx_sad32x16_avx2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 80 RTCD_EXTERN unsigned int (*vpx_sad32x16)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 81 |
| 82 unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 83 unsigned int vpx_sad32x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 84 unsigned int vpx_sad32x16_avg_avx2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 85 RTCD_EXTERN unsigned int (*vpx_sad32x16_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 86 |
| 87 void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 88 void vpx_sad32x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 89 RTCD_EXTERN void (*vpx_sad32x16x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 90 |
| 91 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 92 unsigned int vpx_sad32x32_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 93 unsigned int vpx_sad32x32_avx2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 94 RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 95 |
| 96 unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 97 unsigned int vpx_sad32x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 98 unsigned int vpx_sad32x32_avg_avx2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 99 RTCD_EXTERN unsigned int (*vpx_sad32x32_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 100 |
| 101 void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 102 #define vpx_sad32x32x3 vpx_sad32x32x3_c |
| 103 |
| 104 void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 105 void vpx_sad32x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 106 void vpx_sad32x32x4d_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 107 RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 108 |
| 109 void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 110 #define vpx_sad32x32x8 vpx_sad32x32x8_c |
| 111 |
| 112 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 113 unsigned int vpx_sad32x64_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 114 unsigned int vpx_sad32x64_avx2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 115 RTCD_EXTERN unsigned int (*vpx_sad32x64)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 116 |
| 117 unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 118 unsigned int vpx_sad32x64_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 119 unsigned int vpx_sad32x64_avg_avx2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 120 RTCD_EXTERN unsigned int (*vpx_sad32x64_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 121 |
| 122 void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 123 void vpx_sad32x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 124 RTCD_EXTERN void (*vpx_sad32x64x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 125 |
| 126 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 127 unsigned int vpx_sad4x4_mmx(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 128 unsigned int vpx_sad4x4_sse(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 129 RTCD_EXTERN unsigned int (*vpx_sad4x4)(const uint8_t *src_ptr, int src_stride, c
onst uint8_t *ref_ptr, int ref_stride); |
| 130 |
| 131 unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 132 unsigned int vpx_sad4x4_avg_sse(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 133 RTCD_EXTERN unsigned int (*vpx_sad4x4_avg)(const uint8_t *src_ptr, int src_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 134 |
| 135 void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 136 void vpx_sad4x4x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *re
f_ptr, int ref_stride, uint32_t *sad_array); |
| 137 RTCD_EXTERN void (*vpx_sad4x4x3)(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 138 |
| 139 void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * con
st ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 140 void vpx_sad4x4x4d_sse(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 141 RTCD_EXTERN void (*vpx_sad4x4x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 142 |
| 143 void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 144 void vpx_sad4x4x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *
ref_ptr, int ref_stride, uint32_t *sad_array); |
| 145 RTCD_EXTERN void (*vpx_sad4x4x8)(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 146 |
| 147 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 148 unsigned int vpx_sad4x8_sse(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 149 RTCD_EXTERN unsigned int (*vpx_sad4x8)(const uint8_t *src_ptr, int src_stride, c
onst uint8_t *ref_ptr, int ref_stride); |
| 150 |
| 151 unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 152 unsigned int vpx_sad4x8_avg_sse(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 153 RTCD_EXTERN unsigned int (*vpx_sad4x8_avg)(const uint8_t *src_ptr, int src_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 154 |
| 155 void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * con
st ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 156 void vpx_sad4x8x4d_sse(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 157 RTCD_EXTERN void (*vpx_sad4x8x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 158 |
| 159 void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 160 #define vpx_sad4x8x8 vpx_sad4x8x8_c |
| 161 |
| 162 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 163 unsigned int vpx_sad64x32_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 164 unsigned int vpx_sad64x32_avx2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 165 RTCD_EXTERN unsigned int (*vpx_sad64x32)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 166 |
| 167 unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 168 unsigned int vpx_sad64x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 169 unsigned int vpx_sad64x32_avg_avx2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 170 RTCD_EXTERN unsigned int (*vpx_sad64x32_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 171 |
| 172 void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 173 void vpx_sad64x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 174 RTCD_EXTERN void (*vpx_sad64x32x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 175 |
| 176 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 177 unsigned int vpx_sad64x64_sse2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 178 unsigned int vpx_sad64x64_avx2(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride); |
| 179 RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 180 |
| 181 unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 182 unsigned int vpx_sad64x64_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 183 unsigned int vpx_sad64x64_avg_avx2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 184 RTCD_EXTERN unsigned int (*vpx_sad64x64_avg)(const uint8_t *src_ptr, int src_str
ide, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 185 |
| 186 void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 187 #define vpx_sad64x64x3 vpx_sad64x64x3_c |
| 188 |
| 189 void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * c
onst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 190 void vpx_sad64x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 191 void vpx_sad64x64x4d_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t
* const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 192 RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t *src_ptr, int src_stride, cons
t uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 193 |
| 194 void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref
_ptr, int ref_stride, uint32_t *sad_array); |
| 195 #define vpx_sad64x64x8 vpx_sad64x64x8_c |
| 196 |
| 197 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 198 unsigned int vpx_sad8x16_mmx(const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride); |
| 199 unsigned int vpx_sad8x16_sse2(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride); |
| 200 RTCD_EXTERN unsigned int (*vpx_sad8x16)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride); |
| 201 |
| 202 unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 203 unsigned int vpx_sad8x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 204 RTCD_EXTERN unsigned int (*vpx_sad8x16_avg)(const uint8_t *src_ptr, int src_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 205 |
| 206 void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_
ptr, int ref_stride, uint32_t *sad_array); |
| 207 void vpx_sad8x16x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *r
ef_ptr, int ref_stride, uint32_t *sad_array); |
| 208 RTCD_EXTERN void (*vpx_sad8x16x3)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 209 |
| 210 void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * co
nst ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 211 void vpx_sad8x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *
const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 212 RTCD_EXTERN void (*vpx_sad8x16x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 213 |
| 214 void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_
ptr, int ref_stride, uint32_t *sad_array); |
| 215 void vpx_sad8x16x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride, uint32_t *sad_array); |
| 216 RTCD_EXTERN void (*vpx_sad8x16x8)(const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 217 |
| 218 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 219 unsigned int vpx_sad8x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride); |
| 220 RTCD_EXTERN unsigned int (*vpx_sad8x4)(const uint8_t *src_ptr, int src_stride, c
onst uint8_t *ref_ptr, int ref_stride); |
| 221 |
| 222 unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 223 unsigned int vpx_sad8x4_avg_sse2(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 224 RTCD_EXTERN unsigned int (*vpx_sad8x4_avg)(const uint8_t *src_ptr, int src_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 225 |
| 226 void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * con
st ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 227 void vpx_sad8x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *
const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 228 RTCD_EXTERN void (*vpx_sad8x4x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 229 |
| 230 void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 231 #define vpx_sad8x4x8 vpx_sad8x4x8_c |
| 232 |
| 233 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t
*ref_ptr, int ref_stride); |
| 234 unsigned int vpx_sad8x8_mmx(const uint8_t *src_ptr, int src_stride, const uint8_
t *ref_ptr, int ref_stride); |
| 235 unsigned int vpx_sad8x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride); |
| 236 RTCD_EXTERN unsigned int (*vpx_sad8x8)(const uint8_t *src_ptr, int src_stride, c
onst uint8_t *ref_ptr, int ref_stride); |
| 237 |
| 238 unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 239 unsigned int vpx_sad8x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 240 RTCD_EXTERN unsigned int (*vpx_sad8x8_avg)(const uint8_t *src_ptr, int src_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); |
| 241 |
| 242 void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 243 void vpx_sad8x8x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *re
f_ptr, int ref_stride, uint32_t *sad_array); |
| 244 RTCD_EXTERN void (*vpx_sad8x8x3)(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 245 |
| 246 void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * con
st ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 247 void vpx_sad8x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *
const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 248 RTCD_EXTERN void (*vpx_sad8x8x4d)(const uint8_t *src_ptr, int src_stride, const
uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); |
| 249 |
| 250 void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_p
tr, int ref_stride, uint32_t *sad_array); |
| 251 void vpx_sad8x8x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *
ref_ptr, int ref_stride, uint32_t *sad_array); |
| 252 RTCD_EXTERN void (*vpx_sad8x8x8)(const uint8_t *src_ptr, int src_stride, const u
int8_t *ref_ptr, int ref_stride, uint32_t *sad_array); |
| 253 |
| 254 void vpx_dsp_rtcd(void); |
| 255 |
| 256 #ifdef RTCD_C |
| 257 #include "vpx_ports/x86.h" |
| 258 static void setup_rtcd_internal(void) |
| 259 { |
| 260 int flags = x86_simd_caps(); |
| 261 |
| 262 (void)flags; |
| 263 |
| 264 vpx_sad16x16 = vpx_sad16x16_c; |
| 265 if (flags & HAS_MMX) vpx_sad16x16 = vpx_sad16x16_mmx; |
| 266 if (flags & HAS_SSE2) vpx_sad16x16 = vpx_sad16x16_sse2; |
| 267 vpx_sad16x16_avg = vpx_sad16x16_avg_c; |
| 268 if (flags & HAS_SSE2) vpx_sad16x16_avg = vpx_sad16x16_avg_sse2; |
| 269 vpx_sad16x16x3 = vpx_sad16x16x3_c; |
| 270 if (flags & HAS_SSE3) vpx_sad16x16x3 = vpx_sad16x16x3_sse3; |
| 271 if (flags & HAS_SSSE3) vpx_sad16x16x3 = vpx_sad16x16x3_ssse3; |
| 272 vpx_sad16x16x4d = vpx_sad16x16x4d_c; |
| 273 if (flags & HAS_SSE2) vpx_sad16x16x4d = vpx_sad16x16x4d_sse2; |
| 274 vpx_sad16x16x8 = vpx_sad16x16x8_c; |
| 275 if (flags & HAS_SSE4_1) vpx_sad16x16x8 = vpx_sad16x16x8_sse4_1; |
| 276 vpx_sad16x32 = vpx_sad16x32_c; |
| 277 if (flags & HAS_SSE2) vpx_sad16x32 = vpx_sad16x32_sse2; |
| 278 vpx_sad16x32_avg = vpx_sad16x32_avg_c; |
| 279 if (flags & HAS_SSE2) vpx_sad16x32_avg = vpx_sad16x32_avg_sse2; |
| 280 vpx_sad16x32x4d = vpx_sad16x32x4d_c; |
| 281 if (flags & HAS_SSE2) vpx_sad16x32x4d = vpx_sad16x32x4d_sse2; |
| 282 vpx_sad16x8 = vpx_sad16x8_c; |
| 283 if (flags & HAS_MMX) vpx_sad16x8 = vpx_sad16x8_mmx; |
| 284 if (flags & HAS_SSE2) vpx_sad16x8 = vpx_sad16x8_sse2; |
| 285 vpx_sad16x8_avg = vpx_sad16x8_avg_c; |
| 286 if (flags & HAS_SSE2) vpx_sad16x8_avg = vpx_sad16x8_avg_sse2; |
| 287 vpx_sad16x8x3 = vpx_sad16x8x3_c; |
| 288 if (flags & HAS_SSE3) vpx_sad16x8x3 = vpx_sad16x8x3_sse3; |
| 289 if (flags & HAS_SSSE3) vpx_sad16x8x3 = vpx_sad16x8x3_ssse3; |
| 290 vpx_sad16x8x4d = vpx_sad16x8x4d_c; |
| 291 if (flags & HAS_SSE2) vpx_sad16x8x4d = vpx_sad16x8x4d_sse2; |
| 292 vpx_sad16x8x8 = vpx_sad16x8x8_c; |
| 293 if (flags & HAS_SSE4_1) vpx_sad16x8x8 = vpx_sad16x8x8_sse4_1; |
| 294 vpx_sad32x16 = vpx_sad32x16_c; |
| 295 if (flags & HAS_SSE2) vpx_sad32x16 = vpx_sad32x16_sse2; |
| 296 if (flags & HAS_AVX2) vpx_sad32x16 = vpx_sad32x16_avx2; |
| 297 vpx_sad32x16_avg = vpx_sad32x16_avg_c; |
| 298 if (flags & HAS_SSE2) vpx_sad32x16_avg = vpx_sad32x16_avg_sse2; |
| 299 if (flags & HAS_AVX2) vpx_sad32x16_avg = vpx_sad32x16_avg_avx2; |
| 300 vpx_sad32x16x4d = vpx_sad32x16x4d_c; |
| 301 if (flags & HAS_SSE2) vpx_sad32x16x4d = vpx_sad32x16x4d_sse2; |
| 302 vpx_sad32x32 = vpx_sad32x32_c; |
| 303 if (flags & HAS_SSE2) vpx_sad32x32 = vpx_sad32x32_sse2; |
| 304 if (flags & HAS_AVX2) vpx_sad32x32 = vpx_sad32x32_avx2; |
| 305 vpx_sad32x32_avg = vpx_sad32x32_avg_c; |
| 306 if (flags & HAS_SSE2) vpx_sad32x32_avg = vpx_sad32x32_avg_sse2; |
| 307 if (flags & HAS_AVX2) vpx_sad32x32_avg = vpx_sad32x32_avg_avx2; |
| 308 vpx_sad32x32x4d = vpx_sad32x32x4d_c; |
| 309 if (flags & HAS_SSE2) vpx_sad32x32x4d = vpx_sad32x32x4d_sse2; |
| 310 if (flags & HAS_AVX2) vpx_sad32x32x4d = vpx_sad32x32x4d_avx2; |
| 311 vpx_sad32x64 = vpx_sad32x64_c; |
| 312 if (flags & HAS_SSE2) vpx_sad32x64 = vpx_sad32x64_sse2; |
| 313 if (flags & HAS_AVX2) vpx_sad32x64 = vpx_sad32x64_avx2; |
| 314 vpx_sad32x64_avg = vpx_sad32x64_avg_c; |
| 315 if (flags & HAS_SSE2) vpx_sad32x64_avg = vpx_sad32x64_avg_sse2; |
| 316 if (flags & HAS_AVX2) vpx_sad32x64_avg = vpx_sad32x64_avg_avx2; |
| 317 vpx_sad32x64x4d = vpx_sad32x64x4d_c; |
| 318 if (flags & HAS_SSE2) vpx_sad32x64x4d = vpx_sad32x64x4d_sse2; |
| 319 vpx_sad4x4 = vpx_sad4x4_c; |
| 320 if (flags & HAS_MMX) vpx_sad4x4 = vpx_sad4x4_mmx; |
| 321 if (flags & HAS_SSE) vpx_sad4x4 = vpx_sad4x4_sse; |
| 322 vpx_sad4x4_avg = vpx_sad4x4_avg_c; |
| 323 if (flags & HAS_SSE) vpx_sad4x4_avg = vpx_sad4x4_avg_sse; |
| 324 vpx_sad4x4x3 = vpx_sad4x4x3_c; |
| 325 if (flags & HAS_SSE3) vpx_sad4x4x3 = vpx_sad4x4x3_sse3; |
| 326 vpx_sad4x4x4d = vpx_sad4x4x4d_c; |
| 327 if (flags & HAS_SSE) vpx_sad4x4x4d = vpx_sad4x4x4d_sse; |
| 328 vpx_sad4x4x8 = vpx_sad4x4x8_c; |
| 329 if (flags & HAS_SSE4_1) vpx_sad4x4x8 = vpx_sad4x4x8_sse4_1; |
| 330 vpx_sad4x8 = vpx_sad4x8_c; |
| 331 if (flags & HAS_SSE) vpx_sad4x8 = vpx_sad4x8_sse; |
| 332 vpx_sad4x8_avg = vpx_sad4x8_avg_c; |
| 333 if (flags & HAS_SSE) vpx_sad4x8_avg = vpx_sad4x8_avg_sse; |
| 334 vpx_sad4x8x4d = vpx_sad4x8x4d_c; |
| 335 if (flags & HAS_SSE) vpx_sad4x8x4d = vpx_sad4x8x4d_sse; |
| 336 vpx_sad64x32 = vpx_sad64x32_c; |
| 337 if (flags & HAS_SSE2) vpx_sad64x32 = vpx_sad64x32_sse2; |
| 338 if (flags & HAS_AVX2) vpx_sad64x32 = vpx_sad64x32_avx2; |
| 339 vpx_sad64x32_avg = vpx_sad64x32_avg_c; |
| 340 if (flags & HAS_SSE2) vpx_sad64x32_avg = vpx_sad64x32_avg_sse2; |
| 341 if (flags & HAS_AVX2) vpx_sad64x32_avg = vpx_sad64x32_avg_avx2; |
| 342 vpx_sad64x32x4d = vpx_sad64x32x4d_c; |
| 343 if (flags & HAS_SSE2) vpx_sad64x32x4d = vpx_sad64x32x4d_sse2; |
| 344 vpx_sad64x64 = vpx_sad64x64_c; |
| 345 if (flags & HAS_SSE2) vpx_sad64x64 = vpx_sad64x64_sse2; |
| 346 if (flags & HAS_AVX2) vpx_sad64x64 = vpx_sad64x64_avx2; |
| 347 vpx_sad64x64_avg = vpx_sad64x64_avg_c; |
| 348 if (flags & HAS_SSE2) vpx_sad64x64_avg = vpx_sad64x64_avg_sse2; |
| 349 if (flags & HAS_AVX2) vpx_sad64x64_avg = vpx_sad64x64_avg_avx2; |
| 350 vpx_sad64x64x4d = vpx_sad64x64x4d_c; |
| 351 if (flags & HAS_SSE2) vpx_sad64x64x4d = vpx_sad64x64x4d_sse2; |
| 352 if (flags & HAS_AVX2) vpx_sad64x64x4d = vpx_sad64x64x4d_avx2; |
| 353 vpx_sad8x16 = vpx_sad8x16_c; |
| 354 if (flags & HAS_MMX) vpx_sad8x16 = vpx_sad8x16_mmx; |
| 355 if (flags & HAS_SSE2) vpx_sad8x16 = vpx_sad8x16_sse2; |
| 356 vpx_sad8x16_avg = vpx_sad8x16_avg_c; |
| 357 if (flags & HAS_SSE2) vpx_sad8x16_avg = vpx_sad8x16_avg_sse2; |
| 358 vpx_sad8x16x3 = vpx_sad8x16x3_c; |
| 359 if (flags & HAS_SSE3) vpx_sad8x16x3 = vpx_sad8x16x3_sse3; |
| 360 vpx_sad8x16x4d = vpx_sad8x16x4d_c; |
| 361 if (flags & HAS_SSE2) vpx_sad8x16x4d = vpx_sad8x16x4d_sse2; |
| 362 vpx_sad8x16x8 = vpx_sad8x16x8_c; |
| 363 if (flags & HAS_SSE4_1) vpx_sad8x16x8 = vpx_sad8x16x8_sse4_1; |
| 364 vpx_sad8x4 = vpx_sad8x4_c; |
| 365 if (flags & HAS_SSE2) vpx_sad8x4 = vpx_sad8x4_sse2; |
| 366 vpx_sad8x4_avg = vpx_sad8x4_avg_c; |
| 367 if (flags & HAS_SSE2) vpx_sad8x4_avg = vpx_sad8x4_avg_sse2; |
| 368 vpx_sad8x4x4d = vpx_sad8x4x4d_c; |
| 369 if (flags & HAS_SSE2) vpx_sad8x4x4d = vpx_sad8x4x4d_sse2; |
| 370 vpx_sad8x8 = vpx_sad8x8_c; |
| 371 if (flags & HAS_MMX) vpx_sad8x8 = vpx_sad8x8_mmx; |
| 372 if (flags & HAS_SSE2) vpx_sad8x8 = vpx_sad8x8_sse2; |
| 373 vpx_sad8x8_avg = vpx_sad8x8_avg_c; |
| 374 if (flags & HAS_SSE2) vpx_sad8x8_avg = vpx_sad8x8_avg_sse2; |
| 375 vpx_sad8x8x3 = vpx_sad8x8x3_c; |
| 376 if (flags & HAS_SSE3) vpx_sad8x8x3 = vpx_sad8x8x3_sse3; |
| 377 vpx_sad8x8x4d = vpx_sad8x8x4d_c; |
| 378 if (flags & HAS_SSE2) vpx_sad8x8x4d = vpx_sad8x8x4d_sse2; |
| 379 vpx_sad8x8x8 = vpx_sad8x8x8_c; |
| 380 if (flags & HAS_SSE4_1) vpx_sad8x8x8 = vpx_sad8x8x8_sse4_1; |
| 381 } |
| 382 #endif |
| 383 |
| 384 #ifdef __cplusplus |
| 385 } // extern "C" |
| 386 #endif |
| 387 |
| 388 #endif |
OLD | NEW |