1*c83a76b0SSuyog Pawar /****************************************************************************** 2*c83a76b0SSuyog Pawar * 3*c83a76b0SSuyog Pawar * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore 4*c83a76b0SSuyog Pawar * 5*c83a76b0SSuyog Pawar * Licensed under the Apache License, Version 2.0 (the "License"); 6*c83a76b0SSuyog Pawar * you may not use this file except in compliance with the License. 7*c83a76b0SSuyog Pawar * You may obtain a copy of the License at: 8*c83a76b0SSuyog Pawar * 9*c83a76b0SSuyog Pawar * http://www.apache.org/licenses/LICENSE-2.0 10*c83a76b0SSuyog Pawar * 11*c83a76b0SSuyog Pawar * Unless required by applicable law or agreed to in writing, software 12*c83a76b0SSuyog Pawar * distributed under the License is distributed on an "AS IS" BASIS, 13*c83a76b0SSuyog Pawar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*c83a76b0SSuyog Pawar * See the License for the specific language governing permissions and 15*c83a76b0SSuyog Pawar * limitations under the License. 16*c83a76b0SSuyog Pawar * 17*c83a76b0SSuyog Pawar ******************************************************************************/ 18*c83a76b0SSuyog Pawar /** 19*c83a76b0SSuyog Pawar ******************************************************************************* 20*c83a76b0SSuyog Pawar * @file 21*c83a76b0SSuyog Pawar * ihevc_deblk.h 22*c83a76b0SSuyog Pawar * 23*c83a76b0SSuyog Pawar * @brief 24*c83a76b0SSuyog Pawar * Declarations for the fucntions defined in ihevc_deblk.c 25*c83a76b0SSuyog Pawar * 26*c83a76b0SSuyog Pawar * @author 27*c83a76b0SSuyog Pawar * Srinivas T 28*c83a76b0SSuyog Pawar * 29*c83a76b0SSuyog Pawar * @remarks 30*c83a76b0SSuyog Pawar * None 31*c83a76b0SSuyog Pawar * 32*c83a76b0SSuyog Pawar ******************************************************************************* 33*c83a76b0SSuyog Pawar */ 34*c83a76b0SSuyog Pawar #ifndef _IHEVC_DEBLK_H_ 35*c83a76b0SSuyog Pawar #define _IHEVC_DEBLK_H_ 36*c83a76b0SSuyog Pawar 37*c83a76b0SSuyog Pawar /*****************************************************************************/ 38*c83a76b0SSuyog Pawar /* Function Declarations */ 39*c83a76b0SSuyog Pawar /*****************************************************************************/ 40*c83a76b0SSuyog Pawar 41*c83a76b0SSuyog Pawar typedef void ihevc_deblk_luma_vert_ft( 42*c83a76b0SSuyog Pawar UWORD8 *pu1_src, 43*c83a76b0SSuyog Pawar WORD32 src_strd, 44*c83a76b0SSuyog Pawar WORD32 bs, 45*c83a76b0SSuyog Pawar WORD32 quant_param_p, 46*c83a76b0SSuyog Pawar WORD32 quant_param_q, 47*c83a76b0SSuyog Pawar WORD32 beta_offset_div2, 48*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 49*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 50*c83a76b0SSuyog Pawar WORD32 filter_flag_q); 51*c83a76b0SSuyog Pawar 52*c83a76b0SSuyog Pawar typedef void ihevc_deblk_luma_horz_ft( 53*c83a76b0SSuyog Pawar UWORD8 *pu1_src, 54*c83a76b0SSuyog Pawar WORD32 src_strd, 55*c83a76b0SSuyog Pawar WORD32 bs, 56*c83a76b0SSuyog Pawar WORD32 quant_param_p, 57*c83a76b0SSuyog Pawar WORD32 quant_param_q, 58*c83a76b0SSuyog Pawar WORD32 beta_offset_div2, 59*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 60*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 61*c83a76b0SSuyog Pawar WORD32 filter_flag_q); 62*c83a76b0SSuyog Pawar 63*c83a76b0SSuyog Pawar typedef void ihevc_deblk_chroma_vert_ft( 64*c83a76b0SSuyog Pawar UWORD8 *pu1_src, 65*c83a76b0SSuyog Pawar WORD32 src_strd, 66*c83a76b0SSuyog Pawar WORD32 quant_param_p, 67*c83a76b0SSuyog Pawar WORD32 quant_param_q, 68*c83a76b0SSuyog Pawar WORD32 qp_offset_u, 69*c83a76b0SSuyog Pawar WORD32 qp_offset_v, 70*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 71*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 72*c83a76b0SSuyog Pawar WORD32 filter_flag_q); 73*c83a76b0SSuyog Pawar 74*c83a76b0SSuyog Pawar typedef void ihevc_deblk_chroma_horz_ft( 75*c83a76b0SSuyog Pawar UWORD8 *pu1_src, 76*c83a76b0SSuyog Pawar WORD32 src_strd, 77*c83a76b0SSuyog Pawar WORD32 quant_param_p, 78*c83a76b0SSuyog Pawar WORD32 quant_param_q, 79*c83a76b0SSuyog Pawar WORD32 qp_offset_u, 80*c83a76b0SSuyog Pawar WORD32 qp_offset_v, 81*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 82*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 83*c83a76b0SSuyog Pawar WORD32 filter_flag_q); 84*c83a76b0SSuyog Pawar 85*c83a76b0SSuyog Pawar typedef void ihevc_hbd_deblk_luma_vert_ft( 86*c83a76b0SSuyog Pawar UWORD16 *pu2_src, 87*c83a76b0SSuyog Pawar WORD32 src_strd, 88*c83a76b0SSuyog Pawar WORD32 bs, 89*c83a76b0SSuyog Pawar WORD32 quant_param_p, 90*c83a76b0SSuyog Pawar WORD32 quant_param_q, 91*c83a76b0SSuyog Pawar WORD32 beta_offset_div2, 92*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 93*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 94*c83a76b0SSuyog Pawar WORD32 filter_flag_q, 95*c83a76b0SSuyog Pawar UWORD8 bit_depth); 96*c83a76b0SSuyog Pawar 97*c83a76b0SSuyog Pawar typedef void ihevc_hbd_deblk_luma_horz_ft( 98*c83a76b0SSuyog Pawar UWORD16 *pu2_src, 99*c83a76b0SSuyog Pawar WORD32 src_strd, 100*c83a76b0SSuyog Pawar WORD32 bs, 101*c83a76b0SSuyog Pawar WORD32 quant_param_p, 102*c83a76b0SSuyog Pawar WORD32 quant_param_q, 103*c83a76b0SSuyog Pawar WORD32 beta_offset_div2, 104*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 105*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 106*c83a76b0SSuyog Pawar WORD32 filter_flag_q, 107*c83a76b0SSuyog Pawar UWORD8 bit_depth); 108*c83a76b0SSuyog Pawar 109*c83a76b0SSuyog Pawar typedef void ihevc_hbd_deblk_chroma_vert_ft( 110*c83a76b0SSuyog Pawar UWORD16 *pu2_src, 111*c83a76b0SSuyog Pawar WORD32 src_strd, 112*c83a76b0SSuyog Pawar WORD32 quant_param_p, 113*c83a76b0SSuyog Pawar WORD32 quant_param_q, 114*c83a76b0SSuyog Pawar WORD32 qp_offset_u, 115*c83a76b0SSuyog Pawar WORD32 qp_offset_v, 116*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 117*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 118*c83a76b0SSuyog Pawar WORD32 filter_flag_q, 119*c83a76b0SSuyog Pawar UWORD8 bit_depth); 120*c83a76b0SSuyog Pawar 121*c83a76b0SSuyog Pawar typedef void ihevc_hbd_deblk_chroma_horz_ft( 122*c83a76b0SSuyog Pawar UWORD16 *pu2_src, 123*c83a76b0SSuyog Pawar WORD32 src_strd, 124*c83a76b0SSuyog Pawar WORD32 quant_param_p, 125*c83a76b0SSuyog Pawar WORD32 quant_param_q, 126*c83a76b0SSuyog Pawar WORD32 qp_offset_u, 127*c83a76b0SSuyog Pawar WORD32 qp_offset_v, 128*c83a76b0SSuyog Pawar WORD32 tc_offset_div2, 129*c83a76b0SSuyog Pawar WORD32 filter_flag_p, 130*c83a76b0SSuyog Pawar WORD32 filter_flag_q, 131*c83a76b0SSuyog Pawar UWORD8 bit_depth); 132*c83a76b0SSuyog Pawar 133*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert; 134*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz; 135*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert; 136*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz; 137*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_422chroma_vert; 138*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_422chroma_horz; 139*c83a76b0SSuyog Pawar 140*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9q; 141*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9q; 142*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9q; 143*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9q; 144*c83a76b0SSuyog Pawar 145*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9a; 146*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9a; 147*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9a; 148*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9a; 149*c83a76b0SSuyog Pawar 150*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_neonintr; 151*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_neonintr; 152*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_neonintr; 153*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_neonintr; 154*c83a76b0SSuyog Pawar 155*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_ssse3; 156*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_ssse3; 157*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_ssse3; 158*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_ssse3; 159*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_422chroma_vert_ssse3; 160*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_422chroma_horz_ssse3; 161*c83a76b0SSuyog Pawar 162*c83a76b0SSuyog Pawar ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert; 163*c83a76b0SSuyog Pawar ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz; 164*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert; 165*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz; 166*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_422chroma_vert; 167*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_422chroma_horz; 168*c83a76b0SSuyog Pawar 169*c83a76b0SSuyog Pawar ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert_sse42; 170*c83a76b0SSuyog Pawar ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz_sse42; 171*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert_sse42; 172*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz_sse42; 173*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_422chroma_vert_sse42; 174*c83a76b0SSuyog Pawar ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_422chroma_horz_sse42; 175*c83a76b0SSuyog Pawar 176*c83a76b0SSuyog Pawar ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_av8; 177*c83a76b0SSuyog Pawar ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_av8; 178*c83a76b0SSuyog Pawar ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_av8; 179*c83a76b0SSuyog Pawar ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_av8; 180*c83a76b0SSuyog Pawar 181*c83a76b0SSuyog Pawar #endif /*_IHEVC_DEBLK_H_*/ 182