1 /*
2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 *
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.
10 */
11
12 #include "aom/aom_integer.h"
13
14 #include "config/aom_dsp_rtcd.h"
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
aom_blend_a64_hmask_sse4_1(uint8_t * dst,uint32_t dst_stride,const uint8_t * src0,uint32_t src0_stride,const uint8_t * src1,uint32_t src1_stride,const uint8_t * mask,int w,int h)19 void aom_blend_a64_hmask_sse4_1(uint8_t *dst, uint32_t dst_stride,
20 const uint8_t *src0, uint32_t src0_stride,
21 const uint8_t *src1, uint32_t src1_stride,
22 const uint8_t *mask, int w, int h) {
23 aom_blend_a64_mask_sse4_1(dst, dst_stride, src0, src0_stride, src1,
24 src1_stride, mask, 0, w, h, 0, 0);
25 }
26
27 #if CONFIG_AV1_HIGHBITDEPTH
aom_highbd_blend_a64_hmask_sse4_1(uint8_t * dst_8,uint32_t dst_stride,const uint8_t * src0_8,uint32_t src0_stride,const uint8_t * src1_8,uint32_t src1_stride,const uint8_t * mask,int w,int h,int bd)28 void aom_highbd_blend_a64_hmask_sse4_1(
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,
31 const uint8_t *mask, int w, int h, int bd) {
32 aom_highbd_blend_a64_mask_sse4_1(dst_8, dst_stride, src0_8, src0_stride,
33 src1_8, src1_stride, mask, 0, w, h, 0, 0,
34 bd);
35 }
36 #endif
37