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_recon.h
22 *
23 * @brief
24 *  Functions declarations reconstruction
25 *
26 * @author
27 *  Ittiam
28 *
29 * @remarks
30 *  None
31 *
32 *******************************************************************************
33 */
34 #ifndef _IHEVC_RECON_H_
35 #define _IHEVC_RECON_H_
36 
37 typedef void ihevc_recon_4x4_ttype1_ft(WORD16 *pi2_src,
38                                        UWORD8 *pu1_pred,
39                                        UWORD8 *pu1_dst,
40                                        WORD32 src_strd,
41                                        WORD32 pred_strd,
42                                        WORD32 dst_strd,
43                                        WORD32 zero_cols);
44 typedef void ihevc_hbd_recon_4x4_ttype1_ft(WORD16 *pi2_src,
45                                            UWORD16 *pu2_pred,
46                                            UWORD16 *pu2_dst,
47                                            WORD32 src_strd,
48                                            WORD32 pred_strd,
49                                            WORD32 dst_strd,
50                                            WORD32 zero_cols,
51                                            UWORD8 bit_depth);
52 typedef void ihevc_recon_4x4_ft(WORD16 *pi2_src,
53                                 UWORD8 *pu1_pred,
54                                 UWORD8 *pu1_dst,
55                                 WORD32 src_strd,
56                                 WORD32 pred_strd,
57                                 WORD32 dst_strd,
58                                 WORD32 zero_cols);
59 typedef void ihevc_hbd_recon_4x4_ft(WORD16 *pi2_src,
60                                     UWORD16 *pu2_pred,
61                                     UWORD16 *pu2_dst,
62                                     WORD32 src_strd,
63                                     WORD32 pred_strd,
64                                     WORD32 dst_strd,
65                                     WORD32 zero_cols,
66                                     UWORD8 bit_depth);
67 typedef void ihevc_recon_8x8_ft(WORD16 *pi2_src,
68                                 UWORD8 *pu1_pred,
69                                 UWORD8 *pu1_dst,
70                                 WORD32 src_strd,
71                                 WORD32 pred_strd,
72                                 WORD32 dst_strd,
73                                 WORD32 zero_cols);
74 typedef void ihevc_hbd_recon_8x8_ft(WORD16 *pi2_src,
75                                     UWORD16 *pu2_pred,
76                                     UWORD16 *pu2_dst,
77                                     WORD32 src_strd,
78                                     WORD32 pred_strd,
79                                     WORD32 dst_strd,
80                                     WORD32 zero_cols,
81                                     UWORD8 bit_depth);
82 typedef void ihevc_recon_16x16_ft(WORD16 *pi2_src,
83                                   UWORD8 *pu1_pred,
84                                   UWORD8 *pu1_dst,
85                                   WORD32 src_strd,
86                                   WORD32 pred_strd,
87                                   WORD32 dst_strd,
88                                   WORD32 zero_cols);
89 typedef void ihevc_hbd_recon_16x16_ft(WORD16 *pi2_src,
90                                       UWORD16 *pu2_pred,
91                                       UWORD16 *pu2_dst,
92                                       WORD32 src_strd,
93                                       WORD32 pred_strd,
94                                       WORD32 dst_strd,
95                                       WORD32 zero_cols,
96                                       UWORD8 bit_depth);
97 typedef void ihevc_recon_32x32_ft(WORD16 *pi2_src,
98                                   UWORD8 *pu1_pred,
99                                   UWORD8 *pu1_dst,
100                                   WORD32 src_strd,
101                                   WORD32 pred_strd,
102                                   WORD32 dst_strd,
103                                   WORD32 zero_cols);
104 typedef void ihevc_hbd_recon_32x32_ft(WORD16 *pi2_src,
105                                       UWORD16 *pu2_pred,
106                                       UWORD16 *pu2_dst,
107                                       WORD32 src_strd,
108                                       WORD32 pred_strd,
109                                       WORD32 dst_strd,
110                                       WORD32 zero_cols,
111                                       UWORD8 bit_depth);
112 
113 ihevc_recon_4x4_ttype1_ft ihevc_recon_4x4_ttype1;
114 ihevc_hbd_recon_4x4_ttype1_ft ihevc_hbd_recon_4x4_ttype1;
115 ihevc_recon_4x4_ft ihevc_recon_4x4;
116 ihevc_hbd_recon_4x4_ft ihevc_hbd_recon_4x4;
117 ihevc_recon_8x8_ft ihevc_recon_8x8;
118 ihevc_hbd_recon_8x8_ft ihevc_hbd_recon_8x8;
119 ihevc_recon_16x16_ft ihevc_recon_16x16;
120 ihevc_hbd_recon_16x16_ft ihevc_hbd_recon_16x16;
121 ihevc_recon_32x32_ft ihevc_recon_32x32;
122 ihevc_hbd_recon_32x32_ft ihevc_hbd_recon_32x32;
123 
124 #endif /*_IHEVC_RECON_H_*/
125