36 |
#include "dct/fdct.h" |
#include "dct/fdct.h" |
37 |
#include "image/colorspace.h" |
#include "image/colorspace.h" |
38 |
#include "image/interpolate8x8.h" |
#include "image/interpolate8x8.h" |
|
#include "image/reduced.h" |
|
39 |
#include "utils/mem_transfer.h" |
#include "utils/mem_transfer.h" |
40 |
#include "utils/mbfunctions.h" |
#include "utils/mbfunctions.h" |
41 |
#include "quant/quant.h" |
#include "quant/quant.h" |
210 |
transfer_8to16sub = transfer_8to16sub_c; |
transfer_8to16sub = transfer_8to16sub_c; |
211 |
transfer_8to16subro = transfer_8to16subro_c; |
transfer_8to16subro = transfer_8to16subro_c; |
212 |
transfer_8to16sub2 = transfer_8to16sub2_c; |
transfer_8to16sub2 = transfer_8to16sub2_c; |
213 |
|
transfer_8to16sub2ro = transfer_8to16sub2ro_c; |
214 |
transfer_16to8add = transfer_16to8add_c; |
transfer_16to8add = transfer_16to8add_c; |
215 |
transfer8x8_copy = transfer8x8_copy_c; |
transfer8x8_copy = transfer8x8_copy_c; |
216 |
|
|
244 |
/* postprocessing */ |
/* postprocessing */ |
245 |
image_brightness = image_brightness_c; |
image_brightness = image_brightness_c; |
246 |
|
|
|
/* reduced resolution */ |
|
|
copy_upsampled_8x8_16to8 = xvid_Copy_Upsampled_8x8_16To8_C; |
|
|
add_upsampled_8x8_16to8 = xvid_Add_Upsampled_8x8_16To8_C; |
|
|
vfilter_31 = xvid_VFilter_31_C; |
|
|
hfilter_31 = xvid_HFilter_31_C; |
|
|
filter_18x18_to_8x8 = xvid_Filter_18x18_To_8x8_C; |
|
|
filter_diff_18x18_to_8x8 = xvid_Filter_Diff_18x18_To_8x8_C; |
|
|
|
|
247 |
/* Initialize internal colorspace transformation tables */ |
/* Initialize internal colorspace transformation tables */ |
248 |
colorspace_init(); |
colorspace_init(); |
249 |
|
|
303 |
|
|
304 |
#if defined(ARCH_IS_IA32) |
#if defined(ARCH_IS_IA32) |
305 |
|
|
|
if ((cpu_flags & XVID_CPU_ASM)) { |
|
|
vfilter_31 = xvid_VFilter_31_x86; |
|
|
hfilter_31 = xvid_HFilter_31_x86; |
|
|
} |
|
|
|
|
306 |
if ((cpu_flags & XVID_CPU_MMX) || (cpu_flags & XVID_CPU_MMXEXT) || |
if ((cpu_flags & XVID_CPU_MMX) || (cpu_flags & XVID_CPU_MMXEXT) || |
307 |
(cpu_flags & XVID_CPU_3DNOW) || (cpu_flags & XVID_CPU_3DNOWEXT) || |
(cpu_flags & XVID_CPU_3DNOW) || (cpu_flags & XVID_CPU_3DNOWEXT) || |
308 |
(cpu_flags & XVID_CPU_SSE) || (cpu_flags & XVID_CPU_SSE2)) |
(cpu_flags & XVID_CPU_SSE) || (cpu_flags & XVID_CPU_SSE2)) |
363 |
/* postprocessing */ |
/* postprocessing */ |
364 |
image_brightness = image_brightness_mmx; |
image_brightness = image_brightness_mmx; |
365 |
|
|
|
/* reduced resolution */ |
|
|
copy_upsampled_8x8_16to8 = xvid_Copy_Upsampled_8x8_16To8_mmx; |
|
|
add_upsampled_8x8_16to8 = xvid_Add_Upsampled_8x8_16To8_mmx; |
|
|
hfilter_31 = xvid_HFilter_31_mmx; |
|
|
filter_18x18_to_8x8 = xvid_Filter_18x18_To_8x8_mmx; |
|
|
filter_diff_18x18_to_8x8 = xvid_Filter_Diff_18x18_To_8x8_mmx; |
|
|
|
|
366 |
/* image input xxx_to_yv12 related functions */ |
/* image input xxx_to_yv12 related functions */ |
367 |
yv12_to_yv12 = yv12_to_yv12_mmx; |
yv12_to_yv12 = yv12_to_yv12_mmx; |
368 |
bgr_to_yv12 = bgr_to_yv12_mmx; |
bgr_to_yv12 = bgr_to_yv12_mmx; |
421 |
interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_xmm; |
interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_xmm; |
422 |
interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_xmm; |
interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_xmm; |
423 |
|
|
|
/* reduced resolution */ |
|
|
copy_upsampled_8x8_16to8 = xvid_Copy_Upsampled_8x8_16To8_xmm; |
|
|
add_upsampled_8x8_16to8 = xvid_Add_Upsampled_8x8_16To8_xmm; |
|
|
|
|
424 |
/* Quantization */ |
/* Quantization */ |
425 |
quant_mpeg_intra = quant_mpeg_intra_xmm; |
quant_mpeg_intra = quant_mpeg_intra_xmm; |
426 |
quant_mpeg_inter = quant_mpeg_inter_xmm; |
quant_mpeg_inter = quant_mpeg_inter_xmm; |
430 |
|
|
431 |
/* Buffer transfer */ |
/* Buffer transfer */ |
432 |
transfer_8to16sub2 = transfer_8to16sub2_xmm; |
transfer_8to16sub2 = transfer_8to16sub2_xmm; |
433 |
|
transfer_8to16sub2ro = transfer_8to16sub2ro_xmm; |
434 |
|
|
435 |
/* Colorspace transformation */ |
/* Colorspace transformation */ |
436 |
yv12_to_yv12 = yv12_to_yv12_xmm; |
yv12_to_yv12 = yv12_to_yv12_xmm; |
574 |
interpolate8x8_avg2 = interpolate8x8_avg2_altivec_c; |
interpolate8x8_avg2 = interpolate8x8_avg2_altivec_c; |
575 |
interpolate8x8_avg4 = interpolate8x8_avg4_altivec_c; |
interpolate8x8_avg4 = interpolate8x8_avg4_altivec_c; |
576 |
|
|
577 |
interpolate8x8_6tap_lowpass_h = interpolate8x8_6tap_lowpass_h_altivec_c; |
interpolate8x8_halfpel_add = interpolate8x8_halfpel_add_altivec_c; |
578 |
|
interpolate8x8_halfpel_h_add = interpolate8x8_halfpel_h_add_altivec_c; |
579 |
|
interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_altivec_c; |
580 |
|
interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_altivec_c; |
581 |
|
|
582 |
/* Colorspace conversion */ |
/* Colorspace conversion */ |
583 |
bgra_to_yv12 = bgra_to_yv12_altivec_c; |
bgra_to_yv12 = bgra_to_yv12_altivec_c; |
596 |
quant_h263_inter = quant_h263_inter_altivec_c; |
quant_h263_inter = quant_h263_inter_altivec_c; |
597 |
dequant_h263_intra = dequant_h263_intra_altivec_c; |
dequant_h263_intra = dequant_h263_intra_altivec_c; |
598 |
dequant_h263_inter = dequant_h263_inter_altivec_c; |
dequant_h263_inter = dequant_h263_inter_altivec_c; |
599 |
|
|
600 |
|
/* Qpel stuff */ |
601 |
|
xvid_QP_Funcs = &xvid_QP_Funcs_Altivec_C; |
602 |
|
xvid_QP_Add_Funcs = &xvid_QP_Add_Funcs_Altivec_C; |
603 |
} |
} |
604 |
#endif |
#endif |
605 |
|
|