OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 | 275 |
276 for (y = 0; y < h; ++y) { | 276 for (y = 0; y < h; ++y) { |
277 for (x = 0; x < w; ++x) | 277 for (x = 0; x < w; ++x) |
278 dst[x] = ROUND_POWER_OF_TWO(dst[x] + src[x], 1); | 278 dst[x] = ROUND_POWER_OF_TWO(dst[x] + src[x], 1); |
279 | 279 |
280 src += src_stride; | 280 src += src_stride; |
281 dst += dst_stride; | 281 dst += dst_stride; |
282 } | 282 } |
283 } | 283 } |
284 | 284 |
| 285 void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, |
| 286 uint8_t *dst, ptrdiff_t dst_stride, |
| 287 const int16_t *filter_x, int x_step_q4, |
| 288 const int16_t *filter_y, int y_step_q4, |
| 289 int w, int h) { |
| 290 vpx_convolve8_horiz_c(src, src_stride, dst, dst_stride, filter_x, x_step_q4, |
| 291 filter_y, y_step_q4, w, h); |
| 292 } |
| 293 |
| 294 void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, |
| 295 uint8_t *dst, ptrdiff_t dst_stride, |
| 296 const int16_t *filter_x, int x_step_q4, |
| 297 const int16_t *filter_y, int y_step_q4, |
| 298 int w, int h) { |
| 299 vpx_convolve8_vert_c(src, src_stride, dst, dst_stride, filter_x, x_step_q4, |
| 300 filter_y, y_step_q4, w, h); |
| 301 } |
| 302 |
| 303 void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, |
| 304 uint8_t *dst, ptrdiff_t dst_stride, |
| 305 const int16_t *filter_x, int x_step_q4, |
| 306 const int16_t *filter_y, int y_step_q4, |
| 307 int w, int h) { |
| 308 vpx_convolve8_c(src, src_stride, dst, dst_stride, filter_x, x_step_q4, |
| 309 filter_y, y_step_q4, w, h); |
| 310 } |
| 311 |
| 312 void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, |
| 313 uint8_t *dst, ptrdiff_t dst_stride, |
| 314 const int16_t *filter_x, int x_step_q4, |
| 315 const int16_t *filter_y, int y_step_q4, |
| 316 int w, int h) { |
| 317 vpx_convolve8_avg_horiz_c(src, src_stride, dst, dst_stride, filter_x, |
| 318 x_step_q4, filter_y, y_step_q4, w, h); |
| 319 } |
| 320 |
| 321 void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, |
| 322 uint8_t *dst, ptrdiff_t dst_stride, |
| 323 const int16_t *filter_x, int x_step_q4, |
| 324 const int16_t *filter_y, int y_step_q4, |
| 325 int w, int h) { |
| 326 vpx_convolve8_avg_vert_c(src, src_stride, dst, dst_stride, filter_x, |
| 327 x_step_q4, filter_y, y_step_q4, w, h); |
| 328 } |
| 329 |
| 330 void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, |
| 331 uint8_t *dst, ptrdiff_t dst_stride, |
| 332 const int16_t *filter_x, int x_step_q4, |
| 333 const int16_t *filter_y, int y_step_q4, |
| 334 int w, int h) { |
| 335 vpx_convolve8_avg_c(src, src_stride, dst, dst_stride, filter_x, x_step_q4, |
| 336 filter_y, y_step_q4, w, h); |
| 337 } |
| 338 |
285 #if CONFIG_VP9_HIGHBITDEPTH | 339 #if CONFIG_VP9_HIGHBITDEPTH |
286 static void highbd_convolve_horiz(const uint8_t *src8, ptrdiff_t src_stride, | 340 static void highbd_convolve_horiz(const uint8_t *src8, ptrdiff_t src_stride, |
287 uint8_t *dst8, ptrdiff_t dst_stride, | 341 uint8_t *dst8, ptrdiff_t dst_stride, |
288 const InterpKernel *x_filters, | 342 const InterpKernel *x_filters, |
289 int x0_q4, int x_step_q4, | 343 int x0_q4, int x_step_q4, |
290 int w, int h, int bd) { | 344 int w, int h, int bd) { |
291 int x, y; | 345 int x, y; |
292 uint16_t *src = CONVERT_TO_SHORTPTR(src8); | 346 uint16_t *src = CONVERT_TO_SHORTPTR(src8); |
293 uint16_t *dst = CONVERT_TO_SHORTPTR(dst8); | 347 uint16_t *dst = CONVERT_TO_SHORTPTR(dst8); |
294 src -= SUBPEL_TAPS / 2 - 1; | 348 src -= SUBPEL_TAPS / 2 - 1; |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 | 603 |
550 for (y = 0; y < h; ++y) { | 604 for (y = 0; y < h; ++y) { |
551 for (x = 0; x < w; ++x) { | 605 for (x = 0; x < w; ++x) { |
552 dst[x] = ROUND_POWER_OF_TWO(dst[x] + src[x], 1); | 606 dst[x] = ROUND_POWER_OF_TWO(dst[x] + src[x], 1); |
553 } | 607 } |
554 src += src_stride; | 608 src += src_stride; |
555 dst += dst_stride; | 609 dst += dst_stride; |
556 } | 610 } |
557 } | 611 } |
558 #endif | 612 #endif |
OLD | NEW |