Home | History | Annotate | Download | only in encoder
      1 /******************************************************************************
      2  *
      3  * Copyright (C) 2015 The Android Open Source Project
      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  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
     19 */
     20 
     21 /**
     22 ******************************************************************************
     23 * @file
     24 *  ih264e_deblk.h
     25 *
     26 * @brief
     27 *  This file contains extern declarations of deblocking routines
     28 *
     29 * @author
     30 *  ittiam
     31 *
     32 * @remarks
     33 *  none
     34 ******************************************************************************
     35 */
     36 
     37 #ifndef IH264E_DEBLK_H_
     38 #define IH264E_DEBLK_H_
     39 
     40 /*****************************************************************************/
     41 /* Constant Macros                                                           */
     42 /*****************************************************************************/
     43 
     44 /**
     45 ******************************************************************************
     46  *  @brief  masks to extract csbp
     47 ******************************************************************************
     48  */
     49 #define CSBP_LEFT_BLOCK_MASK  0x1111
     50 #define CSBP_RIGHT_BLOCK_MASK 0x8888
     51 
     52 
     53 /*****************************************************************************/
     54 /* Function Declarations                                                     */
     55 /*****************************************************************************/
     56 
     57 /**
     58 *******************************************************************************
     59 *
     60 * @brief This function computes blocking strength for an mb
     61 *
     62 * @par Description:
     63 *  This function computes blocking strength for an mb
     64 *
     65 * @param[in] ps_proc
     66 *  process context
     67 *
     68 * @returns  none
     69 *
     70 * @remarks In this module it is assumed that their is only single reference
     71 * frame and is always the most recently used anchor frame
     72 *
     73 *******************************************************************************
     74 */
     75 void ih264e_compute_bs(process_ctxt_t * ps_proc);
     76 
     77 /**
     78 *******************************************************************************
     79 *
     80 * @brief This function performs deblocking on an mb
     81 *
     82 * @par Description:
     83 *  This function performs deblocking on an mb
     84 *
     85 * @param[in] ps_proc
     86 *  process context corresponding to the job
     87 *
     88 * @param[in] ps_deblk
     89 *  pointer to deblock context
     90 *
     91 * @returns  none
     92 *
     93 * @remarks none
     94 *
     95 *******************************************************************************
     96 */
     97 void ih264e_deblock_mb(process_ctxt_t *ps_proc, deblk_ctxt_t * ps_deblk);
     98 
     99 #endif /* IH264E_DEBLK_H_ */
    100