xref: /aosp_15_r20/external/libhevc/common/ihevc_chroma_intra_pred.h (revision c83a76b084498d55f252f48b2e3786804cdf24b7)
1*c83a76b0SSuyog Pawar /******************************************************************************
2*c83a76b0SSuyog Pawar *
3*c83a76b0SSuyog Pawar * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore
4*c83a76b0SSuyog Pawar *
5*c83a76b0SSuyog Pawar * Licensed under the Apache License, Version 2.0 (the "License");
6*c83a76b0SSuyog Pawar * you may not use this file except in compliance with the License.
7*c83a76b0SSuyog Pawar * You may obtain a copy of the License at:
8*c83a76b0SSuyog Pawar *
9*c83a76b0SSuyog Pawar * http://www.apache.org/licenses/LICENSE-2.0
10*c83a76b0SSuyog Pawar *
11*c83a76b0SSuyog Pawar * Unless required by applicable law or agreed to in writing, software
12*c83a76b0SSuyog Pawar * distributed under the License is distributed on an "AS IS" BASIS,
13*c83a76b0SSuyog Pawar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*c83a76b0SSuyog Pawar * See the License for the specific language governing permissions and
15*c83a76b0SSuyog Pawar * limitations under the License.
16*c83a76b0SSuyog Pawar *
17*c83a76b0SSuyog Pawar ******************************************************************************/
18*c83a76b0SSuyog Pawar /**
19*c83a76b0SSuyog Pawar *******************************************************************************
20*c83a76b0SSuyog Pawar * @file
21*c83a76b0SSuyog Pawar *  ihevc_intra_pred.h
22*c83a76b0SSuyog Pawar *
23*c83a76b0SSuyog Pawar * @brief
24*c83a76b0SSuyog Pawar *  Declarations for the fucntions defined in  ihevc_intra_pred_filters
25*c83a76b0SSuyog Pawar *
26*c83a76b0SSuyog Pawar * @author
27*c83a76b0SSuyog Pawar *  Mamatha
28*c83a76b0SSuyog Pawar *
29*c83a76b0SSuyog Pawar *
30*c83a76b0SSuyog Pawar * @remarks
31*c83a76b0SSuyog Pawar *  None
32*c83a76b0SSuyog Pawar *
33*c83a76b0SSuyog Pawar *******************************************************************************
34*c83a76b0SSuyog Pawar */
35*c83a76b0SSuyog Pawar 
36*c83a76b0SSuyog Pawar #ifndef IHEVC_CHROMA_INTRA_PRED_H_
37*c83a76b0SSuyog Pawar #define IHEVC_CHROMA_INTRA_PRED_H_
38*c83a76b0SSuyog Pawar 
39*c83a76b0SSuyog Pawar /*****************************************************************************/
40*c83a76b0SSuyog Pawar /* Function Declarations                                                     */
41*c83a76b0SSuyog Pawar /*****************************************************************************/
42*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_planar_ft(
43*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
44*c83a76b0SSuyog Pawar                 WORD32 src_strd,
45*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
46*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
47*c83a76b0SSuyog Pawar                 WORD32 nt,
48*c83a76b0SSuyog Pawar                 WORD32 mode);
49*c83a76b0SSuyog Pawar 
50*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_dc_ft(
51*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
52*c83a76b0SSuyog Pawar                 WORD32 src_strd,
53*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
54*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
55*c83a76b0SSuyog Pawar                 WORD32 nt,
56*c83a76b0SSuyog Pawar                 WORD32 mode);
57*c83a76b0SSuyog Pawar 
58*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_horz_ft(
59*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
60*c83a76b0SSuyog Pawar                 WORD32 src_strd,
61*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
62*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
63*c83a76b0SSuyog Pawar                 WORD32 nt,
64*c83a76b0SSuyog Pawar                 WORD32 mode);
65*c83a76b0SSuyog Pawar 
66*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_ver_ft(
67*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
68*c83a76b0SSuyog Pawar                 WORD32 src_strd,
69*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
70*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
71*c83a76b0SSuyog Pawar                 WORD32 nt,
72*c83a76b0SSuyog Pawar                 WORD32 mode);
73*c83a76b0SSuyog Pawar 
74*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode2_ft(
75*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
76*c83a76b0SSuyog Pawar                 WORD32 src_strd,
77*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
78*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
79*c83a76b0SSuyog Pawar                 WORD32 nt,
80*c83a76b0SSuyog Pawar                 WORD32 mode);
81*c83a76b0SSuyog Pawar 
82*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode_18_34_ft(
83*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
84*c83a76b0SSuyog Pawar                 WORD32 src_strd,
85*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
86*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
87*c83a76b0SSuyog Pawar                 WORD32 nt,
88*c83a76b0SSuyog Pawar                 WORD32 mode);
89*c83a76b0SSuyog Pawar 
90*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode_3_to_9_ft(
91*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
92*c83a76b0SSuyog Pawar                 WORD32 src_strd,
93*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
94*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
95*c83a76b0SSuyog Pawar                 WORD32 nt,
96*c83a76b0SSuyog Pawar                 WORD32 mode);
97*c83a76b0SSuyog Pawar 
98*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode_11_to_17_ft(
99*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
100*c83a76b0SSuyog Pawar                 WORD32 src_strd,
101*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
102*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
103*c83a76b0SSuyog Pawar                 WORD32 nt,
104*c83a76b0SSuyog Pawar                 WORD32 mode);
105*c83a76b0SSuyog Pawar 
106*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode_19_to_25_ft(
107*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
108*c83a76b0SSuyog Pawar                 WORD32 src_strd,
109*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
110*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
111*c83a76b0SSuyog Pawar                 WORD32 nt,
112*c83a76b0SSuyog Pawar                 WORD32 mode);
113*c83a76b0SSuyog Pawar 
114*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_mode_27_to_33_ft(
115*c83a76b0SSuyog Pawar                 UWORD8 *pu1_ref,
116*c83a76b0SSuyog Pawar                 WORD32 src_strd,
117*c83a76b0SSuyog Pawar                 UWORD8 *pu1_dst,
118*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
119*c83a76b0SSuyog Pawar                 WORD32 nt,
120*c83a76b0SSuyog Pawar                 WORD32 mode);
121*c83a76b0SSuyog Pawar 
122*c83a76b0SSuyog Pawar typedef void ihevc_intra_pred_chroma_ref_substitution_ft(UWORD8 *pu1_top_left,
123*c83a76b0SSuyog Pawar                                                          UWORD8 *pu1_top,
124*c83a76b0SSuyog Pawar                                                          UWORD8 *pu1_left,
125*c83a76b0SSuyog Pawar                                                          WORD32 src_strd,
126*c83a76b0SSuyog Pawar                                                          WORD32 nt,
127*c83a76b0SSuyog Pawar                                                          WORD32 nbr_flags,
128*c83a76b0SSuyog Pawar                                                          UWORD8 *pu1_dst,
129*c83a76b0SSuyog Pawar                                                          WORD32 dst_strd);
130*c83a76b0SSuyog Pawar 
131*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_planar_ft(
132*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
133*c83a76b0SSuyog Pawar                 WORD32 src_strd,
134*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
135*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
136*c83a76b0SSuyog Pawar                 WORD32 nt,
137*c83a76b0SSuyog Pawar                 WORD32 mode);
138*c83a76b0SSuyog Pawar 
139*c83a76b0SSuyog Pawar 
140*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_dc_ft(
141*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
142*c83a76b0SSuyog Pawar                 WORD32 src_strd,
143*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
144*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
145*c83a76b0SSuyog Pawar                 WORD32 nt,
146*c83a76b0SSuyog Pawar                 WORD32 mode);
147*c83a76b0SSuyog Pawar 
148*c83a76b0SSuyog Pawar 
149*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_horz_ft(
150*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
151*c83a76b0SSuyog Pawar                 WORD32 src_strd,
152*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
153*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
154*c83a76b0SSuyog Pawar                 WORD32 nt,
155*c83a76b0SSuyog Pawar                 WORD32 mode);
156*c83a76b0SSuyog Pawar 
157*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_ver_ft(
158*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
159*c83a76b0SSuyog Pawar                 WORD32 src_strd,
160*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
161*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
162*c83a76b0SSuyog Pawar                 WORD32 nt,
163*c83a76b0SSuyog Pawar                 WORD32 mode);
164*c83a76b0SSuyog Pawar 
165*c83a76b0SSuyog Pawar 
166*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode2_ft(
167*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
168*c83a76b0SSuyog Pawar                 WORD32 src_strd,
169*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
170*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
171*c83a76b0SSuyog Pawar                 WORD32 nt,
172*c83a76b0SSuyog Pawar                 WORD32 mode);
173*c83a76b0SSuyog Pawar 
174*c83a76b0SSuyog Pawar 
175*c83a76b0SSuyog Pawar 
176*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode_18_34_ft(
177*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
178*c83a76b0SSuyog Pawar                 WORD32 src_strd,
179*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
180*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
181*c83a76b0SSuyog Pawar                 WORD32 nt,
182*c83a76b0SSuyog Pawar                 WORD32 mode);
183*c83a76b0SSuyog Pawar 
184*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode_3_to_9_ft(
185*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
186*c83a76b0SSuyog Pawar                 WORD32 src_strd,
187*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
188*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
189*c83a76b0SSuyog Pawar                 WORD32 nt,
190*c83a76b0SSuyog Pawar                 WORD32 mode);
191*c83a76b0SSuyog Pawar 
192*c83a76b0SSuyog Pawar 
193*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode_11_to_17_ft(
194*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
195*c83a76b0SSuyog Pawar                 WORD32 src_strd,
196*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
197*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
198*c83a76b0SSuyog Pawar                 WORD32 nt,
199*c83a76b0SSuyog Pawar                 WORD32 mode);
200*c83a76b0SSuyog Pawar 
201*c83a76b0SSuyog Pawar 
202*c83a76b0SSuyog Pawar 
203*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode_19_to_25_ft(
204*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
205*c83a76b0SSuyog Pawar                 WORD32 src_strd,
206*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
207*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
208*c83a76b0SSuyog Pawar                 WORD32 nt,
209*c83a76b0SSuyog Pawar                 WORD32 mode);
210*c83a76b0SSuyog Pawar 
211*c83a76b0SSuyog Pawar 
212*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_mode_27_to_33_ft(
213*c83a76b0SSuyog Pawar                 UWORD16 *pu2_ref,
214*c83a76b0SSuyog Pawar                 WORD32 src_strd,
215*c83a76b0SSuyog Pawar                 UWORD16 *pu2_dst,
216*c83a76b0SSuyog Pawar                 WORD32 dst_strd,
217*c83a76b0SSuyog Pawar                 WORD32 nt,
218*c83a76b0SSuyog Pawar                 WORD32 mode);
219*c83a76b0SSuyog Pawar 
220*c83a76b0SSuyog Pawar 
221*c83a76b0SSuyog Pawar typedef void ihevc_hbd_intra_pred_chroma_ref_substitution_ft(UWORD16 *pu2_top_left,
222*c83a76b0SSuyog Pawar                                                              UWORD16 *pu2_top,
223*c83a76b0SSuyog Pawar                                                              UWORD16 *pu2_left,
224*c83a76b0SSuyog Pawar                                                              WORD32 src_strd,
225*c83a76b0SSuyog Pawar                                                              WORD32 nt,
226*c83a76b0SSuyog Pawar                                                              WORD32 nbr_flags,
227*c83a76b0SSuyog Pawar                                                              UWORD16 *pu2_dst,
228*c83a76b0SSuyog Pawar                                                              WORD32 dst_strd,
229*c83a76b0SSuyog Pawar                                                              UWORD8 bit_depth);
230*c83a76b0SSuyog Pawar 
231*c83a76b0SSuyog Pawar /* C function declarations */
232*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar;
233*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc;
234*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz;
235*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver;
236*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2;
237*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34;
238*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9;
239*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17;
240*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25;
241*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33;
242*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution;
243*c83a76b0SSuyog Pawar 
244*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_planar_ft ihevc_hbd_intra_pred_chroma_planar;
245*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_dc_ft ihevc_hbd_intra_pred_chroma_dc;
246*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_horz_ft ihevc_hbd_intra_pred_chroma_horz;
247*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_ver_ft ihevc_hbd_intra_pred_chroma_ver;
248*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode2_ft ihevc_hbd_intra_pred_chroma_mode2;
249*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_18_34_ft ihevc_hbd_intra_pred_chroma_mode_18_34;
250*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_3_to_9_ft ihevc_hbd_intra_pred_chroma_mode_3_to_9;
251*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_11_to_17_ft ihevc_hbd_intra_pred_chroma_mode_11_to_17;
252*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_19_to_25_ft ihevc_hbd_intra_pred_chroma_mode_19_to_25;
253*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_27_to_33_ft ihevc_hbd_intra_pred_chroma_mode_27_to_33;
254*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_ref_substitution_ft ihevc_hbd_intra_pred_chroma_ref_substitution;
255*c83a76b0SSuyog Pawar 
256*c83a76b0SSuyog Pawar /* C function declarations */
257*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar;
258*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc;
259*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz;
260*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver;
261*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2;
262*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34;
263*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9;
264*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17;
265*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25;
266*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33;
267*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution;
268*c83a76b0SSuyog Pawar 
269*c83a76b0SSuyog Pawar /* A9Q function declarations */
270*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_a9q;
271*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_a9q;
272*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz_a9q;
273*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_a9q;
274*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2_a9q;
275*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_a9q;
276*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9_a9q;
277*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17_a9q;
278*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25_a9q;
279*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33_a9q;
280*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_a9q;
281*c83a76b0SSuyog Pawar 
282*c83a76b0SSuyog Pawar /* SSE4.2 function declarations */
283*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_neonintr;
284*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_neonintr;
285*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz_neonintr;
286*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_neonintr;
287*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2_neonintr;
288*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_neonintr;
289*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9_neonintr;
290*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17_neonintr;
291*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25_neonintr;
292*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33_neonintr;
293*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_neonintr;
294*c83a76b0SSuyog Pawar 
295*c83a76b0SSuyog Pawar /* SSSE3 function declarations */
296*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_ssse3;
297*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_ssse3;
298*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz_ssse3;
299*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_ssse3;
300*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2_ssse3;
301*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_ssse3;
302*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9_ssse3;
303*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17_ssse3;
304*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25_ssse3;
305*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33_ssse3;
306*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_ssse3;
307*c83a76b0SSuyog Pawar 
308*c83a76b0SSuyog Pawar /* SSE4.2 function declarations */
309*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_sse42;
310*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_sse42;
311*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_sse42;
312*c83a76b0SSuyog Pawar 
313*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_planar_ft ihevc_hbd_intra_pred_chroma_planar_sse42;
314*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_dc_ft ihevc_hbd_intra_pred_chroma_dc_sse42;
315*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_horz_ft ihevc_hbd_intra_pred_chroma_horz_sse42;
316*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_ver_ft ihevc_hbd_intra_pred_chroma_ver_sse42;
317*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode2_ft ihevc_hbd_intra_pred_chroma_mode2_sse42;
318*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_18_34_ft ihevc_hbd_intra_pred_chroma_mode_18_34_sse42;
319*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_3_to_9_ft ihevc_hbd_intra_pred_chroma_mode_3_to_9_sse42;
320*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_11_to_17_ft ihevc_hbd_intra_pred_chroma_mode_11_to_17_sse42;
321*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_19_to_25_ft ihevc_hbd_intra_pred_chroma_mode_19_to_25_sse42;
322*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_27_to_33_ft ihevc_hbd_intra_pred_chroma_mode_27_to_33_sse42;
323*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_ref_substitution_ft ihevc_hbd_intra_pred_chroma_ref_substitution_sse42;
324*c83a76b0SSuyog Pawar 
325*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_a9a;
326*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_a9a;
327*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz_a9a;
328*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_a9a;
329*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2_a9a;
330*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_a9a;
331*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9_a9a;
332*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17_a9a;
333*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25_a9a;
334*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33_a9a;
335*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_a9a;
336*c83a76b0SSuyog Pawar 
337*c83a76b0SSuyog Pawar /* AVX function declaration*/
338*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_avx;
339*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_avx;
340*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_avx;
341*c83a76b0SSuyog Pawar 
342*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_dc_ft ihevc_hbd_intra_pred_chroma_dc_avx;
343*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_mode_18_34_ft ihevc_hbd_intra_pred_chroma_mode_18_34_avx;
344*c83a76b0SSuyog Pawar ihevc_hbd_intra_pred_chroma_ver_ft ihevc_hbd_intra_pred_chroma_ver_avx;
345*c83a76b0SSuyog Pawar 
346*c83a76b0SSuyog Pawar /* armv8 function declarations */
347*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_planar_ft ihevc_intra_pred_chroma_planar_av8;
348*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_dc_ft ihevc_intra_pred_chroma_dc_av8;
349*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_horz_ft ihevc_intra_pred_chroma_horz_av8;
350*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ver_ft ihevc_intra_pred_chroma_ver_av8;
351*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode2_ft ihevc_intra_pred_chroma_mode2_av8;
352*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_18_34_ft ihevc_intra_pred_chroma_mode_18_34_av8;
353*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_3_to_9_ft ihevc_intra_pred_chroma_mode_3_to_9_av8;
354*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_11_to_17_ft ihevc_intra_pred_chroma_mode_11_to_17_av8;
355*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_19_to_25_ft ihevc_intra_pred_chroma_mode_19_to_25_av8;
356*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_mode_27_to_33_ft ihevc_intra_pred_chroma_mode_27_to_33_av8;
357*c83a76b0SSuyog Pawar ihevc_intra_pred_chroma_ref_substitution_ft ihevc_intra_pred_chroma_ref_substitution_av8;
358*c83a76b0SSuyog Pawar #endif /* IHEVC_CHROMA_INTRA_PRED_H_ */
359