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 |