185 const
int chroma_format_idc)
194 if (chroma_format_idc <= 1) {
196 c->idct_add8 = ff_h264_idct_add8_422_8_mmx;
200 c->idct8_dc_add = ff_h264_idct8_dc_add_8_mmxext;
202 c->weight_pixels_tab[2] = ff_h264_weight_4_mmxext;
204 c->biweight_pixels_tab[2] = ff_h264_biweight_4_mmxext;
207 c->idct8_add = ff_h264_idct8_add_8_sse2;
209 c->idct_add16 = ff_h264_idct_add16_8_sse2;
210 c->idct8_add4 = ff_h264_idct8_add4_8_sse2;
211 if (chroma_format_idc <= 1)
212 c->idct_add8 = ff_h264_idct_add8_8_sse2;
213 c->idct_add16intra = ff_h264_idct_add16intra_8_sse2;
216 c->weight_pixels_tab[0] = ff_h264_weight_16_sse2;
217 c->weight_pixels_tab[1] = ff_h264_weight_8_sse2;
219 c->biweight_pixels_tab[0] = ff_h264_biweight_16_sse2;
220 c->biweight_pixels_tab[1] = ff_h264_biweight_8_sse2;
222 c->v_loop_filter_luma = ff_deblock_v_luma_8_sse2;
223 c->h_loop_filter_luma = ff_deblock_h_luma_8_sse2;
224 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_8_sse2;
225 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_sse2;
228 c->h_loop_filter_luma_mbaff = ff_deblock_h_luma_mbaff_8_sse2;
231 c->v_loop_filter_chroma = ff_deblock_v_chroma_8_sse2;
232 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_sse2;
233 if (chroma_format_idc <= 1) {
234 c->h_loop_filter_chroma = ff_deblock_h_chroma_8_sse2;
235 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_sse2;
237 c->h_loop_filter_chroma = ff_deblock_h_chroma422_8_sse2;
238 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma422_intra_8_sse2;
241 c->idct_add = ff_h264_idct_add_8_sse2;
242 c->idct_dc_add = ff_h264_idct_dc_add_8_sse2;
245 c->biweight_pixels_tab[0] = ff_h264_biweight_16_ssse3;
246 c->biweight_pixels_tab[1] = ff_h264_biweight_8_ssse3;
249 c->v_loop_filter_luma = ff_deblock_v_luma_8_avx;
250 c->h_loop_filter_luma = ff_deblock_h_luma_8_avx;
251 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_8_avx;
252 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_avx;
254 c->h_loop_filter_luma_mbaff = ff_deblock_h_luma_mbaff_8_avx;
257 c->v_loop_filter_chroma = ff_deblock_v_chroma_8_avx;
258 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_avx;
259 if (chroma_format_idc <= 1) {
260 c->h_loop_filter_chroma = ff_deblock_h_chroma_8_avx;
261 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_avx;
263 c->h_loop_filter_chroma = ff_deblock_h_chroma422_8_avx;
264 c->h_loop_filter_chroma_intra = ff_deblock_h_chroma422_intra_8_avx;
267 c->idct_add = ff_h264_idct_add_8_avx;
268 c->idct_dc_add = ff_h264_idct_dc_add_8_avx;
272 c->idct_dc_add = ff_h264_idct_dc_add_10_mmxext;
275 c->idct_add = ff_h264_idct_add_10_sse2;
276 c->idct8_dc_add = ff_h264_idct8_dc_add_10_sse2;
278 c->idct_add16 = ff_h264_idct_add16_10_sse2;
279 if (chroma_format_idc <= 1) {
280 c->idct_add8 = ff_h264_idct_add8_10_sse2;
282 c->idct_add8 = ff_h264_idct_add8_422_10_sse2;
284 c->idct_add16intra = ff_h264_idct_add16intra_10_sse2;
285#if HAVE_ALIGNED_STACK
286 c->idct8_add = ff_h264_idct8_add_10_sse2;
287 c->idct8_add4 = ff_h264_idct8_add4_10_sse2;
290 c->weight_pixels_tab[0] = ff_h264_weight_16_10_sse2;
291 c->weight_pixels_tab[1] = ff_h264_weight_8_10_sse2;
292 c->weight_pixels_tab[2] = ff_h264_weight_4_10_sse2;
294 c->biweight_pixels_tab[0] = ff_h264_biweight_16_10_sse2;
295 c->biweight_pixels_tab[1] = ff_h264_biweight_8_10_sse2;
296 c->biweight_pixels_tab[2] = ff_h264_biweight_4_10_sse2;
298 c->v_loop_filter_chroma = ff_deblock_v_chroma_10_sse2;
299 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_sse2;
300 if (chroma_format_idc <= 1) {
301 c->h_loop_filter_chroma = ff_deblock_h_chroma_10_sse2;
303 c->h_loop_filter_chroma = ff_deblock_h_chroma422_10_sse2;
305 c->v_loop_filter_luma = ff_deblock_v_luma_10_sse2;
306 c->h_loop_filter_luma = ff_deblock_h_luma_10_sse2;
307 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_sse2;
308 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_sse2;
311 c->weight_pixels_tab[0] = ff_h264_weight_16_10_sse4;
312 c->weight_pixels_tab[1] = ff_h264_weight_8_10_sse4;
313 c->weight_pixels_tab[2] = ff_h264_weight_4_10_sse4;
315 c->biweight_pixels_tab[0] = ff_h264_biweight_16_10_sse4;
316 c->biweight_pixels_tab[1] = ff_h264_biweight_8_10_sse4;
317 c->biweight_pixels_tab[2] = ff_h264_biweight_4_10_sse4;
321 c->idct_add = ff_h264_idct_add_10_avx;
322 c->idct8_dc_add = ff_h264_idct8_dc_add_10_avx;
324 c->idct_add16 = ff_h264_idct_add16_10_avx;
325 if (chroma_format_idc <= 1) {
326 c->idct_add8 = ff_h264_idct_add8_10_avx;
328 c->idct_add8 = ff_h264_idct_add8_422_10_avx;
330 c->idct_add16intra = ff_h264_idct_add16intra_10_avx;
331#if HAVE_ALIGNED_STACK
332 c->idct8_add = ff_h264_idct8_add_10_avx;
333 c->idct8_add4 = ff_h264_idct8_add4_10_avx;
336 c->v_loop_filter_chroma = ff_deblock_v_chroma_10_avx;
337 c->v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_avx;
338 if (chroma_format_idc <= 1) {
339 c->h_loop_filter_chroma = ff_deblock_h_chroma_10_avx;
341 c->h_loop_filter_chroma = ff_deblock_h_chroma422_10_avx;
343 c->v_loop_filter_luma = ff_deblock_v_luma_10_avx;
344 c->h_loop_filter_luma = ff_deblock_h_luma_10_avx;
345 c->v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_avx;
346 c->h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_avx;