181 const
int chroma_format_idc)
190 if (chroma_format_idc <= 1) {
192 c->idct_add8 = ff_h264_idct_add8_422_8_mmx;
196 c->idct8_dc_add = ff_h264_idct8_dc_add_8_mmxext;
199 c->idct8_add = ff_h264_idct8_add_8_sse2;
201 c->idct_add16 = ff_h264_idct_add16_8_sse2;
202 c->idct8_add4 = ff_h264_idct8_add4_8_sse2;
203 if (chroma_format_idc <= 1)
204 c->idct_add8 = ff_h264_idct_add8_8_sse2;
205 c->idct_add16intra = ff_h264_idct_add16intra_8_sse2;
208 c->weight_pixels_tab[0] = ff_h264_weight_16_sse2;
209 c->weight_pixels_tab[1] = ff_h264_weight_8_sse2;
210 c->weight_pixels_tab[2] = ff_h264_weight_4_sse2;
212 c->biweight_pixels_tab[0] = ff_h264_biweight_16_sse2;
213 c->biweight_pixels_tab[1] = ff_h264_biweight_8_sse2;
214 c->biweight_pixels_tab[2] = ff_h264_biweight_4_sse2;
216 c->v_loop_filter_luma = ff_deblock_v_luma_8_sse2;
217 c->h_loop_filter_luma = ff_deblock_h_luma_8_sse2;
218 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_8_sse2;
219 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_sse2;
222 c->h_loop_filter_luma_mbaff = ff_deblock_h_luma_mbaff_8_sse2;
225 c->v_loop_filter_chroma = ff_deblock_v_chroma_8_sse2;
226 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_sse2;
227 if (chroma_format_idc <= 1) {
228 c->h_loop_filter_chroma = ff_deblock_h_chroma_8_sse2;
229 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_sse2;
231 c->h_loop_filter_chroma = ff_deblock_h_chroma422_8_sse2;
232 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma422_intra_8_sse2;
235 c->idct_add = ff_h264_idct_add_8_sse2;
236 c->idct_dc_add = ff_h264_idct_dc_add_8_sse2;
239 c->biweight_pixels_tab[0] = ff_h264_biweight_16_ssse3;
240 c->biweight_pixels_tab[1] = ff_h264_biweight_8_ssse3;
241 c->biweight_pixels_tab[2] = ff_h264_biweight_4_ssse3;
244 c->v_loop_filter_luma = ff_deblock_v_luma_8_avx;
245 c->h_loop_filter_luma = ff_deblock_h_luma_8_avx;
246 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_8_avx;
247 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_avx;
249 c->h_loop_filter_luma_mbaff = ff_deblock_h_luma_mbaff_8_avx;
252 c->v_loop_filter_chroma = ff_deblock_v_chroma_8_avx;
253 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_avx;
254 if (chroma_format_idc <= 1) {
255 c->h_loop_filter_chroma = ff_deblock_h_chroma_8_avx;
256 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_avx;
258 c->h_loop_filter_chroma = ff_deblock_h_chroma422_8_avx;
259 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma422_intra_8_avx;
262 c->idct_add = ff_h264_idct_add_8_avx;
263 c->idct_dc_add = ff_h264_idct_dc_add_8_avx;
267 c->idct_dc_add = ff_h264_idct_dc_add_10_mmxext;
270 c->idct_add = ff_h264_idct_add_10_sse2;
271 c->idct8_dc_add = ff_h264_idct8_dc_add_10_sse2;
273 c->idct_add16 = ff_h264_idct_add16_10_sse2;
274 if (chroma_format_idc <= 1) {
275 c->idct_add8 = ff_h264_idct_add8_10_sse2;
277 c->idct_add8 = ff_h264_idct_add8_422_10_sse2;
279 c->idct_add16intra = ff_h264_idct_add16intra_10_sse2;
280#if HAVE_ALIGNED_STACK
281 c->idct8_add = ff_h264_idct8_add_10_sse2;
282 c->idct8_add4 = ff_h264_idct8_add4_10_sse2;
285 c->weight_pixels_tab[0] = ff_h264_weight_16_10_sse2;
286 c->weight_pixels_tab[1] = ff_h264_weight_8_10_sse2;
287 c->weight_pixels_tab[2] = ff_h264_weight_4_10_sse2;
289 c->biweight_pixels_tab[0] = ff_h264_biweight_16_10_sse2;
290 c->biweight_pixels_tab[1] = ff_h264_biweight_8_10_sse2;
291 c->biweight_pixels_tab[2] = ff_h264_biweight_4_10_sse2;
293 c->v_loop_filter_chroma = ff_deblock_v_chroma_10_sse2;
294 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_sse2;
295 if (chroma_format_idc <= 1) {
296 c->h_loop_filter_chroma = ff_deblock_h_chroma_10_sse2;
298 c->h_loop_filter_chroma = ff_deblock_h_chroma422_10_sse2;
300 c->v_loop_filter_luma = ff_deblock_v_luma_10_sse2;
301 c->h_loop_filter_luma = ff_deblock_h_luma_10_sse2;
302 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_sse2;
303 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_sse2;
306 c->weight_pixels_tab[0] = ff_h264_weight_16_10_sse4;
307 c->weight_pixels_tab[1] = ff_h264_weight_8_10_sse4;
308 c->weight_pixels_tab[2] = ff_h264_weight_4_10_sse4;
310 c->biweight_pixels_tab[0] = ff_h264_biweight_16_10_sse4;
311 c->biweight_pixels_tab[1] = ff_h264_biweight_8_10_sse4;
312 c->biweight_pixels_tab[2] = ff_h264_biweight_4_10_sse4;
316 c->idct_add = ff_h264_idct_add_10_avx;
317 c->idct8_dc_add = ff_h264_idct8_dc_add_10_avx;
319 c->idct_add16 = ff_h264_idct_add16_10_avx;
320 if (chroma_format_idc <= 1) {
321 c->idct_add8 = ff_h264_idct_add8_10_avx;
323 c->idct_add8 = ff_h264_idct_add8_422_10_avx;
325 c->idct_add16intra = ff_h264_idct_add16intra_10_avx;
326#if HAVE_ALIGNED_STACK
327 c->idct8_add = ff_h264_idct8_add_10_avx;
328 c->idct8_add4 = ff_h264_idct8_add4_10_avx;
331 c->v_loop_filter_chroma = ff_deblock_v_chroma_10_avx;
332 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_avx;
333 if (chroma_format_idc <= 1) {
334 c->h_loop_filter_chroma = ff_deblock_h_chroma_10_avx;
336 c->h_loop_filter_chroma = ff_deblock_h_chroma422_10_avx;
338 c->v_loop_filter_luma = ff_deblock_v_luma_10_avx;
339 c->h_loop_filter_luma = ff_deblock_h_luma_10_avx;
340 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_avx;
341 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_avx;