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 
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)27 void aom_highbd_blend_a64_hmask_sse4_1(
28     uint8_t *dst_8, uint32_t dst_stride, const uint8_t *src0_8,
29     uint32_t src0_stride, const uint8_t *src1_8, uint32_t src1_stride,
30     const uint8_t *mask, int w, int h, int bd) {
31   aom_highbd_blend_a64_mask_sse4_1(dst_8, dst_stride, src0_8, src0_stride,
32                                    src1_8, src1_stride, mask, 0, w, h, 0, 0,
33                                    bd);
34 }
35