Home | History | Annotate | Download | only in common
      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 
    138 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9q;
    139 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9q;
    140 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9q;
    141 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9q;
    142 
    143 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_a9a;
    144 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_a9a;
    145 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_a9a;
    146 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_a9a;
    147 
    148 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_neonintr;
    149 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_neonintr;
    150 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_neonintr;
    151 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_neonintr;
    152 
    153 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_ssse3;
    154 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_ssse3;
    155 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_ssse3;
    156 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_ssse3;
    157 
    158 ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert;
    159 ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz;
    160 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert;
    161 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz;
    162 
    163 ihevc_hbd_deblk_luma_vert_ft ihevc_hbd_deblk_luma_vert_sse42;
    164 ihevc_hbd_deblk_luma_horz_ft ihevc_hbd_deblk_luma_horz_sse42;
    165 ihevc_hbd_deblk_chroma_vert_ft ihevc_hbd_deblk_chroma_vert_sse42;
    166 ihevc_hbd_deblk_chroma_horz_ft ihevc_hbd_deblk_chroma_horz_sse42;
    167 
    168 ihevc_deblk_luma_vert_ft ihevc_deblk_luma_vert_av8;
    169 ihevc_deblk_luma_horz_ft ihevc_deblk_luma_horz_av8;
    170 ihevc_deblk_chroma_vert_ft ihevc_deblk_chroma_vert_av8;
    171 ihevc_deblk_chroma_horz_ft ihevc_deblk_chroma_horz_av8;
    172 
    173 #endif /*_IHEVC_DEBLK_H_*/
    174