1 #ifndef VP9_RTCD_H_ 2 #define VP9_RTCD_H_ 3 4 #ifdef RTCD_C 5 #define RTCD_EXTERN 6 #else 7 #define RTCD_EXTERN extern 8 #endif 9 10 /* 11 * VP9 12 */ 13 14 #include "vpx/vpx_integer.h" 15 #include "vp9/common/vp9_enums.h" 16 17 struct macroblockd; 18 19 /* Encoder forward decls */ 20 struct macroblock; 21 struct vp9_variance_vtable; 22 23 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2] 24 union int_mv; 25 struct yv12_buffer_config; 26 27 void vp9_idct_add_16x16_c(int16_t *input, uint8_t *dest, int stride, int eob); 28 #define vp9_idct_add_16x16 vp9_idct_add_16x16_c 29 30 void vp9_idct_add_8x8_c(int16_t *input, uint8_t *dest, int stride, int eob); 31 #define vp9_idct_add_8x8 vp9_idct_add_8x8_c 32 33 void vp9_idct_add_c(int16_t *input, uint8_t *dest, int stride, int eob); 34 #define vp9_idct_add vp9_idct_add_c 35 36 void vp9_idct_add_32x32_c(int16_t *q, uint8_t *dst, int stride, int eob); 37 #define vp9_idct_add_32x32 vp9_idct_add_32x32_c 38 39 void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 40 #define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c 41 42 void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 43 #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c 44 45 void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 46 #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c 47 48 void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 49 #define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c 50 51 void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 52 #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c 53 54 void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 55 #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c 56 57 void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 58 #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c 59 60 void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 61 #define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c 62 63 void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 64 #define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c 65 66 void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 67 #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c 68 69 void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 70 #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c 71 72 void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 73 #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c 74 75 void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 76 #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c 77 78 void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 79 #define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c 80 81 void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82 #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c 83 84 void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 85 #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c 86 87 void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 88 #define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c 89 90 void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 91 #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c 92 93 void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 94 #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c 95 96 void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 97 #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c 98 99 void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 100 #define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c 101 102 void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 103 #define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c 104 105 void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 106 #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c 107 108 void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 109 #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c 110 111 void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 112 #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c 113 114 void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 115 #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c 116 117 void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 118 #define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c 119 120 void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 121 #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c 122 123 void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 124 #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c 125 126 void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 127 #define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c 128 129 void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 130 #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c 131 132 void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 133 #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c 134 135 void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 136 #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c 137 138 void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 139 #define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c 140 141 void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 142 #define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c 143 144 void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 145 #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c 146 147 void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 148 #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c 149 150 void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 151 #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c 152 153 void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 154 #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c 155 156 void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 157 #define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c 158 159 void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 160 #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c 161 162 void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 163 #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c 164 165 void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 166 #define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c 167 168 void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 169 #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c 170 171 void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 172 #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c 173 174 void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 175 #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c 176 177 void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 178 #define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c 179 180 void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 181 #define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c 182 183 void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 184 #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c 185 186 void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 187 #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c 188 189 void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 190 #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c 191 192 void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 193 #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c 194 195 void vp9_add_constant_residual_8x8_c(const int16_t diff, uint8_t *dest, int stride); 196 void vp9_add_constant_residual_8x8_neon(const int16_t diff, uint8_t *dest, int stride); 197 #define vp9_add_constant_residual_8x8 vp9_add_constant_residual_8x8_neon 198 199 void vp9_add_constant_residual_16x16_c(const int16_t diff, uint8_t *dest, int stride); 200 void vp9_add_constant_residual_16x16_neon(const int16_t diff, uint8_t *dest, int stride); 201 #define vp9_add_constant_residual_16x16 vp9_add_constant_residual_16x16_neon 202 203 void vp9_add_constant_residual_32x32_c(const int16_t diff, uint8_t *dest, int stride); 204 void vp9_add_constant_residual_32x32_neon(const int16_t diff, uint8_t *dest, int stride); 205 #define vp9_add_constant_residual_32x32 vp9_add_constant_residual_32x32_neon 206 207 void vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 208 void vp9_mb_lpf_vertical_edge_w_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 209 #define vp9_mb_lpf_vertical_edge_w vp9_mb_lpf_vertical_edge_w_neon 210 211 void vp9_mbloop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 212 void vp9_mbloop_filter_vertical_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 213 #define vp9_mbloop_filter_vertical_edge vp9_mbloop_filter_vertical_edge_neon 214 215 void vp9_loop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 216 void vp9_loop_filter_vertical_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 217 #define vp9_loop_filter_vertical_edge vp9_loop_filter_vertical_edge_neon 218 219 void vp9_mb_lpf_horizontal_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 220 void vp9_mb_lpf_horizontal_edge_w_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 221 #define vp9_mb_lpf_horizontal_edge_w vp9_mb_lpf_horizontal_edge_w_neon 222 223 void vp9_mbloop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 224 void vp9_mbloop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 225 #define vp9_mbloop_filter_horizontal_edge vp9_mbloop_filter_horizontal_edge_neon 226 227 void vp9_loop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 228 void vp9_loop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 229 #define vp9_loop_filter_horizontal_edge vp9_loop_filter_horizontal_edge_neon 230 231 void vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 232 #define vp9_blend_mb_inner vp9_blend_mb_inner_c 233 234 void vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 235 #define vp9_blend_mb_outer vp9_blend_mb_outer_c 236 237 void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 238 #define vp9_blend_b vp9_blend_b_c 239 240 void vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 241 void vp9_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 242 #define vp9_convolve_copy vp9_convolve_copy_neon 243 244 void vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 245 void vp9_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 246 #define vp9_convolve_avg vp9_convolve_avg_neon 247 248 void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 249 void vp9_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 250 #define vp9_convolve8 vp9_convolve8_neon 251 252 void vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 253 void vp9_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 254 #define vp9_convolve8_horiz vp9_convolve8_horiz_neon 255 256 void vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 257 void vp9_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 258 #define vp9_convolve8_vert vp9_convolve8_vert_neon 259 260 void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 261 void vp9_convolve8_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 262 #define vp9_convolve8_avg vp9_convolve8_avg_neon 263 264 void vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 265 void vp9_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 266 #define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_neon 267 268 void vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 269 void vp9_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 270 #define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_neon 271 272 void vp9_short_idct4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 273 void vp9_short_idct4x4_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 274 #define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_neon 275 276 void vp9_short_idct4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 277 void vp9_short_idct4x4_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 278 #define vp9_short_idct4x4_add vp9_short_idct4x4_add_neon 279 280 void vp9_short_idct8x8_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 281 void vp9_short_idct8x8_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 282 #define vp9_short_idct8x8_1_add vp9_short_idct8x8_1_add_neon 283 284 void vp9_short_idct8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 285 void vp9_short_idct8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 286 #define vp9_short_idct8x8_add vp9_short_idct8x8_add_neon 287 288 void vp9_short_idct10_8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 289 void vp9_short_idct10_8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 290 #define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_neon 291 292 void vp9_short_idct16x16_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 293 void vp9_short_idct16x16_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 294 #define vp9_short_idct16x16_1_add vp9_short_idct16x16_1_add_neon 295 296 void vp9_short_idct16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 297 void vp9_short_idct16x16_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 298 #define vp9_short_idct16x16_add vp9_short_idct16x16_add_neon 299 300 void vp9_short_idct10_16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 301 void vp9_short_idct10_16x16_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 302 #define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_neon 303 304 void vp9_short_idct32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride); 305 void vp9_short_idct32x32_add_neon(int16_t *input, uint8_t *dest, int dest_stride); 306 #define vp9_short_idct32x32_add vp9_short_idct32x32_add_neon 307 308 void vp9_short_idct1_32x32_c(int16_t *input, int16_t *output); 309 #define vp9_short_idct1_32x32 vp9_short_idct1_32x32_c 310 311 void vp9_short_iht4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 312 void vp9_short_iht4x4_add_neon(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 313 #define vp9_short_iht4x4_add vp9_short_iht4x4_add_neon 314 315 void vp9_short_iht8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 316 void vp9_short_iht8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 317 #define vp9_short_iht8x8_add vp9_short_iht8x8_add_neon 318 319 void vp9_short_iht16x16_add_c(int16_t *input, uint8_t *output, int pitch, int tx_type); 320 #define vp9_short_iht16x16_add vp9_short_iht16x16_add_c 321 322 void vp9_idct4_1d_c(int16_t *input, int16_t *output); 323 #define vp9_idct4_1d vp9_idct4_1d_c 324 325 void vp9_short_iwalsh4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 326 #define vp9_short_iwalsh4x4_1_add vp9_short_iwalsh4x4_1_add_c 327 328 void vp9_short_iwalsh4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 329 #define vp9_short_iwalsh4x4_add vp9_short_iwalsh4x4_add_c 330 331 void vp9_rtcd(void); 332 #include "vpx_config.h" 333 334 #ifdef RTCD_C 335 #include "vpx_ports/arm.h" 336 static void setup_rtcd_internal(void) 337 { 338 int flags = arm_cpu_caps(); 339 340 (void)flags; 341 342 343 } 344 #endif 345 #endif 346