blob: e0289abe1253ef491361a543e614d85a9e633935 [file] [log] [blame]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001/*
Yaowu Xu9c01aa12016-09-01 14:32:49 -07002 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
Yaowu Xuc27fc142016-08-22 16:08:15 -07003 *
Yaowu Xu9c01aa12016-09-01 14:32:49 -07004 * 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 Xuc27fc142016-08-22 16:08:15 -070010 */
11
Yaowu Xuf883b422016-08-30 14:01:10 -070012#include "aom/aom_integer.h"
Yaowu Xuc27fc142016-08-22 16:08:15 -070013
Tom Finegan44702c82018-05-22 13:00:39 -070014#include "config/aom_dsp_rtcd.h"
Yaowu Xuc27fc142016-08-22 16:08:15 -070015
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 Xuf883b422016-08-30 14:01:10 -070019void aom_blend_a64_hmask_sse4_1(uint8_t *dst, uint32_t dst_stride,
Yaowu Xuc27fc142016-08-22 16:08:15 -070020 const uint8_t *src0, uint32_t src0_stride,
21 const uint8_t *src1, uint32_t src1_stride,
Scott LaVarnway589b7a12018-06-06 06:29:16 -070022 const uint8_t *mask, int w, int h) {
Yaowu Xuf883b422016-08-30 14:01:10 -070023 aom_blend_a64_mask_sse4_1(dst, dst_stride, src0, src0_stride, src1,
Scott LaVarnway589b7a12018-06-06 06:29:16 -070024 src1_stride, mask, 0, w, h, 0, 0);
Yaowu Xuc27fc142016-08-22 16:08:15 -070025}
26
Jerome Jiang1cb298c2019-09-17 11:04:04 -070027#if CONFIG_AV1_HIGHBITDEPTH
Yaowu Xuf883b422016-08-30 14:01:10 -070028void aom_highbd_blend_a64_hmask_sse4_1(
Yaowu Xuc27fc142016-08-22 16:08:15 -070029 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 LaVarnway589b7a12018-06-06 06:29:16 -070031 const uint8_t *mask, int w, int h, int bd) {
Yaowu Xuf883b422016-08-30 14:01:10 -070032 aom_highbd_blend_a64_mask_sse4_1(dst_8, dst_stride, src0_8, src0_stride,
Scott LaVarnway589b7a12018-06-06 06:29:16 -070033 src1_8, src1_stride, mask, 0, w, h, 0, 0,
Yaowu Xuc27fc142016-08-22 16:08:15 -070034 bd);
35}
Jerome Jiang1cb298c2019-09-17 11:04:04 -070036#endif