| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 y_step_q4, w, h); \ | 135 y_step_q4, w, h); \ |
| 136 } \ | 136 } \ |
| 137 } else { \ | 137 } else { \ |
| 138 vp9_convolve8_##avg##c(src, src_stride, dst, dst_stride, \ | 138 vp9_convolve8_##avg##c(src, src_stride, dst, dst_stride, \ |
| 139 filter_x, x_step_q4, filter_y, y_step_q4, w, h); \ | 139 filter_x, x_step_q4, filter_y, y_step_q4, w, h); \ |
| 140 } \ | 140 } \ |
| 141 } | 141 } |
| 142 | 142 |
| 143 #if CONFIG_VP9_HIGHBITDEPTH | 143 #if CONFIG_VP9_HIGHBITDEPTH |
| 144 | 144 |
| 145 typedef void high_filter8_1dfunction ( | 145 typedef void highbd_filter8_1dfunction ( |
| 146 const uint16_t *src_ptr, | 146 const uint16_t *src_ptr, |
| 147 const ptrdiff_t src_pitch, | 147 const ptrdiff_t src_pitch, |
| 148 uint16_t *output_ptr, | 148 uint16_t *output_ptr, |
| 149 ptrdiff_t out_pitch, | 149 ptrdiff_t out_pitch, |
| 150 unsigned int output_height, | 150 unsigned int output_height, |
| 151 const int16_t *filter, | 151 const int16_t *filter, |
| 152 int bd | 152 int bd |
| 153 ); | 153 ); |
| 154 | 154 |
| 155 #define HIGH_FUN_CONV_1D(name, step_q4, filter, dir, src_start, avg, opt) \ | 155 #define HIGH_FUN_CONV_1D(name, step_q4, filter, dir, src_start, avg, opt) \ |
| 156 void vp9_high_convolve8_##name##_##opt(const uint8_t *src8, \ | 156 void vp9_highbd_convolve8_##name##_##opt(const uint8_t *src8, \ |
| 157 ptrdiff_t src_stride, \ | 157 ptrdiff_t src_stride, \ |
| 158 uint8_t *dst8, ptrdiff_t dst_stride, \ | 158 uint8_t *dst8, \ |
| 159 const int16_t *filter_x, \ | 159 ptrdiff_t dst_stride, \ |
| 160 int x_step_q4, \ | 160 const int16_t *filter_x, \ |
| 161 const int16_t *filter_y, \ | 161 int x_step_q4, \ |
| 162 int y_step_q4, \ | 162 const int16_t *filter_y, \ |
| 163 int w, int h, int bd) { \ | 163 int y_step_q4, \ |
| 164 int w, int h, int bd) { \ |
| 164 if (step_q4 == 16 && filter[3] != 128) { \ | 165 if (step_q4 == 16 && filter[3] != 128) { \ |
| 165 uint16_t *src = CONVERT_TO_SHORTPTR(src8); \ | 166 uint16_t *src = CONVERT_TO_SHORTPTR(src8); \ |
| 166 uint16_t *dst = CONVERT_TO_SHORTPTR(dst8); \ | 167 uint16_t *dst = CONVERT_TO_SHORTPTR(dst8); \ |
| 167 if (filter[0] || filter[1] || filter[2]) { \ | 168 if (filter[0] || filter[1] || filter[2]) { \ |
| 168 while (w >= 16) { \ | 169 while (w >= 16) { \ |
| 169 vp9_high_filter_block1d16_##dir##8_##avg##opt(src_start, \ | 170 vp9_highbd_filter_block1d16_##dir##8_##avg##opt(src_start, \ |
| 170 src_stride, \ | 171 src_stride, \ |
| 171 dst, \ | 172 dst, \ |
| 172 dst_stride, \ | 173 dst_stride, \ |
| 173 h, \ | 174 h, \ |
| 174 filter, \ | 175 filter, \ |
| 175 bd); \ | 176 bd); \ |
| 176 src += 16; \ | 177 src += 16; \ |
| 177 dst += 16; \ | 178 dst += 16; \ |
| 178 w -= 16; \ | 179 w -= 16; \ |
| 179 } \ | 180 } \ |
| 180 while (w >= 8) { \ | 181 while (w >= 8) { \ |
| 181 vp9_high_filter_block1d8_##dir##8_##avg##opt(src_start, \ | 182 vp9_highbd_filter_block1d8_##dir##8_##avg##opt(src_start, \ |
| 182 src_stride, \ | 183 src_stride, \ |
| 183 dst, \ | 184 dst, \ |
| 184 dst_stride, \ | 185 dst_stride, \ |
| 185 h, \ | 186 h, \ |
| 186 filter, \ | 187 filter, \ |
| 187 bd); \ | 188 bd); \ |
| 188 src += 8; \ | 189 src += 8; \ |
| 189 dst += 8; \ | 190 dst += 8; \ |
| 190 w -= 8; \ | 191 w -= 8; \ |
| 191 } \ | 192 } \ |
| 192 while (w >= 4) { \ | 193 while (w >= 4) { \ |
| 193 vp9_high_filter_block1d4_##dir##8_##avg##opt(src_start, \ | 194 vp9_highbd_filter_block1d4_##dir##8_##avg##opt(src_start, \ |
| 194 src_stride, \ | 195 src_stride, \ |
| 195 dst, \ | 196 dst, \ |
| 196 dst_stride, \ | 197 dst_stride, \ |
| 197 h, \ | 198 h, \ |
| 198 filter, \ | 199 filter, \ |
| 199 bd); \ | 200 bd); \ |
| 200 src += 4; \ | 201 src += 4; \ |
| 201 dst += 4; \ | 202 dst += 4; \ |
| 202 w -= 4; \ | 203 w -= 4; \ |
| 203 } \ | 204 } \ |
| 204 } else { \ | 205 } else { \ |
| 205 while (w >= 16) { \ | 206 while (w >= 16) { \ |
| 206 vp9_high_filter_block1d16_##dir##2_##avg##opt(src, \ | 207 vp9_highbd_filter_block1d16_##dir##2_##avg##opt(src, \ |
| 207 src_stride, \ | 208 src_stride, \ |
| 208 dst, \ | 209 dst, \ |
| 209 dst_stride, \ | 210 dst_stride, \ |
| 210 h, \ | 211 h, \ |
| 211 filter, \ | 212 filter, \ |
| 212 bd); \ | 213 bd); \ |
| 213 src += 16; \ | 214 src += 16; \ |
| 214 dst += 16; \ | 215 dst += 16; \ |
| 215 w -= 16; \ | 216 w -= 16; \ |
| 216 } \ | 217 } \ |
| 217 while (w >= 8) { \ | 218 while (w >= 8) { \ |
| 218 vp9_high_filter_block1d8_##dir##2_##avg##opt(src, \ | 219 vp9_highbd_filter_block1d8_##dir##2_##avg##opt(src, \ |
| 219 src_stride, \ | 220 src_stride, \ |
| 220 dst, \ | 221 dst, \ |
| 221 dst_stride, \ | 222 dst_stride, \ |
| 222 h, \ | 223 h, \ |
| 223 filter, \ | 224 filter, \ |
| 224 bd); \ | 225 bd); \ |
| 225 src += 8; \ | 226 src += 8; \ |
| 226 dst += 8; \ | 227 dst += 8; \ |
| 227 w -= 8; \ | 228 w -= 8; \ |
| 228 } \ | 229 } \ |
| 229 while (w >= 4) { \ | 230 while (w >= 4) { \ |
| 230 vp9_high_filter_block1d4_##dir##2_##avg##opt(src, \ | 231 vp9_highbd_filter_block1d4_##dir##2_##avg##opt(src, \ |
| 231 src_stride, \ | 232 src_stride, \ |
| 232 dst, \ | 233 dst, \ |
| 233 dst_stride, \ | 234 dst_stride, \ |
| 234 h, \ | 235 h, \ |
| 235 filter, \ | 236 filter, \ |
| 236 bd); \ | 237 bd); \ |
| 237 src += 4; \ | 238 src += 4; \ |
| 238 dst += 4; \ | 239 dst += 4; \ |
| 239 w -= 4; \ | 240 w -= 4; \ |
| 240 } \ | 241 } \ |
| 241 } \ | 242 } \ |
| 242 } \ | 243 } \ |
| 243 if (w) { \ | 244 if (w) { \ |
| 244 vp9_high_convolve8_##name##_c(src8, src_stride, dst8, dst_stride, \ | 245 vp9_highbd_convolve8_##name##_c(src8, src_stride, dst8, dst_stride, \ |
| 245 filter_x, x_step_q4, filter_y, y_step_q4, \ | 246 filter_x, x_step_q4, filter_y, y_step_q4, \ |
| 246 w, h, bd); \ | 247 w, h, bd); \ |
| 247 } \ | 248 } \ |
| 248 } | 249 } |
| 249 | 250 |
| 250 #define HIGH_FUN_CONV_2D(avg, opt) \ | 251 #define HIGH_FUN_CONV_2D(avg, opt) \ |
| 251 void vp9_high_convolve8_##avg##opt(const uint8_t *src, ptrdiff_t src_stride, \ | 252 void vp9_highbd_convolve8_##avg##opt(const uint8_t *src, ptrdiff_t src_stride, \ |
| 252 uint8_t *dst, ptrdiff_t dst_stride, \ | 253 uint8_t *dst, ptrdiff_t dst_stride, \ |
| 253 const int16_t *filter_x, int x_step_q4, \ | 254 const int16_t *filter_x, int x_step_q4, \ |
| 254 const int16_t *filter_y, int y_step_q4, \ | 255 const int16_t *filter_y, int y_step_q4, \ |
| 255 int w, int h, int bd) { \ | 256 int w, int h, int bd) { \ |
| 256 assert(w <= 64); \ | 257 assert(w <= 64); \ |
| 257 assert(h <= 64); \ | 258 assert(h <= 64); \ |
| 258 if (x_step_q4 == 16 && y_step_q4 == 16) { \ | 259 if (x_step_q4 == 16 && y_step_q4 == 16) { \ |
| 259 if (filter_x[0] || filter_x[1] || filter_x[2] || filter_x[3] == 128 || \ | 260 if (filter_x[0] || filter_x[1] || filter_x[2] || filter_x[3] == 128 || \ |
| 260 filter_y[0] || filter_y[1] || filter_y[2] || filter_y[3] == 128) { \ | 261 filter_y[0] || filter_y[1] || filter_y[2] || filter_y[3] == 128) { \ |
| 261 DECLARE_ALIGNED_ARRAY(16, uint16_t, fdata2, 64 * 71); \ | 262 DECLARE_ALIGNED_ARRAY(16, uint16_t, fdata2, 64 * 71); \ |
| 262 vp9_high_convolve8_horiz_##opt(src - 3 * src_stride, src_stride, \ | 263 vp9_highbd_convolve8_horiz_##opt(src - 3 * src_stride, src_stride, \ |
| 263 CONVERT_TO_BYTEPTR(fdata2), 64, \ | 264 CONVERT_TO_BYTEPTR(fdata2), 64, \ |
| 264 filter_x, x_step_q4, filter_y, y_step_q4, \ | 265 filter_x, x_step_q4, \ |
| 265 w, h + 7, bd); \ | 266 filter_y, y_step_q4, \ |
| 266 vp9_high_convolve8_##avg##vert_##opt(CONVERT_TO_BYTEPTR(fdata2) + 192, \ | 267 w, h + 7, bd); \ |
| 267 64, dst, dst_stride, \ | 268 vp9_highbd_convolve8_##avg##vert_##opt(CONVERT_TO_BYTEPTR(fdata2) + 192, \ |
| 268 filter_x, x_step_q4, filter_y, \ | 269 64, dst, dst_stride, \ |
| 269 y_step_q4, w, h, bd); \ | 270 filter_x, x_step_q4, \ |
| 271 filter_y, y_step_q4, \ |
| 272 w, h, bd); \ |
| 270 } else { \ | 273 } else { \ |
| 271 DECLARE_ALIGNED_ARRAY(16, uint16_t, fdata2, 64 * 65); \ | 274 DECLARE_ALIGNED_ARRAY(16, uint16_t, fdata2, 64 * 65); \ |
| 272 vp9_high_convolve8_horiz_##opt(src, src_stride, \ | 275 vp9_highbd_convolve8_horiz_##opt(src, src_stride, \ |
| 273 CONVERT_TO_BYTEPTR(fdata2), 64, \ | 276 CONVERT_TO_BYTEPTR(fdata2), 64, \ |
| 274 filter_x, x_step_q4, filter_y, y_step_q4, \ | 277 filter_x, x_step_q4, \ |
| 275 w, h + 1, bd); \ | 278 filter_y, y_step_q4, \ |
| 276 vp9_high_convolve8_##avg##vert_##opt(CONVERT_TO_BYTEPTR(fdata2), 64, \ | 279 w, h + 1, bd); \ |
| 277 dst, dst_stride, \ | 280 vp9_highbd_convolve8_##avg##vert_##opt(CONVERT_TO_BYTEPTR(fdata2), 64, \ |
| 278 filter_x, x_step_q4, filter_y, \ | 281 dst, dst_stride, \ |
| 279 y_step_q4, w, h, bd); \ | 282 filter_x, x_step_q4, \ |
| 283 filter_y, y_step_q4, \ |
| 284 w, h, bd); \ |
| 280 } \ | 285 } \ |
| 281 } else { \ | 286 } else { \ |
| 282 vp9_high_convolve8_##avg##c(src, src_stride, dst, dst_stride, \ | 287 vp9_highbd_convolve8_##avg##c(src, src_stride, dst, dst_stride, \ |
| 283 filter_x, x_step_q4, filter_y, y_step_q4, w, \ | 288 filter_x, x_step_q4, filter_y, y_step_q4, w, \ |
| 284 h, bd); \ | 289 h, bd); \ |
| 285 } \ | 290 } \ |
| 286 } | 291 } |
| 287 #endif // CONFIG_VP9_HIGHBITDEPTH | 292 #endif // CONFIG_VP9_HIGHBITDEPTH |
| 288 | 293 |
| 289 #if HAVE_AVX2 && HAVE_SSSE3 | 294 #if HAVE_AVX2 && HAVE_SSSE3 |
| 290 filter8_1dfunction vp9_filter_block1d16_v8_avx2; | 295 filter8_1dfunction vp9_filter_block1d16_v8_avx2; |
| 291 filter8_1dfunction vp9_filter_block1d16_h8_avx2; | 296 filter8_1dfunction vp9_filter_block1d16_h8_avx2; |
| 292 filter8_1dfunction vp9_filter_block1d4_v8_ssse3; | 297 filter8_1dfunction vp9_filter_block1d4_v8_ssse3; |
| 293 #if ARCH_X86_64 | 298 #if ARCH_X86_64 |
| 294 filter8_1dfunction vp9_filter_block1d8_v8_intrin_ssse3; | 299 filter8_1dfunction vp9_filter_block1d8_v8_intrin_ssse3; |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 // int w, int h); | 483 // int w, int h); |
| 479 // void vp9_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, | 484 // void vp9_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, |
| 480 // uint8_t *dst, ptrdiff_t dst_stride, | 485 // uint8_t *dst, ptrdiff_t dst_stride, |
| 481 // const int16_t *filter_x, int x_step_q4, | 486 // const int16_t *filter_x, int x_step_q4, |
| 482 // const int16_t *filter_y, int y_step_q4, | 487 // const int16_t *filter_y, int y_step_q4, |
| 483 // int w, int h); | 488 // int w, int h); |
| 484 FUN_CONV_2D(, sse2); | 489 FUN_CONV_2D(, sse2); |
| 485 FUN_CONV_2D(avg_ , sse2); | 490 FUN_CONV_2D(avg_ , sse2); |
| 486 | 491 |
| 487 #if CONFIG_VP9_HIGHBITDEPTH && ARCH_X86_64 | 492 #if CONFIG_VP9_HIGHBITDEPTH && ARCH_X86_64 |
| 488 high_filter8_1dfunction vp9_high_filter_block1d16_v8_sse2; | 493 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_v8_sse2; |
| 489 high_filter8_1dfunction vp9_high_filter_block1d16_h8_sse2; | 494 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_h8_sse2; |
| 490 high_filter8_1dfunction vp9_high_filter_block1d8_v8_sse2; | 495 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_v8_sse2; |
| 491 high_filter8_1dfunction vp9_high_filter_block1d8_h8_sse2; | 496 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_h8_sse2; |
| 492 high_filter8_1dfunction vp9_high_filter_block1d4_v8_sse2; | 497 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_v8_sse2; |
| 493 high_filter8_1dfunction vp9_high_filter_block1d4_h8_sse2; | 498 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_h8_sse2; |
| 494 high_filter8_1dfunction vp9_high_filter_block1d16_v8_avg_sse2; | 499 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_v8_avg_sse2; |
| 495 high_filter8_1dfunction vp9_high_filter_block1d16_h8_avg_sse2; | 500 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_h8_avg_sse2; |
| 496 high_filter8_1dfunction vp9_high_filter_block1d8_v8_avg_sse2; | 501 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_v8_avg_sse2; |
| 497 high_filter8_1dfunction vp9_high_filter_block1d8_h8_avg_sse2; | 502 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_h8_avg_sse2; |
| 498 high_filter8_1dfunction vp9_high_filter_block1d4_v8_avg_sse2; | 503 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_v8_avg_sse2; |
| 499 high_filter8_1dfunction vp9_high_filter_block1d4_h8_avg_sse2; | 504 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_h8_avg_sse2; |
| 500 | 505 |
| 501 high_filter8_1dfunction vp9_high_filter_block1d16_v2_sse2; | 506 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_v2_sse2; |
| 502 high_filter8_1dfunction vp9_high_filter_block1d16_h2_sse2; | 507 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_h2_sse2; |
| 503 high_filter8_1dfunction vp9_high_filter_block1d8_v2_sse2; | 508 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_v2_sse2; |
| 504 high_filter8_1dfunction vp9_high_filter_block1d8_h2_sse2; | 509 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_h2_sse2; |
| 505 high_filter8_1dfunction vp9_high_filter_block1d4_v2_sse2; | 510 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_v2_sse2; |
| 506 high_filter8_1dfunction vp9_high_filter_block1d4_h2_sse2; | 511 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_h2_sse2; |
| 507 high_filter8_1dfunction vp9_high_filter_block1d16_v2_avg_sse2; | 512 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_v2_avg_sse2; |
| 508 high_filter8_1dfunction vp9_high_filter_block1d16_h2_avg_sse2; | 513 highbd_filter8_1dfunction vp9_highbd_filter_block1d16_h2_avg_sse2; |
| 509 high_filter8_1dfunction vp9_high_filter_block1d8_v2_avg_sse2; | 514 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_v2_avg_sse2; |
| 510 high_filter8_1dfunction vp9_high_filter_block1d8_h2_avg_sse2; | 515 highbd_filter8_1dfunction vp9_highbd_filter_block1d8_h2_avg_sse2; |
| 511 high_filter8_1dfunction vp9_high_filter_block1d4_v2_avg_sse2; | 516 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_v2_avg_sse2; |
| 512 high_filter8_1dfunction vp9_high_filter_block1d4_h2_avg_sse2; | 517 highbd_filter8_1dfunction vp9_highbd_filter_block1d4_h2_avg_sse2; |
| 513 | 518 |
| 514 // void vp9_high_convolve8_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, | 519 // void vp9_highbd_convolve8_horiz_sse2(const uint8_t *src, |
| 515 // uint8_t *dst, ptrdiff_t dst_stride, | 520 // ptrdiff_t src_stride, |
| 516 // const int16_t *filter_x, int x_step_q4, | 521 // uint8_t *dst, |
| 517 // const int16_t *filter_y, int y_step_q4, | 522 // ptrdiff_t dst_stride, |
| 518 // int w, int h, int bd); | 523 // const int16_t *filter_x, |
| 519 // void vp9_high_convolve8_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, | 524 // int x_step_q4, |
| 520 // uint8_t *dst, ptrdiff_t dst_stride, | 525 // const int16_t *filter_y, |
| 521 // const int16_t *filter_x, int x_step_q4, | 526 // int y_step_q4, |
| 522 // const int16_t *filter_y, int y_step_q4, | 527 // int w, int h, int bd); |
| 523 // int w, int h, int bd); | 528 // void vp9_highbd_convolve8_vert_sse2(const uint8_t *src, |
| 524 // void vp9_high_convolve8_avg_horiz_sse2(const uint8_t *src, | 529 // ptrdiff_t src_stride, |
| 525 // ptrdiff_t src_stride, | 530 // uint8_t *dst, |
| 526 // uint8_t *dst, ptrdiff_t dst_stride, | 531 // ptrdiff_t dst_stride, |
| 527 // const int16_t *filter_x, | 532 // const int16_t *filter_x, |
| 528 // int x_step_q4, | 533 // int x_step_q4, |
| 529 // const int16_t *filter_y, | 534 // const int16_t *filter_y, |
| 530 // int y_step_q4, | 535 // int y_step_q4, |
| 531 // int w, int h, int bd); | 536 // int w, int h, int bd); |
| 532 // void vp9_high_convolve8_avg_vert_sse2(const uint8_t *src, | 537 // void vp9_highbd_convolve8_avg_horiz_sse2(const uint8_t *src, |
| 533 // ptrdiff_t src_stride, | 538 // ptrdiff_t src_stride, |
| 534 // uint8_t *dst, ptrdiff_t dst_stride, | 539 // uint8_t *dst, |
| 535 // const int16_t *filter_x, int x_step_q4, | 540 // ptrdiff_t dst_stride, |
| 536 // const int16_t *filter_y, int y_step_q4, | 541 // const int16_t *filter_x, |
| 537 // int w, int h, int bd); | 542 // int x_step_q4, |
| 543 // const int16_t *filter_y, |
| 544 // int y_step_q4, |
| 545 // int w, int h, int bd); |
| 546 // void vp9_highbd_convolve8_avg_vert_sse2(const uint8_t *src, |
| 547 // ptrdiff_t src_stride, |
| 548 // uint8_t *dst, |
| 549 // ptrdiff_t dst_stride, |
| 550 // const int16_t *filter_x, |
| 551 // int x_step_q4, |
| 552 // const int16_t *filter_y, |
| 553 // int y_step_q4, |
| 554 // int w, int h, int bd); |
| 538 HIGH_FUN_CONV_1D(horiz, x_step_q4, filter_x, h, src, , sse2); | 555 HIGH_FUN_CONV_1D(horiz, x_step_q4, filter_x, h, src, , sse2); |
| 539 HIGH_FUN_CONV_1D(vert, y_step_q4, filter_y, v, src - src_stride * 3, , sse2); | 556 HIGH_FUN_CONV_1D(vert, y_step_q4, filter_y, v, src - src_stride * 3, , sse2); |
| 540 HIGH_FUN_CONV_1D(avg_horiz, x_step_q4, filter_x, h, src, avg_, sse2); | 557 HIGH_FUN_CONV_1D(avg_horiz, x_step_q4, filter_x, h, src, avg_, sse2); |
| 541 HIGH_FUN_CONV_1D(avg_vert, y_step_q4, filter_y, v, src - src_stride * 3, avg_, | 558 HIGH_FUN_CONV_1D(avg_vert, y_step_q4, filter_y, v, src - src_stride * 3, avg_, |
| 542 sse2); | 559 sse2); |
| 543 | 560 |
| 544 // void vp9_high_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, | 561 // void vp9_highbd_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, |
| 545 // uint8_t *dst, ptrdiff_t dst_stride, | 562 // uint8_t *dst, ptrdiff_t dst_stride, |
| 546 // const int16_t *filter_x, int x_step_q4, | 563 // const int16_t *filter_x, int x_step_q4, |
| 547 // const int16_t *filter_y, int y_step_q4, | 564 // const int16_t *filter_y, int y_step_q4, |
| 548 // int w, int h, int bd); | 565 // int w, int h, int bd); |
| 549 // void vp9_high_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, | 566 // void vp9_highbd_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, |
| 550 // uint8_t *dst, ptrdiff_t dst_stride, | 567 // uint8_t *dst, ptrdiff_t dst_stride, |
| 551 // const int16_t *filter_x, int x_step_q4, | 568 // const int16_t *filter_x, int x_step_q4, |
| 552 // const int16_t *filter_y, int y_step_q4, | 569 // const int16_t *filter_y, int y_step_q4, |
| 553 // int w, int h, int bd); | 570 // int w, int h, int bd); |
| 554 HIGH_FUN_CONV_2D(, sse2); | 571 HIGH_FUN_CONV_2D(, sse2); |
| 555 HIGH_FUN_CONV_2D(avg_ , sse2); | 572 HIGH_FUN_CONV_2D(avg_ , sse2); |
| 556 #endif // CONFIG_VP9_HIGHBITDEPTH && ARCH_X86_64 | 573 #endif // CONFIG_VP9_HIGHBITDEPTH && ARCH_X86_64 |
| 557 #endif // HAVE_SSE2 | 574 #endif // HAVE_SSE2 |
| OLD | NEW |