10d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/****************************************************************************** 20d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 30d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 40d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 50d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Licensed under the Apache License, Version 2.0 (the "License"); 60d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* you may not use this file except in compliance with the License. 70d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* You may obtain a copy of the License at: 80d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 90d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* http://www.apache.org/licenses/LICENSE-2.0 100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Unless required by applicable law or agreed to in writing, software 120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* distributed under the License is distributed on an "AS IS" BASIS, 130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* See the License for the specific language governing permissions and 150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* limitations under the License. 160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************/ 180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/** 190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @file 210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* ihevc_inter_pred.h 220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief 240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Declarations for the fucntions defined in ihevc_inter_pred_ft.c 250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @author 270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Srinivas T 280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @par List of Functions: 300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks 320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* None 330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* 340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************* 350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/ 360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#ifndef _IHEVC_INTER_PRED_H_ 370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define _IHEVC_INTER_PRED_H_ 380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define NTAPS_LUMA 8 400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define NTAPS_CHROMA 4 410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define SHIFT_14_MINUS_BIT_DEPTH (14 - BIT_DEPTH) 420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define OFFSET_14_MINUS_BIT_DEPTH (1 << (SHIFT_14_MINUS_BIT_DEPTH - 1)) 430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define OFFSET14 (1 << (14 - 1)) 440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define FILTER_PREC 6 450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define REF_WIDTH 1280 470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define REF_HEIGHT 720 480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* Function Declarations */ 510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/*****************************************************************************/ 520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_inter_pred_ft( 540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 *pu1_src, 550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 *pu1_dst, 560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd); 610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_inter_pred_w16out_ft( 630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 *pu1_src, 640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_dst, 650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd); 700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_inter_pred_w16inp_ft( 720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src, 730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 *pu1_dst, 740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd); 790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_inter_pred_w16inp_w16out_ft( 810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src, 820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_dst, 830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd); 880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_inter_pred_ft(UWORD16 *pu2_src, 910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_inter_pred_w16out_ft( 1010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_src, 1020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_dst, 1030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 1040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 1060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_inter_pred_w16inp_ft( 1120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src, 1130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 1150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 1170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_inter_pred_w16inp_w16out_ft( 1230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src, 1240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_dst, 1250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 1260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD8 *pi1_coeff, 1280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_uni_ft( 1330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src, 1340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 1360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0, 1380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0, 1390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 shift, 1400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift, 1410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_bi_ft( 1470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src1, 1480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src2, 1490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd1, 1510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd2, 1520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0, 1540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0, 1550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt1, 1560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off1, 1570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 shift, 1580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift1, 1590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift2, 1600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_bi_default_ft( 1660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src1, 1670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src2, 1680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd1, 1700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd2, 1710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift1, 1730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift2, 1740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_chroma_uni_ft(WORD16 *pi2_src, 1780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd, 1800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0_cb, 1820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0_cr, 1830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0_cb, 1840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0_cr, 1850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 shift, 1860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift, 1870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 1880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 1890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 1900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 1910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_chroma_bi_ft(WORD16 *pi2_src1, 1920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src2, 1930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 1940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd1, 1950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd2, 1960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 1970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0_cb, 1980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt0_cr, 1990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0_cb, 2000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off0_cr, 2010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt1_cb, 2020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wgt1_cr, 2030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off1_cb, 2040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 off1_cr, 2050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 shift, 2060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift1, 2070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift2, 2080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 2090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 2100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 2110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakartypedef void ihevc_hbd_weighted_pred_chroma_bi_default_ft(WORD16 *pi2_src1, 2130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD16 *pi2_src2, 2140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD16 *pu2_dst, 2150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd1, 2160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 src_strd2, 2170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 dst_strd, 2180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift1, 2190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 lvl_shift2, 2200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 ht, 2210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar WORD32 wd, 2220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar UWORD8 bit_depth); 2230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* C function declarations */ 2240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy; 2250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz; 2260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert; 2270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out; 2280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out; 2290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out; 2300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp; 2310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out; 2320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy; 2330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz; 2340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert; 2350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out; 2360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out; 2370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out; 2380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp; 2390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out; 2400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_copy; 2420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_horz; 2430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_vert; 2440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_copy_w16out; 2450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_horz_w16out; 2460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16out; 2470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_luma_vert_w16inp; 2480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16inp_w16out; 2490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_copy; 2500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_horz; 2510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_vert; 2520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_copy_w16out; 2530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_horz_w16out; 2540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16out; 2550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_chroma_vert_w16inp; 2560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_w16out; 2570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_uni_ft ihevc_hbd_weighted_pred_uni; 2580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_bi_ft ihevc_hbd_weighted_pred_bi; 2590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_bi_default_ft ihevc_hbd_weighted_pred_bi_default; 2600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_uni_ft ihevc_hbd_weighted_pred_chroma_uni; 2610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_bi_ft ihevc_hbd_weighted_pred_chroma_bi; 2620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_bi_default_ft ihevc_hbd_weighted_pred_chroma_bi_default; 2630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* A9 Q function declarations */ 2650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_a9q; 2660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_a9q; 2670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_a9q; 2680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_a9q; 2690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_a9q; 2700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_a9q; 2710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_a9q; 2720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_a9q; 2730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_a9q; 2740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_a9q; 2750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_a9q; 2760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_a9q; 2770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_a9q; 2780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_a9q; 2790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_a9q; 2800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_a9q; 2810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 2820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* A9 A function declarations */ 2830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_a9a; 2840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_a9a; 2850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_a9a; 2860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_a9a; 2870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_a9a; 2880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_a9a; 2890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_a9a; 2900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_a9a; 2910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_a9a; 2920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_a9a; 2930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_a9a; 2940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_a9a; 2950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_a9a; 2960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_a9a; 2970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_a9a; 2980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_a9a; 2990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* NEONINTR function declarations */ 3010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_neonintr; 3020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_neonintr; 3030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_neonintr; 3040d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_neonintr; 3050d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_neonintr; 3060d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_neonintr; 3070d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_neonintr; 3080d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_neonintr; 3090d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_neonintr; 3100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_neonintr; 3110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_neonintr; 3120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_neonintr; 3130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_neonintr; 3140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_neonintr; 3150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_neonintr; 3160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_neonintr; 3170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* SSSE31 function declarations */ 3190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_ssse3; 3200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_ssse3; 3210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_ssse3; 3220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_ssse3; 3230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_ssse3; 3240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_ssse3; 3250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_ssse3; 3260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_ssse3; 3270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_ssse3; 3280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_ssse3; 3290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_ssse3; 3300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_ssse3; 3310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_ssse3; 3320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_ssse3; 3330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_ssse3; 3340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_ssse3; 3350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* SSE42 function declarations */ 3370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_sse42; 3380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_sse42; 3390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_sse42; 3400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_copy_sse42; 3420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_horz_sse42; 3430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_vert_sse42; 3440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_copy_w16out_sse42; 3450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_horz_w16out_sse42; 3460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16out_sse42; 3470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_luma_vert_w16inp_sse42; 3480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16inp_w16out_sse42; 3490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_copy_sse42; 3510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_horz_sse42; 3520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_vert_sse42; 3530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_copy_w16out_sse42; 3540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_horz_w16out_sse42; 3550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16out_sse42; 3560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_sse42; 3570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_w16out_sse42; 3580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3590d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_uni_ft ihevc_hbd_weighted_pred_uni_sse42; 3600d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_bi_ft ihevc_hbd_weighted_pred_bi_sse42; 3610d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_bi_default_ft ihevc_hbd_weighted_pred_bi_default_sse42; 3620d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_uni_ft ihevc_hbd_weighted_pred_chroma_uni_sse42; 3630d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_bi_ft ihevc_hbd_weighted_pred_chroma_bi_sse42; 3640d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_hbd_weighted_pred_chroma_bi_default_ft ihevc_hbd_weighted_pred_chroma_bi_default_sse42; 3650d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3660d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#ifndef DISABLE_AVX2 3670d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* AVX2 function declarations */ 3680d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_avx2; 3690d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_avx2; 3700d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_avx2; 3710d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_avx2; 3720d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_avx2; 3730d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_avx2; 3740d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_avx2; 3750d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_avx2; 3760d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_avx2; 3770d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_avx2; 3780d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_avx2; 3790d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_avx2; 3800d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_avx2; 3810d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_avx2; 3820d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_avx2; 3830d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_avx2; 3840d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#endif 3850d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 3860d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* armv8 function declarations */ 3870d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_copy_av8; 3880d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_horz_av8; 3890d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_luma_vert_av8; 3900d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_av8; 3910d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_av8; 3920d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_av8; 3930d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_av8; 3940d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_av8; 3950d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_av8; 3960d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_av8; 3970d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_av8; 3980d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_av8; 3990d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_av8; 4000d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_av8; 4010d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_av8; 4020d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_av8; 4030d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#endif /*_IHEVC_INTER_PRED_H_*/ 404