xref: /aosp_15_r20/external/libavc/decoder/svc/isvcd_pred_residual_recon.h (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1 /******************************************************************************
2  *
3  * Copyright (C) 2022 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
23  *  isvcd_pred_residual_recon.h
24  *
25  * @brief
26  *  Contains declarations for forward and inverse transform paths for SVC
27  *
28  * @author
29  *  Kishore
30  *
31  * @remarks
32  *  None
33  *
34  *******************************************************************************
35  */
36 
37 #ifndef _ISVCD_PRED_RESDUAL_RECON_
38 #define _ISVCD_PRED_RESDUAL_RECON_
39 
40 /*Function prototype declarations*/
41 
42 typedef WORD32 ih264_residual_ft(WORD16 *pi2_rsd, WORD32 rsd_stride);
43 
44 typedef WORD32 ih264_residual_chroma_ft(WORD16 *pi2_rsd, WORD32 rsd_stride);
45 
46 typedef WORD32 ih264_pred_residual_recon_ft(UWORD8 *pu1_pred, WORD16 *pi2_rsd, UWORD8 *pu1_out,
47                                             WORD32 pred_strd, WORD32 rsd_stride, WORD32 out_strd);
48 
49 typedef void ih264_pred_residual_recon_chroma_ft(UWORD8 *pu1_pred, WORD16 *pi2_rsd, UWORD8 *pu1_out,
50                                                  WORD32 pred_strd, WORD32 rsd_stride,
51                                                  WORD32 out_strd);
52 
53 ih264_residual_ft isvcd_residual_luma_4x4;
54 ih264_residual_ft isvcd_residual_luma_8x8;
55 ih264_residual_ft isvcd_residual_luma_16x16;
56 ih264_residual_chroma_ft isvcd_residual_chroma_cb_cr_8x8;
57 
58 ih264_residual_ft isvcd_residual_luma_4x4_sse42;
59 ih264_residual_ft isvcd_residual_luma_8x8_sse42;
60 ih264_residual_ft isvcd_residual_luma_16x16_sse42;
61 ih264_residual_chroma_ft isvcd_residual_chroma_cb_cr_8x8_sse42;
62 
63 ih264_residual_ft isvcd_residual_luma_4x4_neonintr;
64 ih264_residual_ft isvcd_residual_luma_8x8_neonintr;
65 ih264_residual_ft isvcd_residual_luma_16x16_neonintr;
66 ih264_residual_chroma_ft isvcd_residual_chroma_cb_cr_8x8_neonintr;
67 
68 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_4x4;
69 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_8x8;
70 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_16x16;
71 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_4x4;
72 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_8x8;
73 
74 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_4x4_neonintr;
75 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_8x8_neonintr;
76 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_16x16_neonintr;
77 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_4x4_neonintr;
78 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_8x8_neonintr;
79 
80 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_4x4_sse42;
81 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_8x8_sse42;
82 ih264_pred_residual_recon_ft isvcd_pred_residual_recon_16x16_sse42;
83 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_4x4_sse42;
84 ih264_pred_residual_recon_chroma_ft isvcd_pred_residual_recon_chroma_8x8_sse42;
85 
86 #endif /* _ISVCD_PRED_RESDUAL_RECON_ */