• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2019 The libgav1 Authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef LIBGAV1_SRC_DSP_X86_INTRAPRED_SSE4_H_
18 #define LIBGAV1_SRC_DSP_X86_INTRAPRED_SSE4_H_
19 
20 #include "src/dsp/dsp.h"
21 #include "src/utils/cpu.h"
22 
23 namespace libgav1 {
24 namespace dsp {
25 
26 // Initializes Dsp::intra_predictors. See the defines below for specifics.
27 // These functions are not thread-safe.
28 void IntraPredInit_SSE4_1();
29 
30 }  // namespace dsp
31 }  // namespace libgav1
32 
33 // If sse4 is enabled and the baseline isn't set due to a higher level of
34 // optimization being enabled, signal the sse4 implementation should be used.
35 #if LIBGAV1_TARGETING_SSE4_1
36 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcTop
37 #define LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
38 #endif
39 
40 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcTop
41 #define LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
42 #endif
43 
44 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcTop
45 #define LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
46 #endif
47 
48 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcTop
49 #define LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
50 #endif
51 
52 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcTop
53 #define LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
54 #endif
55 
56 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcTop
57 #define LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
58 #endif
59 
60 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcTop
61 #define LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
62 #endif
63 
64 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcTop
65 #define LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
66 #endif
67 
68 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcTop
69 #define LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
70 #endif
71 
72 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcTop
73 #define LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcTop \
74   LIBGAV1_CPU_SSE4_1
75 #endif
76 
77 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcTop
78 #define LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcTop \
79   LIBGAV1_CPU_SSE4_1
80 #endif
81 
82 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcTop
83 #define LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcTop \
84   LIBGAV1_CPU_SSE4_1
85 #endif
86 
87 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcTop
88 #define LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
89 #endif
90 
91 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcTop
92 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcTop \
93   LIBGAV1_CPU_SSE4_1
94 #endif
95 
96 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcTop
97 #define LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcTop \
98   LIBGAV1_CPU_SSE4_1
99 #endif
100 
101 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcTop
102 #define LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcTop \
103   LIBGAV1_CPU_SSE4_1
104 #endif
105 
106 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcTop
107 #define LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcTop \
108   LIBGAV1_CPU_SSE4_1
109 #endif
110 
111 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcTop
112 #define LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcTop \
113   LIBGAV1_CPU_SSE4_1
114 #endif
115 
116 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcTop
117 #define LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcTop \
118   LIBGAV1_CPU_SSE4_1
119 #endif
120 
121 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcLeft
122 #define LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcLeft LIBGAV1_CPU_SSE4_1
123 #endif
124 
125 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcLeft
126 #define LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcLeft LIBGAV1_CPU_SSE4_1
127 #endif
128 
129 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcLeft
130 #define LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcLeft \
131   LIBGAV1_CPU_SSE4_1
132 #endif
133 
134 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcLeft
135 #define LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcLeft LIBGAV1_CPU_SSE4_1
136 #endif
137 
138 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcLeft
139 #define LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcLeft LIBGAV1_CPU_SSE4_1
140 #endif
141 
142 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcLeft
143 #define LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcLeft \
144   LIBGAV1_CPU_SSE4_1
145 #endif
146 
147 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcLeft
148 #define LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcLeft \
149   LIBGAV1_CPU_SSE4_1
150 #endif
151 
152 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcLeft
153 #define LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcLeft \
154   LIBGAV1_CPU_SSE4_1
155 #endif
156 
157 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcLeft
158 #define LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcLeft \
159   LIBGAV1_CPU_SSE4_1
160 #endif
161 
162 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcLeft
163 #define LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcLeft \
164   LIBGAV1_CPU_SSE4_1
165 #endif
166 
167 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcLeft
168 #define LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcLeft \
169   LIBGAV1_CPU_SSE4_1
170 #endif
171 
172 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcLeft
173 #define LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcLeft \
174   LIBGAV1_CPU_SSE4_1
175 #endif
176 
177 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcLeft
178 #define LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcLeft \
179   LIBGAV1_CPU_SSE4_1
180 #endif
181 
182 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcLeft
183 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcLeft \
184   LIBGAV1_CPU_SSE4_1
185 #endif
186 
187 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcLeft
188 #define LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcLeft \
189   LIBGAV1_CPU_SSE4_1
190 #endif
191 
192 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcLeft
193 #define LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcLeft \
194   LIBGAV1_CPU_SSE4_1
195 #endif
196 
197 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcLeft
198 #define LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcLeft \
199   LIBGAV1_CPU_SSE4_1
200 #endif
201 
202 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcLeft
203 #define LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcLeft \
204   LIBGAV1_CPU_SSE4_1
205 #endif
206 
207 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcLeft
208 #define LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcLeft \
209   LIBGAV1_CPU_SSE4_1
210 #endif
211 
212 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDc
213 #define LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDc LIBGAV1_CPU_SSE4_1
214 #endif
215 
216 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDc
217 #define LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDc LIBGAV1_CPU_SSE4_1
218 #endif
219 
220 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDc
221 #define LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDc LIBGAV1_CPU_SSE4_1
222 #endif
223 
224 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDc
225 #define LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDc LIBGAV1_CPU_SSE4_1
226 #endif
227 
228 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDc
229 #define LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDc LIBGAV1_CPU_SSE4_1
230 #endif
231 
232 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDc
233 #define LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDc LIBGAV1_CPU_SSE4_1
234 #endif
235 
236 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDc
237 #define LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDc LIBGAV1_CPU_SSE4_1
238 #endif
239 
240 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDc
241 #define LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDc LIBGAV1_CPU_SSE4_1
242 #endif
243 
244 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDc
245 #define LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDc LIBGAV1_CPU_SSE4_1
246 #endif
247 
248 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDc
249 #define LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDc LIBGAV1_CPU_SSE4_1
250 #endif
251 
252 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDc
253 #define LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDc LIBGAV1_CPU_SSE4_1
254 #endif
255 
256 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDc
257 #define LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDc LIBGAV1_CPU_SSE4_1
258 #endif
259 
260 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDc
261 #define LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDc LIBGAV1_CPU_SSE4_1
262 #endif
263 
264 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDc
265 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDc LIBGAV1_CPU_SSE4_1
266 #endif
267 
268 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDc
269 #define LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDc LIBGAV1_CPU_SSE4_1
270 #endif
271 
272 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDc
273 #define LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDc LIBGAV1_CPU_SSE4_1
274 #endif
275 
276 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDc
277 #define LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDc LIBGAV1_CPU_SSE4_1
278 #endif
279 
280 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDc
281 #define LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDc LIBGAV1_CPU_SSE4_1
282 #endif
283 
284 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDc
285 #define LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDc LIBGAV1_CPU_SSE4_1
286 #endif
287 
288 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorPaeth
289 #define LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
290 #endif
291 
292 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorPaeth
293 #define LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
294 #endif
295 
296 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorPaeth
297 #define LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
298 #endif
299 
300 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorPaeth
301 #define LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
302 #endif
303 
304 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorPaeth
305 #define LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
306 #endif
307 
308 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorPaeth
309 #define LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
310 #endif
311 
312 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorPaeth
313 #define LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
314 #endif
315 
316 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorPaeth
317 #define LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
318 #endif
319 
320 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorPaeth
321 #define LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
322 #endif
323 
324 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorPaeth
325 #define LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorPaeth \
326   LIBGAV1_CPU_SSE4_1
327 #endif
328 
329 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorPaeth
330 #define LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorPaeth \
331   LIBGAV1_CPU_SSE4_1
332 #endif
333 
334 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorPaeth
335 #define LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorPaeth \
336   LIBGAV1_CPU_SSE4_1
337 #endif
338 
339 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorPaeth
340 #define LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorPaeth LIBGAV1_CPU_SSE4_1
341 #endif
342 
343 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorPaeth
344 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorPaeth \
345   LIBGAV1_CPU_SSE4_1
346 #endif
347 
348 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorPaeth
349 #define LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorPaeth \
350   LIBGAV1_CPU_SSE4_1
351 #endif
352 
353 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorPaeth
354 #define LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorPaeth \
355   LIBGAV1_CPU_SSE4_1
356 #endif
357 
358 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorPaeth
359 #define LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorPaeth \
360   LIBGAV1_CPU_SSE4_1
361 #endif
362 
363 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorPaeth
364 #define LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorPaeth \
365   LIBGAV1_CPU_SSE4_1
366 #endif
367 
368 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorPaeth
369 #define LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorPaeth \
370   LIBGAV1_CPU_SSE4_1
371 #endif
372 
373 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorHorizontal
374 #define LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorHorizontal \
375   LIBGAV1_CPU_SSE4_1
376 #endif
377 
378 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorHorizontal
379 #define LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorHorizontal \
380   LIBGAV1_CPU_SSE4_1
381 #endif
382 
383 #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorHorizontal
384 #define LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorHorizontal \
385   LIBGAV1_CPU_SSE4_1
386 #endif
387 
388 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorHorizontal
389 #define LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorHorizontal \
390   LIBGAV1_CPU_SSE4_1
391 #endif
392 
393 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorHorizontal
394 #define LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorHorizontal \
395   LIBGAV1_CPU_SSE4_1
396 #endif
397 
398 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorHorizontal
399 #define LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorHorizontal \
400   LIBGAV1_CPU_SSE4_1
401 #endif
402 
403 #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorHorizontal
404 #define LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorHorizontal \
405   LIBGAV1_CPU_SSE4_1
406 #endif
407 
408 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorHorizontal
409 #define LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorHorizontal \
410   LIBGAV1_CPU_SSE4_1
411 #endif
412 
413 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorHorizontal
414 #define LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorHorizontal \
415   LIBGAV1_CPU_SSE4_1
416 #endif
417 
418 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorHorizontal
419 #define LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorHorizontal \
420   LIBGAV1_CPU_SSE4_1
421 #endif
422 
423 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorHorizontal
424 #define LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorHorizontal \
425   LIBGAV1_CPU_SSE4_1
426 #endif
427 
428 #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorHorizontal
429 #define LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorHorizontal \
430   LIBGAV1_CPU_SSE4_1
431 #endif
432 
433 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorHorizontal
434 #define LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorHorizontal \
435   LIBGAV1_CPU_SSE4_1
436 #endif
437 
438 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorHorizontal
439 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorHorizontal \
440   LIBGAV1_CPU_SSE4_1
441 #endif
442 
443 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorHorizontal
444 #define LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorHorizontal \
445   LIBGAV1_CPU_SSE4_1
446 #endif
447 
448 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorHorizontal
449 #define LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorHorizontal \
450   LIBGAV1_CPU_SSE4_1
451 #endif
452 
453 #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorHorizontal
454 #define LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorHorizontal \
455   LIBGAV1_CPU_SSE4_1
456 #endif
457 
458 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorHorizontal
459 #define LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorHorizontal \
460   LIBGAV1_CPU_SSE4_1
461 #endif
462 
463 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorHorizontal
464 #define LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorHorizontal \
465   LIBGAV1_CPU_SSE4_1
466 #endif
467 
468 #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorHorizontal
469 #define LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorHorizontal \
470   LIBGAV1_CPU_SSE4_1
471 #endif
472 
473 //------------------------------------------------------------------------------
474 // 10bpp
475 
476 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcTop
477 #define LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcTop LIBGAV1_CPU_SSE4_1
478 #endif
479 
480 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcLeft
481 #define LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcLeft \
482   LIBGAV1_CPU_SSE4_1
483 #endif
484 
485 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDc
486 #define LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDc LIBGAV1_CPU_SSE4_1
487 #endif
488 
489 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorHorizontal
490 #define LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorHorizontal \
491   LIBGAV1_CPU_SSE4_1
492 #endif
493 
494 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorHorizontal
495 #define LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorHorizontal \
496   LIBGAV1_CPU_SSE4_1
497 #endif
498 
499 #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorHorizontal
500 #define LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorHorizontal \
501   LIBGAV1_CPU_SSE4_1
502 #endif
503 
504 #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorHorizontal
505 #define LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorHorizontal \
506   LIBGAV1_CPU_SSE4_1
507 #endif
508 
509 #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorHorizontal
510 #define LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorHorizontal \
511   LIBGAV1_CPU_SSE4_1
512 #endif
513 
514 #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorHorizontal
515 #define LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorHorizontal \
516   LIBGAV1_CPU_SSE4_1
517 #endif
518 
519 #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorHorizontal
520 #define LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorHorizontal \
521   LIBGAV1_CPU_SSE4_1
522 #endif
523 
524 #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorHorizontal
525 #define LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorHorizontal \
526   LIBGAV1_CPU_SSE4_1
527 #endif
528 
529 #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorHorizontal
530 #define LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorHorizontal \
531   LIBGAV1_CPU_SSE4_1
532 #endif
533 
534 #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorHorizontal
535 #define LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorHorizontal \
536   LIBGAV1_CPU_SSE4_1
537 #endif
538 
539 #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorHorizontal
540 #define LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorHorizontal \
541   LIBGAV1_CPU_SSE4_1
542 #endif
543 
544 #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorHorizontal
545 #define LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorHorizontal \
546   LIBGAV1_CPU_SSE4_1
547 #endif
548 
549 #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorHorizontal
550 #define LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorHorizontal \
551   LIBGAV1_CPU_SSE4_1
552 #endif
553 
554 #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorHorizontal
555 #define LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorHorizontal \
556   LIBGAV1_CPU_SSE4_1
557 #endif
558 
559 #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorHorizontal
560 #define LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorHorizontal \
561   LIBGAV1_CPU_SSE4_1
562 #endif
563 
564 #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorHorizontal
565 #define LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorHorizontal \
566   LIBGAV1_CPU_SSE4_1
567 #endif
568 
569 #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorHorizontal
570 #define LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorHorizontal \
571   LIBGAV1_CPU_SSE4_1
572 #endif
573 
574 #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorHorizontal
575 #define LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorHorizontal \
576   LIBGAV1_CPU_SSE4_1
577 #endif
578 
579 #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorHorizontal
580 #define LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorHorizontal \
581   LIBGAV1_CPU_SSE4_1
582 #endif
583 
584 #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorHorizontal
585 #define LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorHorizontal \
586   LIBGAV1_CPU_SSE4_1
587 #endif
588 
589 #endif  // LIBGAV1_TARGETING_SSE4_1
590 
591 #endif  // LIBGAV1_SRC_DSP_X86_INTRAPRED_SSE4_H_
592