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_deblk.h 22 * 23 * @brief 24 * Declarations for the fucntions defined in ihevc_deblk.c 25 * 26 * @author 27 * Srinivas T 28 * 29 * @remarks 30 * None 31 * 32 ******************************************************************************* 33 */ 34 #ifndef _IHEVC_DEBLK_H_ 35 #define _IHEVC_DEBLK_H_ 36 37 /*****************************************************************************/ 38 /* Function Declarations */ 39 /*****************************************************************************/ 40 41 typedef void ihevc_deblk_luma_vert_ft( 42 UWORD8 *pu1_src, 43 WORD32 src_strd, 44 WORD32 bs, 45 WORD32 quant_param_p, 46 WORD32 quant_param_q, 47 WORD32 beta_offset_div2, 48 WORD32 tc_offset_div2, 49 WORD32 filter_flag_p, 50 WORD32 filter_flag_q); 51 52 typedef void ihevc_deblk_luma_horz_ft( 53 UWORD8 *pu1_src, 54 WORD32 src_strd, 55 WORD32 bs, 56 WORD32 quant_param_p, 57 WORD32 quant_param_q, 58 WORD32 beta_offset_div2, 59 WORD32 tc_offset_div2, 60 WORD32 filter_flag_p, 61 WORD32 filter_flag_q); 62 63 typedef void ihevc_deblk_chroma_vert_ft( 64 UWORD8 *pu1_src, 65 WORD32 src_strd, 66 WORD32 quant_param_p, 67 WORD32 quant_param_q, 68 WORD32 qp_offset_u, 69 WORD32 qp_offset_v, 70 WORD32 tc_offset_div2, 71 WORD32 filter_flag_p, 72 WORD32 filter_flag_q); 73 74 typedef void ihevc_deblk_chroma_horz_ft( 75 UWORD8 *pu1_src, 76 WORD32 src_strd, 77 WORD32 quant_param_p, 78 WORD32 quant_param_q, 79 WORD32 qp_offset_u, 80 WORD32 qp_offset_v, 81 WORD32 tc_offset_div2, 82 WORD32 filter_flag_p, 83 WORD32 filter_flag_q); 84 85 typedef void ihevc_hbd_deblk_luma_vert_ft( 86 UWORD16 *pu2_src, 87 WORD32 src_strd, 88 WORD32 bs, 89 WORD32 quant_param_p, 90 WORD32 quant_param_q, 91 WORD32 beta_offset_div2, 92 WORD32 tc_offset_div2, 93 WORD32 filter_flag_p, 94 WORD32 filter_flag_q, 95 UWORD8 bit_depth); 96 97 typedef void ihevc_hbd_deblk_luma_horz_ft( 98 UWORD16 *pu2_src, 99 WORD32 src_strd, 100 WORD32 bs, 101 WORD32 quant_param_p, 102 WORD32 quant_param_q, 103 WORD32 beta_offset_div2, 104 WORD32 tc_offset_div2, 105 WORD32 filter_flag_p, 106 WORD32 filter_flag_q, 107 UWORD8 bit_depth); 108 109 typedef void ihevc_hbd_deblk_chroma_vert_ft( 110 UWORD16 *pu2_src, 111 WORD32 src_strd, 112 WORD32 quant_param_p, 113 WORD32 quant_param_q, 114 WORD32 qp_offset_u, 115 WORD32 qp_offset_v, 116 WORD32 tc_offset_div2, 117 WORD32 filter_flag_p, 118 WORD32 filter_flag_q, 119 UWORD8 bit_depth); 120 121 typedef void ihevc_hbd_deblk_chroma_horz_ft( 122 UWORD16 *pu2_src, 123 WORD32 src_strd, 124 WORD32 quant_param_p, 125 WORD32 quant_param_q, 126 WORD32 qp_offset_u, 127 WORD32 qp_offset_v, 128 WORD32 tc_offset_div2, 129 WORD32 filter_flag_p, 130 WORD32 filter_flag_q, 131 UWORD8 bit_depth); 132 133 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert; 134 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz; 135 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert; 136 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz; 137 ihevc_deblk_chroma_vert_ft ihevc_deblk_422chroma_vert; 138 ihevc_deblk_chroma_horz_ft ihevc_deblk_422chroma_horz; 139 140 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9q; 141 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9q; 142 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9q; 143 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9q; 144 145 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9a; 146 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9a; 147 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9a; 148 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9a; 149 150 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_neonintr; 151 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_neonintr; 152 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_neonintr; 153 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_neonintr; 154 155 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_ssse3; 156 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_ssse3; 157 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_ssse3; 158 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_ssse3; 159 ihevc_deblk_chroma_vert_ft ihevc_deblk_422chroma_vert_ssse3; 160 ihevc_deblk_chroma_horz_ft ihevc_deblk_422chroma_horz_ssse3; 161 162 ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert; 163 ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz; 164 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert; 165 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz; 166 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_422chroma_vert; 167 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_422chroma_horz; 168 169 ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert_sse42; 170 ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz_sse42; 171 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert_sse42; 172 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz_sse42; 173 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_422chroma_vert_sse42; 174 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_422chroma_horz_sse42; 175 176 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_av8; 177 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_av8; 178 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_av8; 179 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_av8; 180 181 #endif /*_IHEVC_DEBLK_H_*/ 182