1/****************************************************************************** 2* 3* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 4* 5* Licensed under the Apache License, Version 2.0 (the "License"); 6* you may not use this file except in compliance with the License. 7* You may obtain a copy of the License at: 8* 9* http://www.apache.org/licenses/LICENSE-2.0 10* 11* Unless required by applicable law or agreed to in writing, software 12* distributed under the License is distributed on an "AS IS" BASIS, 13* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14* See the License for the specific language governing permissions and 15* limitations under the License. 16* 17******************************************************************************/ 18/** 19******************************************************************************* 20* @file 21* ihevc_inter_pred.h 22* 23* @brief 24* Declarations for the fucntions defined in ihevc_inter_pred_ft.c 25* 26* @author 27* Srinivas T 28* 29* @par List of Functions: 30* 31* @remarks 32* None 33* 34******************************************************************************* 35*/ 36#ifndef _IHEVC_INTER_PRED_H_ 37#define _IHEVC_INTER_PRED_H_ 38 39#define NTAPS_LUMA 8 40#define NTAPS_CHROMA 4 41#define SHIFT_14_MINUS_BIT_DEPTH (14 - BIT_DEPTH) 42#define OFFSET_14_MINUS_BIT_DEPTH (1 << (SHIFT_14_MINUS_BIT_DEPTH - 1)) 43#define OFFSET14 (1 << (14 - 1)) 44#define FILTER_PREC 6 45 46#define REF_WIDTH 1280 47#define REF_HEIGHT 720 48 49/*****************************************************************************/ 50/* Function Declarations */ 51/*****************************************************************************/ 52 53typedef void ihevc_inter_pred_ft( 54 UWORD8 *pu1_src, 55 UWORD8 *pu1_dst, 56 WORD32 src_strd, 57 WORD32 dst_strd, 58 WORD8 *pi1_coeff, 59 WORD32 ht, 60 WORD32 wd); 61 62typedef void ihevc_inter_pred_w16out_ft( 63 UWORD8 *pu1_src, 64 WORD16 *pi2_dst, 65 WORD32 src_strd, 66 WORD32 dst_strd, 67 WORD8 *pi1_coeff, 68 WORD32 ht, 69 WORD32 wd); 70 71typedef void ihevc_inter_pred_w16inp_ft( 72 WORD16 *pi2_src, 73 UWORD8 *pu1_dst, 74 WORD32 src_strd, 75 WORD32 dst_strd, 76 WORD8 *pi1_coeff, 77 WORD32 ht, 78 WORD32 wd); 79 80typedef void ihevc_inter_pred_w16inp_w16out_ft( 81 WORD16 *pi2_src, 82 WORD16 *pi2_dst, 83 WORD32 src_strd, 84 WORD32 dst_strd, 85 WORD8 *pi1_coeff, 86 WORD32 ht, 87 WORD32 wd); 88 89 90typedef void ihevc_hbd_inter_pred_ft(UWORD16 *pu2_src, 91 UWORD16 *pu2_dst, 92 WORD32 src_strd, 93 WORD32 dst_strd, 94 WORD8 *pi1_coeff, 95 WORD32 ht, 96 WORD32 wd, 97 UWORD8 bit_depth); 98 99 100typedef void ihevc_hbd_inter_pred_w16out_ft( 101 UWORD16 *pu2_src, 102 WORD16 *pi2_dst, 103 WORD32 src_strd, 104 WORD32 dst_strd, 105 WORD8 *pi1_coeff, 106 WORD32 ht, 107 WORD32 wd, 108 UWORD8 bit_depth); 109 110 111typedef void ihevc_hbd_inter_pred_w16inp_ft( 112 WORD16 *pi2_src, 113 UWORD16 *pu2_dst, 114 WORD32 src_strd, 115 WORD32 dst_strd, 116 WORD8 *pi1_coeff, 117 WORD32 ht, 118 WORD32 wd, 119 UWORD8 bit_depth); 120 121 122typedef void ihevc_hbd_inter_pred_w16inp_w16out_ft( 123 WORD16 *pi2_src, 124 WORD16 *pi2_dst, 125 WORD32 src_strd, 126 WORD32 dst_strd, 127 WORD8 *pi1_coeff, 128 WORD32 ht, 129 WORD32 wd, 130 UWORD8 bit_depth); 131 132typedef void ihevc_hbd_weighted_pred_uni_ft( 133 WORD16 *pi2_src, 134 UWORD16 *pu2_dst, 135 WORD32 src_strd, 136 WORD32 dst_strd, 137 WORD32 wgt0, 138 WORD32 off0, 139 WORD32 shift, 140 WORD32 lvl_shift, 141 WORD32 ht, 142 WORD32 wd, 143 UWORD8 bit_depth); 144 145 146typedef void ihevc_hbd_weighted_pred_bi_ft( 147 WORD16 *pi2_src1, 148 WORD16 *pi2_src2, 149 UWORD16 *pu2_dst, 150 WORD32 src_strd1, 151 WORD32 src_strd2, 152 WORD32 dst_strd, 153 WORD32 wgt0, 154 WORD32 off0, 155 WORD32 wgt1, 156 WORD32 off1, 157 WORD32 shift, 158 WORD32 lvl_shift1, 159 WORD32 lvl_shift2, 160 WORD32 ht, 161 WORD32 wd, 162 UWORD8 bit_depth); 163 164 165typedef void ihevc_hbd_weighted_pred_bi_default_ft( 166 WORD16 *pi2_src1, 167 WORD16 *pi2_src2, 168 UWORD16 *pu2_dst, 169 WORD32 src_strd1, 170 WORD32 src_strd2, 171 WORD32 dst_strd, 172 WORD32 lvl_shift1, 173 WORD32 lvl_shift2, 174 WORD32 ht, 175 WORD32 wd, 176 UWORD8 bit_depth); 177typedef void ihevc_hbd_weighted_pred_chroma_uni_ft(WORD16 *pi2_src, 178 UWORD16 *pu2_dst, 179 WORD32 src_strd, 180 WORD32 dst_strd, 181 WORD32 wgt0_cb, 182 WORD32 wgt0_cr, 183 WORD32 off0_cb, 184 WORD32 off0_cr, 185 WORD32 shift, 186 WORD32 lvl_shift, 187 WORD32 ht, 188 WORD32 wd, 189 UWORD8 bit_depth); 190 191typedef void ihevc_hbd_weighted_pred_chroma_bi_ft(WORD16 *pi2_src1, 192 WORD16 *pi2_src2, 193 UWORD16 *pu2_dst, 194 WORD32 src_strd1, 195 WORD32 src_strd2, 196 WORD32 dst_strd, 197 WORD32 wgt0_cb, 198 WORD32 wgt0_cr, 199 WORD32 off0_cb, 200 WORD32 off0_cr, 201 WORD32 wgt1_cb, 202 WORD32 wgt1_cr, 203 WORD32 off1_cb, 204 WORD32 off1_cr, 205 WORD32 shift, 206 WORD32 lvl_shift1, 207 WORD32 lvl_shift2, 208 WORD32 ht, 209 WORD32 wd, 210 UWORD8 bit_depth); 211 212typedef void ihevc_hbd_weighted_pred_chroma_bi_default_ft(WORD16 *pi2_src1, 213 WORD16 *pi2_src2, 214 UWORD16 *pu2_dst, 215 WORD32 src_strd1, 216 WORD32 src_strd2, 217 WORD32 dst_strd, 218 WORD32 lvl_shift1, 219 WORD32 lvl_shift2, 220 WORD32 ht, 221 WORD32 wd, 222 UWORD8 bit_depth); 223/* C function declarations */ 224ihevc_inter_pred_ft ihevc_inter_pred_luma_copy; 225ihevc_inter_pred_ft ihevc_inter_pred_luma_horz; 226ihevc_inter_pred_ft ihevc_inter_pred_luma_vert; 227ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out; 228ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out; 229ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out; 230ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp; 231ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out; 232ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy; 233ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz; 234ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert; 235ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out; 236ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out; 237ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out; 238ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp; 239ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out; 240 241ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_copy; 242ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_horz; 243ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_vert; 244ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_copy_w16out; 245ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_horz_w16out; 246ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16out; 247ihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_luma_vert_w16inp; 248ihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16inp_w16out; 249ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_copy; 250ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_horz; 251ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_vert; 252ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_copy_w16out; 253ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_horz_w16out; 254ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16out; 255ihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_chroma_vert_w16inp; 256ihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_w16out; 257ihevc_hbd_weighted_pred_uni_ft ihevc_hbd_weighted_pred_uni; 258ihevc_hbd_weighted_pred_bi_ft ihevc_hbd_weighted_pred_bi; 259ihevc_hbd_weighted_pred_bi_default_ft ihevc_hbd_weighted_pred_bi_default; 260ihevc_hbd_weighted_pred_chroma_uni_ft ihevc_hbd_weighted_pred_chroma_uni; 261ihevc_hbd_weighted_pred_chroma_bi_ft ihevc_hbd_weighted_pred_chroma_bi; 262ihevc_hbd_weighted_pred_chroma_bi_default_ft ihevc_hbd_weighted_pred_chroma_bi_default; 263 264/* A9 Q function declarations */ 265ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_a9q; 266ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_a9q; 267ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_a9q; 268ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_a9q; 269ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_a9q; 270ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_a9q; 271ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_a9q; 272ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_a9q; 273ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_a9q; 274ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_a9q; 275ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_a9q; 276ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_a9q; 277ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_a9q; 278ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_a9q; 279ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_a9q; 280ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_a9q; 281 282/* A9 A function declarations */ 283ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_a9a; 284ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_a9a; 285ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_a9a; 286ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_a9a; 287ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_a9a; 288ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_a9a; 289ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_a9a; 290ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_a9a; 291ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_a9a; 292ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_a9a; 293ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_a9a; 294ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_a9a; 295ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_a9a; 296ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_a9a; 297ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_a9a; 298ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_a9a; 299 300/* NEONINTR function declarations */ 301ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_neonintr; 302ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_neonintr; 303ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_neonintr; 304ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_neonintr; 305ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_neonintr; 306ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_neonintr; 307ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_neonintr; 308ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_neonintr; 309ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_neonintr; 310ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_neonintr; 311ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_neonintr; 312ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_neonintr; 313ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_neonintr; 314ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_neonintr; 315ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_neonintr; 316ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_neonintr; 317 318/* SSSE31 function declarations */ 319ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_ssse3; 320ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_ssse3; 321ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_ssse3; 322ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_ssse3; 323ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_ssse3; 324ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_ssse3; 325ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_ssse3; 326ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_ssse3; 327ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_ssse3; 328ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_ssse3; 329ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_ssse3; 330ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_ssse3; 331ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_ssse3; 332ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_ssse3; 333ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_ssse3; 334ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_ssse3; 335 336/* SSE42 function declarations */ 337ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_sse42; 338ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_sse42; 339ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_sse42; 340 341ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_copy_sse42; 342ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_horz_sse42; 343ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_luma_vert_sse42; 344ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_copy_w16out_sse42; 345ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_horz_w16out_sse42; 346ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16out_sse42; 347ihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_luma_vert_w16inp_sse42; 348ihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_luma_vert_w16inp_w16out_sse42; 349 350ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_copy_sse42; 351ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_horz_sse42; 352ihevc_hbd_inter_pred_ft ihevc_hbd_inter_pred_chroma_vert_sse42; 353ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_copy_w16out_sse42; 354ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_horz_w16out_sse42; 355ihevc_hbd_inter_pred_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16out_sse42; 356ihevc_hbd_inter_pred_w16inp_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_sse42; 357ihevc_hbd_inter_pred_w16inp_w16out_ft ihevc_hbd_inter_pred_chroma_vert_w16inp_w16out_sse42; 358 359ihevc_hbd_weighted_pred_uni_ft ihevc_hbd_weighted_pred_uni_sse42; 360ihevc_hbd_weighted_pred_bi_ft ihevc_hbd_weighted_pred_bi_sse42; 361ihevc_hbd_weighted_pred_bi_default_ft ihevc_hbd_weighted_pred_bi_default_sse42; 362ihevc_hbd_weighted_pred_chroma_uni_ft ihevc_hbd_weighted_pred_chroma_uni_sse42; 363ihevc_hbd_weighted_pred_chroma_bi_ft ihevc_hbd_weighted_pred_chroma_bi_sse42; 364ihevc_hbd_weighted_pred_chroma_bi_default_ft ihevc_hbd_weighted_pred_chroma_bi_default_sse42; 365 366#ifndef DISABLE_AVX2 367/* AVX2 function declarations */ 368ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_avx2; 369ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_avx2; 370ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_avx2; 371ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_avx2; 372ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_avx2; 373ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_avx2; 374ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_avx2; 375ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_avx2; 376ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_avx2; 377ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_avx2; 378ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_avx2; 379ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_avx2; 380ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_avx2; 381ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_avx2; 382ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_avx2; 383ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_avx2; 384#endif 385 386/* armv8 function declarations */ 387ihevc_inter_pred_ft ihevc_inter_pred_luma_copy_av8; 388ihevc_inter_pred_ft ihevc_inter_pred_luma_horz_av8; 389ihevc_inter_pred_ft ihevc_inter_pred_luma_vert_av8; 390ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_copy_w16out_av8; 391ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_horz_w16out_av8; 392ihevc_inter_pred_w16out_ft ihevc_inter_pred_luma_vert_w16out_av8; 393ihevc_inter_pred_w16inp_ft ihevc_inter_pred_luma_vert_w16inp_av8; 394ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_luma_vert_w16inp_w16out_av8; 395ihevc_inter_pred_ft ihevc_inter_pred_chroma_copy_av8; 396ihevc_inter_pred_ft ihevc_inter_pred_chroma_horz_av8; 397ihevc_inter_pred_ft ihevc_inter_pred_chroma_vert_av8; 398ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_copy_w16out_av8; 399ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_horz_w16out_av8; 400ihevc_inter_pred_w16out_ft ihevc_inter_pred_chroma_vert_w16out_av8; 401ihevc_inter_pred_w16inp_ft ihevc_inter_pred_chroma_vert_w16inp_av8; 402ihevc_inter_pred_w16inp_w16out_ft ihevc_inter_pred_chroma_vert_w16inp_w16out_av8; 403#endif /*_IHEVC_INTER_PRED_H_*/ 404