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