Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 1 | /* |
Yaowu Xu | 9c01aa1 | 2016-09-01 14:32:49 -0700 | [diff] [blame] | 2 | * Copyright (c) 2016, Alliance for Open Media. All rights reserved |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 3 | * |
Yaowu Xu | 9c01aa1 | 2016-09-01 14:32:49 -0700 | [diff] [blame] | 4 | * This source code is subject to the terms of the BSD 2 Clause License and |
| 5 | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
| 6 | * was not distributed with this source code in the LICENSE file, you can |
| 7 | * obtain it at www.aomedia.org/license/software. If the Alliance for Open |
| 8 | * Media Patent License 1.0 was not distributed with this source code in the |
| 9 | * PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 10 | */ |
| 11 | |
Yaowu Xu | f883b42 | 2016-08-30 14:01:10 -0700 | [diff] [blame] | 12 | #include "aom/aom_integer.h" |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 13 | |
Tom Finegan | 44702c8 | 2018-05-22 13:00:39 -0700 | [diff] [blame] | 14 | #include "config/aom_dsp_rtcd.h" |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 15 | |
| 16 | // To start out, just dispatch to the function using the 2D mask and |
| 17 | // pass mask stride as 0. This can be improved upon if necessary. |
| 18 | |
Yaowu Xu | f883b42 | 2016-08-30 14:01:10 -0700 | [diff] [blame] | 19 | void aom_blend_a64_hmask_sse4_1(uint8_t *dst, uint32_t dst_stride, |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 20 | const uint8_t *src0, uint32_t src0_stride, |
| 21 | const uint8_t *src1, uint32_t src1_stride, |
Scott LaVarnway | 589b7a1 | 2018-06-06 06:29:16 -0700 | [diff] [blame] | 22 | const uint8_t *mask, int w, int h) { |
Yaowu Xu | f883b42 | 2016-08-30 14:01:10 -0700 | [diff] [blame] | 23 | aom_blend_a64_mask_sse4_1(dst, dst_stride, src0, src0_stride, src1, |
Scott LaVarnway | 589b7a1 | 2018-06-06 06:29:16 -0700 | [diff] [blame] | 24 | src1_stride, mask, 0, w, h, 0, 0); |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 25 | } |
| 26 | |
Jerome Jiang | 1cb298c | 2019-09-17 11:04:04 -0700 | [diff] [blame] | 27 | #if CONFIG_AV1_HIGHBITDEPTH |
Yaowu Xu | f883b42 | 2016-08-30 14:01:10 -0700 | [diff] [blame] | 28 | void aom_highbd_blend_a64_hmask_sse4_1( |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 29 | uint8_t *dst_8, uint32_t dst_stride, const uint8_t *src0_8, |
| 30 | uint32_t src0_stride, const uint8_t *src1_8, uint32_t src1_stride, |
Scott LaVarnway | 589b7a1 | 2018-06-06 06:29:16 -0700 | [diff] [blame] | 31 | const uint8_t *mask, int w, int h, int bd) { |
Yaowu Xu | f883b42 | 2016-08-30 14:01:10 -0700 | [diff] [blame] | 32 | aom_highbd_blend_a64_mask_sse4_1(dst_8, dst_stride, src0_8, src0_stride, |
Scott LaVarnway | 589b7a1 | 2018-06-06 06:29:16 -0700 | [diff] [blame] | 33 | src1_8, src1_stride, mask, 0, w, h, 0, 0, |
Yaowu Xu | c27fc14 | 2016-08-22 16:08:15 -0700 | [diff] [blame] | 34 | bd); |
| 35 | } |
Jerome Jiang | 1cb298c | 2019-09-17 11:04:04 -0700 | [diff] [blame] | 36 | #endif |