ih264e_deblk.h revision a2b49e5f0574dee76f81507f288143d83a4b7c1a
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*/
75void 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*/
97void ih264e_deblock_mb(process_ctxt_t *ps_proc, deblk_ctxt_t * ps_deblk);
98
99#endif /* IH264E_DEBLK_H_ */
100