1 /******************************************************************************
2  *
3  * Copyright (C) 2018 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 * \file ihevce_mv_pred.h
23 *
24 * \brief
25 *    This file contains function prototypes of MV predcition function
26 *
27 * \date
28 *    18/09/2012
29 *
30 * \author
31 *    Ittiam
32 *
33 ******************************************************************************
34 */
35 
36 #ifndef _IHEVCE_MV_PRED_H_
37 #define _IHEVCE_MV_PRED_H_
38 
39 /*****************************************************************************/
40 /* Constant Macros                                                           */
41 /*****************************************************************************/
42 
43 #define MAX_MVP_LIST_CAND 2
44 #define MAX_MVP_LIST_CAND_MEM (MAX_MVP_LIST_CAND + 1)
45 
46 /*****************************************************************************/
47 /* Function Macros                                                           */
48 /*****************************************************************************/
49 
50 /*****************************************************************************/
51 /* Typedefs                                                                  */
52 /*****************************************************************************/
53 
54 /*****************************************************************************/
55 /* Enums                                                                     */
56 /*****************************************************************************/
57 
58 /*****************************************************************************/
59 /* Structure                                                                 */
60 /*****************************************************************************/
61 
62 /*****************************************************************************/
63 /* Extern Variable Declarations                                              */
64 /*****************************************************************************/
65 
66 /*****************************************************************************/
67 /* Extern Function Declarations                                              */
68 /*****************************************************************************/
69 
70 void ihevce_mv_pred(
71     mv_pred_ctxt_t *ps_ctxt,
72     nbr_4x4_t *ps_top_nbr_4x4,
73     nbr_4x4_t *ps_left_nbr_4x4,
74     nbr_4x4_t *ps_top_left_nbr_4x4,
75     WORD32 left_nbr_4x4_strd,
76     nbr_avail_flags_t *ps_avail_flags,
77     pu_mv_t *ps_col_mv,
78     pu_t *ps_pu,
79     pu_mv_t *ps_pred_mv,
80     UWORD8 (*pu1_is_top_used)[MAX_MVP_LIST_CAND]);
81 
82 #endif /* _IHEVCE_MV_PRED_H_ */
83