FFmpeg coverage


Directory: ../../../ffmpeg/
File: src/libavcodec/x86/h264_intrapred_init.c
Date: 2024-04-25 15:36:26
Exec Total Coverage
Lines: 134 134 100.0%
Functions: 1 1 100.0%
Branches: 70 74 94.6%

Line Branch Exec Source
1 /*
2 * Copyright (c) 2010 Fiona Glaser <fiona@x264.com>
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #include <stddef.h>
22 #include <stdint.h>
23 #include "config.h"
24 #include "libavutil/attributes.h"
25 #include "libavutil/cpu.h"
26 #include "libavutil/x86/cpu.h"
27 #include "libavcodec/codec_id.h"
28 #include "libavcodec/h264pred.h"
29
30 #define PRED4x4(TYPE, DEPTH, OPT) \
31 void ff_pred4x4_ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *src, \
32 const uint8_t *topright, \
33 ptrdiff_t stride);
34
35 PRED4x4(dc, 10, mmxext)
36 PRED4x4(down_left, 10, sse2)
37 PRED4x4(down_left, 10, avx)
38 PRED4x4(down_right, 10, sse2)
39 PRED4x4(down_right, 10, ssse3)
40 PRED4x4(down_right, 10, avx)
41 PRED4x4(vertical_left, 10, sse2)
42 PRED4x4(vertical_left, 10, avx)
43 PRED4x4(vertical_right, 10, sse2)
44 PRED4x4(vertical_right, 10, ssse3)
45 PRED4x4(vertical_right, 10, avx)
46 PRED4x4(horizontal_up, 10, mmxext)
47 PRED4x4(horizontal_down, 10, sse2)
48 PRED4x4(horizontal_down, 10, ssse3)
49 PRED4x4(horizontal_down, 10, avx)
50
51 #define PRED8x8(TYPE, DEPTH, OPT) \
52 void ff_pred8x8_ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *src, \
53 ptrdiff_t stride);
54
55 PRED8x8(dc, 10, sse2)
56 PRED8x8(top_dc, 10, sse2)
57 PRED8x8(plane, 10, sse2)
58 PRED8x8(vertical, 10, sse2)
59 PRED8x8(horizontal, 10, sse2)
60
61 #define PRED8x8L(TYPE, DEPTH, OPT)\
62 void ff_pred8x8l_ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *src, \
63 int has_topleft, \
64 int has_topright, \
65 ptrdiff_t stride);
66
67 PRED8x8L(dc, 10, sse2)
68 PRED8x8L(dc, 10, avx)
69 PRED8x8L(128_dc, 10, sse2)
70 PRED8x8L(top_dc, 10, sse2)
71 PRED8x8L(top_dc, 10, avx)
72 PRED8x8L(vertical, 10, sse2)
73 PRED8x8L(vertical, 10, avx)
74 PRED8x8L(horizontal, 10, sse2)
75 PRED8x8L(horizontal, 10, ssse3)
76 PRED8x8L(horizontal, 10, avx)
77 PRED8x8L(down_left, 10, sse2)
78 PRED8x8L(down_left, 10, ssse3)
79 PRED8x8L(down_left, 10, avx)
80 PRED8x8L(down_right, 10, sse2)
81 PRED8x8L(down_right, 10, ssse3)
82 PRED8x8L(down_right, 10, avx)
83 PRED8x8L(vertical_right, 10, sse2)
84 PRED8x8L(vertical_right, 10, ssse3)
85 PRED8x8L(vertical_right, 10, avx)
86 PRED8x8L(horizontal_up, 10, sse2)
87 PRED8x8L(horizontal_up, 10, ssse3)
88 PRED8x8L(horizontal_up, 10, avx)
89
90 #define PRED16x16(TYPE, DEPTH, OPT)\
91 void ff_pred16x16_ ## TYPE ## _ ## DEPTH ## _ ## OPT (uint8_t *src, \
92 ptrdiff_t stride);
93
94 PRED16x16(dc, 10, sse2)
95 PRED16x16(top_dc, 10, sse2)
96 PRED16x16(128_dc, 10, sse2)
97 PRED16x16(left_dc, 10, sse2)
98 PRED16x16(vertical, 10, sse2)
99 PRED16x16(horizontal, 10, sse2)
100
101 /* 8-bit versions */
102 PRED16x16(vertical, 8, sse)
103 PRED16x16(horizontal, 8, sse2)
104 PRED16x16(horizontal, 8, ssse3)
105 PRED16x16(dc, 8, sse2)
106 PRED16x16(dc, 8, ssse3)
107 PRED16x16(plane_h264, 8, sse2)
108 PRED16x16(plane_h264, 8, ssse3)
109 PRED16x16(plane_rv40, 8, sse2)
110 PRED16x16(plane_rv40, 8, ssse3)
111 PRED16x16(plane_svq3, 8, sse2)
112 PRED16x16(plane_svq3, 8, ssse3)
113 PRED16x16(tm_vp8, 8, sse2)
114 PRED16x16(tm_vp8, 8, avx2)
115
116 PRED8x8(top_dc, 8, mmxext)
117 PRED8x8(dc_rv40, 8, mmxext)
118 PRED8x8(dc, 8, mmxext)
119 PRED8x8(vertical, 8, sse2)
120 PRED8x8(horizontal, 8, mmxext)
121 PRED8x8(horizontal, 8, ssse3)
122 PRED8x8(plane, 8, sse2)
123 PRED8x8(plane, 8, ssse3)
124 PRED8x8(tm_vp8, 8, sse2)
125 PRED8x8(tm_vp8, 8, ssse3)
126
127 PRED8x8L(top_dc, 8, mmxext)
128 PRED8x8L(top_dc, 8, ssse3)
129 PRED8x8L(dc, 8, mmxext)
130 PRED8x8L(dc, 8, ssse3)
131 PRED8x8L(horizontal, 8, mmxext)
132 PRED8x8L(horizontal, 8, ssse3)
133 PRED8x8L(vertical, 8, mmxext)
134 PRED8x8L(vertical, 8, ssse3)
135 PRED8x8L(down_left, 8, sse2)
136 PRED8x8L(down_left, 8, ssse3)
137 PRED8x8L(down_right, 8, sse2)
138 PRED8x8L(down_right, 8, ssse3)
139 PRED8x8L(vertical_right, 8, sse2)
140 PRED8x8L(vertical_right, 8, ssse3)
141 PRED8x8L(vertical_left, 8, sse2)
142 PRED8x8L(vertical_left, 8, ssse3)
143 PRED8x8L(horizontal_up, 8, mmxext)
144 PRED8x8L(horizontal_up, 8, ssse3)
145 PRED8x8L(horizontal_down, 8, sse2)
146 PRED8x8L(horizontal_down, 8, ssse3)
147
148 PRED4x4(dc, 8, mmxext)
149 PRED4x4(down_left, 8, mmxext)
150 PRED4x4(down_right, 8, mmxext)
151 PRED4x4(vertical_left, 8, mmxext)
152 PRED4x4(vertical_right, 8, mmxext)
153 PRED4x4(horizontal_up, 8, mmxext)
154 PRED4x4(horizontal_down, 8, mmxext)
155 PRED4x4(tm_vp8, 8, mmxext)
156 PRED4x4(tm_vp8, 8, ssse3)
157 PRED4x4(vertical_vp8, 8, mmxext)
158
159 1149 av_cold void ff_h264_pred_init_x86(H264PredContext *h, int codec_id,
160 const int bit_depth,
161 const int chroma_format_idc)
162 {
163 1149 int cpu_flags = av_get_cpu_flags();
164
165
2/2
✓ Branch 0 taken 885 times.
✓ Branch 1 taken 264 times.
1149 if (bit_depth == 8) {
166
2/2
✓ Branch 0 taken 274 times.
✓ Branch 1 taken 611 times.
885 if (EXTERNAL_MMXEXT(cpu_flags)) {
167
2/2
✓ Branch 0 taken 223 times.
✓ Branch 1 taken 51 times.
274 if (chroma_format_idc <= 1)
168 223 h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_horizontal_8_mmxext;
169 274 h->pred8x8l [TOP_DC_PRED ] = ff_pred8x8l_top_dc_8_mmxext;
170 274 h->pred8x8l [DC_PRED ] = ff_pred8x8l_dc_8_mmxext;
171 274 h->pred8x8l [HOR_PRED ] = ff_pred8x8l_horizontal_8_mmxext;
172 274 h->pred8x8l [VERT_PRED ] = ff_pred8x8l_vertical_8_mmxext;
173 274 h->pred8x8l [HOR_UP_PRED ] = ff_pred8x8l_horizontal_up_8_mmxext;
174 274 h->pred4x4 [DIAG_DOWN_RIGHT_PRED ] = ff_pred4x4_down_right_8_mmxext;
175 274 h->pred4x4 [VERT_RIGHT_PRED ] = ff_pred4x4_vertical_right_8_mmxext;
176 274 h->pred4x4 [HOR_DOWN_PRED ] = ff_pred4x4_horizontal_down_8_mmxext;
177 274 h->pred4x4 [DC_PRED ] = ff_pred4x4_dc_8_mmxext;
178
5/6
✓ Branch 0 taken 274 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 220 times.
✓ Branch 3 taken 54 times.
✓ Branch 4 taken 128 times.
✓ Branch 5 taken 92 times.
274 if (codec_id == AV_CODEC_ID_VP7 || codec_id == AV_CODEC_ID_VP8 ||
179 codec_id == AV_CODEC_ID_H264) {
180 182 h->pred4x4 [DIAG_DOWN_LEFT_PRED] = ff_pred4x4_down_left_8_mmxext;
181 }
182
4/4
✓ Branch 0 taken 226 times.
✓ Branch 1 taken 48 times.
✓ Branch 2 taken 128 times.
✓ Branch 3 taken 98 times.
274 if (codec_id == AV_CODEC_ID_SVQ3 || codec_id == AV_CODEC_ID_H264) {
183 176 h->pred4x4 [VERT_LEFT_PRED ] = ff_pred4x4_vertical_left_8_mmxext;
184 }
185
2/2
✓ Branch 0 taken 230 times.
✓ Branch 1 taken 44 times.
274 if (codec_id != AV_CODEC_ID_RV40) {
186 230 h->pred4x4 [HOR_UP_PRED ] = ff_pred4x4_horizontal_up_8_mmxext;
187 }
188
4/4
✓ Branch 0 taken 226 times.
✓ Branch 1 taken 48 times.
✓ Branch 2 taken 128 times.
✓ Branch 3 taken 98 times.
274 if (codec_id == AV_CODEC_ID_SVQ3 || codec_id == AV_CODEC_ID_H264) {
189
2/2
✓ Branch 0 taken 125 times.
✓ Branch 1 taken 51 times.
176 if (chroma_format_idc <= 1) {
190 125 h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_8_mmxext;
191 125 h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_8_mmxext;
192 }
193 }
194
3/4
✓ Branch 0 taken 274 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 54 times.
✓ Branch 3 taken 220 times.
274 if (codec_id == AV_CODEC_ID_VP7 || codec_id == AV_CODEC_ID_VP8) {
195 54 h->pred8x8 [DC_PRED8x8 ] = ff_pred8x8_dc_rv40_8_mmxext;
196 54 h->pred4x4 [TM_VP8_PRED ] = ff_pred4x4_tm_vp8_8_mmxext;
197 54 h->pred4x4 [VERT_PRED ] = ff_pred4x4_vertical_vp8_8_mmxext;
198 }
199 }
200
201
2/2
✓ Branch 0 taken 254 times.
✓ Branch 1 taken 631 times.
885 if (EXTERNAL_SSE(cpu_flags)) {
202 254 h->pred16x16[VERT_PRED8x8] = ff_pred16x16_vertical_8_sse;
203 }
204
205
2/2
✓ Branch 0 taken 234 times.
✓ Branch 1 taken 651 times.
885 if (EXTERNAL_SSE2(cpu_flags)) {
206 234 h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_8_sse2;
207 234 h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_8_sse2;
208 234 h->pred8x8l [DIAG_DOWN_LEFT_PRED ] = ff_pred8x8l_down_left_8_sse2;
209 234 h->pred8x8l [DIAG_DOWN_RIGHT_PRED ] = ff_pred8x8l_down_right_8_sse2;
210 234 h->pred8x8l [VERT_RIGHT_PRED ] = ff_pred8x8l_vertical_right_8_sse2;
211 234 h->pred8x8l [VERT_LEFT_PRED ] = ff_pred8x8l_vertical_left_8_sse2;
212 234 h->pred8x8l [HOR_DOWN_PRED ] = ff_pred8x8l_horizontal_down_8_sse2;
213
2/2
✓ Branch 0 taken 191 times.
✓ Branch 1 taken 43 times.
234 if (chroma_format_idc <= 1)
214 191 h->pred8x8 [VERT_PRED8x8 ] = ff_pred8x8_vertical_8_sse2;
215
3/4
✓ Branch 0 taken 234 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 46 times.
✓ Branch 3 taken 188 times.
234 if (codec_id == AV_CODEC_ID_VP7 || codec_id == AV_CODEC_ID_VP8) {
216 46 h->pred16x16[PLANE_PRED8x8 ] = ff_pred16x16_tm_vp8_8_sse2;
217 46 h->pred8x8 [PLANE_PRED8x8 ] = ff_pred8x8_tm_vp8_8_sse2;
218 } else {
219
2/2
✓ Branch 0 taken 145 times.
✓ Branch 1 taken 43 times.
188 if (chroma_format_idc <= 1)
220 145 h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_plane_8_sse2;
221
2/2
✓ Branch 0 taken 40 times.
✓ Branch 1 taken 148 times.
188 if (codec_id == AV_CODEC_ID_SVQ3) {
222 40 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_8_sse2;
223
2/2
✓ Branch 0 taken 36 times.
✓ Branch 1 taken 112 times.
148 } else if (codec_id == AV_CODEC_ID_RV40) {
224 36 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_rv40_8_sse2;
225 } else {
226 112 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_h264_8_sse2;
227 }
228 }
229 }
230
231
2/2
✓ Branch 0 taken 194 times.
✓ Branch 1 taken 691 times.
885 if (EXTERNAL_SSSE3(cpu_flags)) {
232 194 h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_8_ssse3;
233 194 h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_8_ssse3;
234
2/2
✓ Branch 0 taken 159 times.
✓ Branch 1 taken 35 times.
194 if (chroma_format_idc <= 1)
235 159 h->pred8x8 [HOR_PRED8x8 ] = ff_pred8x8_horizontal_8_ssse3;
236 194 h->pred8x8l [TOP_DC_PRED ] = ff_pred8x8l_top_dc_8_ssse3;
237 194 h->pred8x8l [DC_PRED ] = ff_pred8x8l_dc_8_ssse3;
238 194 h->pred8x8l [HOR_PRED ] = ff_pred8x8l_horizontal_8_ssse3;
239 194 h->pred8x8l [VERT_PRED ] = ff_pred8x8l_vertical_8_ssse3;
240 194 h->pred8x8l [DIAG_DOWN_LEFT_PRED ] = ff_pred8x8l_down_left_8_ssse3;
241 194 h->pred8x8l [DIAG_DOWN_RIGHT_PRED ] = ff_pred8x8l_down_right_8_ssse3;
242 194 h->pred8x8l [VERT_RIGHT_PRED ] = ff_pred8x8l_vertical_right_8_ssse3;
243 194 h->pred8x8l [VERT_LEFT_PRED ] = ff_pred8x8l_vertical_left_8_ssse3;
244 194 h->pred8x8l [HOR_UP_PRED ] = ff_pred8x8l_horizontal_up_8_ssse3;
245 194 h->pred8x8l [HOR_DOWN_PRED ] = ff_pred8x8l_horizontal_down_8_ssse3;
246
3/4
✓ Branch 0 taken 194 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 38 times.
✓ Branch 3 taken 156 times.
194 if (codec_id == AV_CODEC_ID_VP7 || codec_id == AV_CODEC_ID_VP8) {
247 38 h->pred8x8 [PLANE_PRED8x8 ] = ff_pred8x8_tm_vp8_8_ssse3;
248 38 h->pred4x4 [TM_VP8_PRED ] = ff_pred4x4_tm_vp8_8_ssse3;
249 } else {
250
2/2
✓ Branch 0 taken 121 times.
✓ Branch 1 taken 35 times.
156 if (chroma_format_idc <= 1)
251 121 h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_plane_8_ssse3;
252
2/2
✓ Branch 0 taken 32 times.
✓ Branch 1 taken 124 times.
156 if (codec_id == AV_CODEC_ID_SVQ3) {
253 32 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_8_ssse3;
254
2/2
✓ Branch 0 taken 28 times.
✓ Branch 1 taken 96 times.
124 } else if (codec_id == AV_CODEC_ID_RV40) {
255 28 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_rv40_8_ssse3;
256 } else {
257 96 h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_h264_8_ssse3;
258 }
259 }
260 }
261
262
2/2
✓ Branch 0 taken 74 times.
✓ Branch 1 taken 811 times.
885 if(EXTERNAL_AVX2(cpu_flags)){
263
2/2
✓ Branch 0 taken 14 times.
✓ Branch 1 taken 60 times.
74 if (codec_id == AV_CODEC_ID_VP8) {
264 14 h->pred16x16[PLANE_PRED8x8 ] = ff_pred16x16_tm_vp8_8_avx2;
265 }
266 }
267
2/2
✓ Branch 0 taken 155 times.
✓ Branch 1 taken 109 times.
264 } else if (bit_depth == 10) {
268
2/2
✓ Branch 0 taken 100 times.
✓ Branch 1 taken 55 times.
155 if (EXTERNAL_MMXEXT(cpu_flags)) {
269 100 h->pred4x4[DC_PRED ] = ff_pred4x4_dc_10_mmxext;
270 100 h->pred4x4[HOR_UP_PRED ] = ff_pred4x4_horizontal_up_10_mmxext;
271 }
272
2/2
✓ Branch 0 taken 84 times.
✓ Branch 1 taken 71 times.
155 if (EXTERNAL_SSE2(cpu_flags)) {
273 84 h->pred4x4[DIAG_DOWN_LEFT_PRED ] = ff_pred4x4_down_left_10_sse2;
274 84 h->pred4x4[DIAG_DOWN_RIGHT_PRED] = ff_pred4x4_down_right_10_sse2;
275 84 h->pred4x4[VERT_LEFT_PRED ] = ff_pred4x4_vertical_left_10_sse2;
276 84 h->pred4x4[VERT_RIGHT_PRED ] = ff_pred4x4_vertical_right_10_sse2;
277 84 h->pred4x4[HOR_DOWN_PRED ] = ff_pred4x4_horizontal_down_10_sse2;
278
279
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 36 times.
84 if (chroma_format_idc <= 1) {
280 48 h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_10_sse2;
281 48 h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_10_sse2;
282 48 h->pred8x8[PLANE_PRED8x8 ] = ff_pred8x8_plane_10_sse2;
283 48 h->pred8x8[VERT_PRED8x8 ] = ff_pred8x8_vertical_10_sse2;
284 48 h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_horizontal_10_sse2;
285 }
286
287 84 h->pred8x8l[VERT_PRED ] = ff_pred8x8l_vertical_10_sse2;
288 84 h->pred8x8l[HOR_PRED ] = ff_pred8x8l_horizontal_10_sse2;
289 84 h->pred8x8l[DC_PRED ] = ff_pred8x8l_dc_10_sse2;
290 84 h->pred8x8l[DC_128_PRED ] = ff_pred8x8l_128_dc_10_sse2;
291 84 h->pred8x8l[TOP_DC_PRED ] = ff_pred8x8l_top_dc_10_sse2;
292 84 h->pred8x8l[DIAG_DOWN_LEFT_PRED ] = ff_pred8x8l_down_left_10_sse2;
293 84 h->pred8x8l[DIAG_DOWN_RIGHT_PRED] = ff_pred8x8l_down_right_10_sse2;
294 84 h->pred8x8l[VERT_RIGHT_PRED ] = ff_pred8x8l_vertical_right_10_sse2;
295 84 h->pred8x8l[HOR_UP_PRED ] = ff_pred8x8l_horizontal_up_10_sse2;
296
297 84 h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_10_sse2;
298 84 h->pred16x16[TOP_DC_PRED8x8 ] = ff_pred16x16_top_dc_10_sse2;
299 84 h->pred16x16[DC_128_PRED8x8 ] = ff_pred16x16_128_dc_10_sse2;
300 84 h->pred16x16[LEFT_DC_PRED8x8 ] = ff_pred16x16_left_dc_10_sse2;
301 84 h->pred16x16[VERT_PRED8x8 ] = ff_pred16x16_vertical_10_sse2;
302 84 h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_10_sse2;
303 }
304
2/2
✓ Branch 0 taken 68 times.
✓ Branch 1 taken 87 times.
155 if (EXTERNAL_SSSE3(cpu_flags)) {
305 68 h->pred4x4[DIAG_DOWN_RIGHT_PRED] = ff_pred4x4_down_right_10_ssse3;
306 68 h->pred4x4[VERT_RIGHT_PRED ] = ff_pred4x4_vertical_right_10_ssse3;
307 68 h->pred4x4[HOR_DOWN_PRED ] = ff_pred4x4_horizontal_down_10_ssse3;
308
309 68 h->pred8x8l[HOR_PRED ] = ff_pred8x8l_horizontal_10_ssse3;
310 68 h->pred8x8l[DIAG_DOWN_LEFT_PRED ] = ff_pred8x8l_down_left_10_ssse3;
311 68 h->pred8x8l[DIAG_DOWN_RIGHT_PRED] = ff_pred8x8l_down_right_10_ssse3;
312 68 h->pred8x8l[VERT_RIGHT_PRED ] = ff_pred8x8l_vertical_right_10_ssse3;
313 68 h->pred8x8l[HOR_UP_PRED ] = ff_pred8x8l_horizontal_up_10_ssse3;
314 }
315
2/2
✓ Branch 0 taken 36 times.
✓ Branch 1 taken 119 times.
155 if (EXTERNAL_AVX(cpu_flags)) {
316 36 h->pred4x4[DIAG_DOWN_LEFT_PRED ] = ff_pred4x4_down_left_10_avx;
317 36 h->pred4x4[DIAG_DOWN_RIGHT_PRED] = ff_pred4x4_down_right_10_avx;
318 36 h->pred4x4[VERT_LEFT_PRED ] = ff_pred4x4_vertical_left_10_avx;
319 36 h->pred4x4[VERT_RIGHT_PRED ] = ff_pred4x4_vertical_right_10_avx;
320 36 h->pred4x4[HOR_DOWN_PRED ] = ff_pred4x4_horizontal_down_10_avx;
321
322 36 h->pred8x8l[VERT_PRED ] = ff_pred8x8l_vertical_10_avx;
323 36 h->pred8x8l[HOR_PRED ] = ff_pred8x8l_horizontal_10_avx;
324 36 h->pred8x8l[DC_PRED ] = ff_pred8x8l_dc_10_avx;
325 36 h->pred8x8l[TOP_DC_PRED ] = ff_pred8x8l_top_dc_10_avx;
326 36 h->pred8x8l[DIAG_DOWN_RIGHT_PRED] = ff_pred8x8l_down_right_10_avx;
327 36 h->pred8x8l[DIAG_DOWN_LEFT_PRED ] = ff_pred8x8l_down_left_10_avx;
328 36 h->pred8x8l[VERT_RIGHT_PRED ] = ff_pred8x8l_vertical_right_10_avx;
329 36 h->pred8x8l[HOR_UP_PRED ] = ff_pred8x8l_horizontal_up_10_avx;
330 }
331 }
332 1149 }
333