--- xvid.c 2004/07/15 10:08:21 1.54 +++ xvid.c 2004/12/09 23:02:54 1.58 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid.c,v 1.54 2004/07/15 10:08:21 suxen_drol Exp $ + * $Id: xvid.c,v 1.58 2004/12/09 23:02:54 edgomez Exp $ * ****************************************************************************/ @@ -36,7 +36,6 @@ #include "dct/fdct.h" #include "image/colorspace.h" #include "image/interpolate8x8.h" -#include "image/reduced.h" #include "utils/mem_transfer.h" #include "utils/mbfunctions.h" #include "quant/quant.h" @@ -222,6 +221,11 @@ interpolate8x8_halfpel_v = interpolate8x8_halfpel_v_c; interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_c; + interpolate8x8_halfpel_add = interpolate8x8_halfpel_add_c; + interpolate8x8_halfpel_h_add = interpolate8x8_halfpel_h_add_c; + interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_c; + interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_c; + interpolate16x16_lowpass_h = interpolate16x16_lowpass_h_c; interpolate16x16_lowpass_v = interpolate16x16_lowpass_v_c; interpolate16x16_lowpass_hv = interpolate16x16_lowpass_hv_c; @@ -239,14 +243,6 @@ /* postprocessing */ image_brightness = image_brightness_c; - /* 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; - /* Initialize internal colorspace transformation tables */ colorspace_init(); @@ -306,11 +302,6 @@ #if defined(ARCH_IS_IA32) - if ((cpu_flags & XVID_CPU_ASM)) { - vfilter_31 = xvid_VFilter_31_x86; - hfilter_31 = xvid_HFilter_31_x86; - } - if ((cpu_flags & XVID_CPU_MMX) || (cpu_flags & XVID_CPU_MMXEXT) || (cpu_flags & XVID_CPU_3DNOW) || (cpu_flags & XVID_CPU_3DNOWEXT) || (cpu_flags & XVID_CPU_SSE) || (cpu_flags & XVID_CPU_SSE2)) @@ -357,6 +348,11 @@ interpolate8x8_halfpel_v = interpolate8x8_halfpel_v_mmx; interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_mmx; + interpolate8x8_halfpel_add = interpolate8x8_halfpel_add_mmx; + interpolate8x8_halfpel_h_add = interpolate8x8_halfpel_h_add_mmx; + interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_mmx; + interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_mmx; + interpolate8x8_6tap_lowpass_h = interpolate8x8_6tap_lowpass_h_mmx; interpolate8x8_6tap_lowpass_v = interpolate8x8_6tap_lowpass_v_mmx; @@ -366,13 +362,6 @@ /* postprocessing */ image_brightness = image_brightness_mmx; - /* 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; - /* image input xxx_to_yv12 related functions */ yv12_to_yv12 = yv12_to_yv12_mmx; bgr_to_yv12 = bgr_to_yv12_mmx; @@ -425,10 +414,11 @@ interpolate8x8_halfpel_h = interpolate8x8_halfpel_h_xmm; interpolate8x8_halfpel_v = interpolate8x8_halfpel_v_xmm; interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_xmm; - - /* reduced resolution */ - copy_upsampled_8x8_16to8 = xvid_Copy_Upsampled_8x8_16To8_xmm; - add_upsampled_8x8_16to8 = xvid_Add_Upsampled_8x8_16To8_xmm; + + interpolate8x8_halfpel_add = interpolate8x8_halfpel_add_xmm; + interpolate8x8_halfpel_h_add = interpolate8x8_halfpel_h_add_xmm; + interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_xmm; + interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_xmm; /* Quantization */ quant_mpeg_intra = quant_mpeg_intra_xmm; @@ -555,10 +545,10 @@ #if defined(ARCH_IS_PPC) if ((cpu_flags & XVID_CPU_ALTIVEC)) { /* sad operators */ - sad16 = sad16_altivec_c; - sad16bi = sad16bi_altivec_c; - sad8 = sad8_altivec_c; - dev16 = dev16_altivec_c; + sad16 = sad16_altivec_c; + sad16bi = sad16bi_altivec_c; + sad8 = sad8_altivec_c; + dev16 = dev16_altivec_c; sse8_16bit = sse8_16bit_altivec_c; @@ -578,11 +568,14 @@ interpolate8x8_halfpel_h = interpolate8x8_halfpel_h_altivec_c; interpolate8x8_halfpel_v = interpolate8x8_halfpel_v_altivec_c; interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_altivec_c; - + interpolate8x8_avg2 = interpolate8x8_avg2_altivec_c; interpolate8x8_avg4 = interpolate8x8_avg4_altivec_c; - - interpolate8x8_6tap_lowpass_h = interpolate8x8_6tap_lowpass_h_altivec_c; + + interpolate8x8_halfpel_add = interpolate8x8_halfpel_add_altivec_c; + interpolate8x8_halfpel_h_add = interpolate8x8_halfpel_h_add_altivec_c; + interpolate8x8_halfpel_v_add = interpolate8x8_halfpel_v_add_altivec_c; + interpolate8x8_halfpel_hv_add = interpolate8x8_halfpel_hv_add_altivec_c; /* Colorspace conversion */ bgra_to_yv12 = bgra_to_yv12_altivec_c; @@ -601,6 +594,10 @@ quant_h263_inter = quant_h263_inter_altivec_c; dequant_h263_intra = dequant_h263_intra_altivec_c; dequant_h263_inter = dequant_h263_inter_altivec_c; + + /* Qpel stuff */ + xvid_QP_Funcs = &xvid_QP_Funcs_Altivec_C; + xvid_QP_Add_Funcs = &xvid_QP_Add_Funcs_Altivec_C; } #endif