--- qpel_mmx.asm 2008/08/19 09:06:48 1.3 +++ qpel_mmx.asm 2008/11/11 20:46:24 1.4 @@ -21,7 +21,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: qpel_mmx.asm,v 1.3 2008/08/19 09:06:48 Isibaar Exp $ +; * $Id: qpel_mmx.asm,v 1.4 2008/11/11 20:46:24 Isibaar Exp $ ; * ; *************************************************************************/ @@ -47,15 +47,19 @@ %ifdef MARK_FUNCS global _%1:function %1.endfunc-%1 %define %1 _%1:function %1.endfunc-%1 + %define ENDFUNC .endfunc %else global _%1 %define %1 _%1 + %define ENDFUNC %endif %else %ifdef MARK_FUNCS global %1:function %1.endfunc-%1 + %define ENDFUNC .endfunc %else global %1 + %define ENDFUNC %endif %endif %endmacro @@ -120,75 +124,75 @@ SECTION .data align=32 xvid_Expand_mmx: times 256*4 dw 0 ; uint16_t xvid_Expand_mmx[256][4] -.endfunc +ENDFUNC xvid_FIR_1_0_0_0: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_3_1_0_0: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_6_3_1_0: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_14_3_2_1: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_20_6_3_1: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_20_20_6_3: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_23_19_6_3: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_7_20_20_6: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_6_20_20_6: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_6_20_20_7: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_3_6_20_20: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_3_6_19_23: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_1_3_6_20: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_1_2_3_14: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_0_1_3_6: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_0_0_1_3: times 256*4 dw 0 -.endfunc +ENDFUNC xvid_FIR_0_0_0_1: times 256*4 dw 0 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// @@ -205,7 +209,7 @@ times 4 dw 0 align 16 -Rounder_QP_MMX +Rounder_QP_MMX: times 4 dw 16 times 4 dw 15 @@ -423,7 +427,7 @@ PROLOG_AVRG %endif -.Loop +.Loop: ; mm0..mm3 serves as a 4x4 delay line @@ -534,7 +538,7 @@ PROLOG_AVRG %endif -.Loop +.Loop: ; mm0..mm3 serves as a 4x4 delay line %ifndef USE_TABLES @@ -651,52 +655,52 @@ xvid_H_Pass_16_x86_64: H_PASS_16 0, 0 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_16_x86_64: H_PASS_16 1, 0 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_Up_16_x86_64: H_PASS_16 2, 0 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 8x? copy Functions xvid_H_Pass_8_x86_64: H_PASS_8 0, 0 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_8_x86_64: H_PASS_8 1, 0 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_Up_8_x86_64: H_PASS_8 2, 0 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 16x? avrg Functions xvid_H_Pass_Add_16_x86_64: H_PASS_16 0, 1 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_Add_16_x86_64: H_PASS_16 1, 1 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_Up_Add_16_x86_64: H_PASS_16 2, 1 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 8x? avrg Functions xvid_H_Pass_8_Add_x86_64: H_PASS_8 0, 1 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_8_Add_x86_64: H_PASS_8 1, 1 -.endfunc +ENDFUNC xvid_H_Pass_Avrg_Up_8_Add_x86_64: H_PASS_8 2, 1 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// @@ -795,7 +799,7 @@ ; the size (3rd argument) is meant to be a multiple of 4 ; mm0..mm3 serves as a 4x4 delay line -.Loop +.Loop: push rdi push rsi ; esi is preserved for src-mixing @@ -1002,7 +1006,7 @@ ; we process one stripe of 4x8 pixel each time ; the size (3rd argument) is meant to be a multiple of 4 ; mm0..mm3 serves as a 4x4 delay line -.Loop +.Loop: push rdi push rsi ; esi is preserved for src-mixing @@ -1104,52 +1108,52 @@ xvid_V_Pass_16_x86_64: V_PASS_16 0, 0 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_16_x86_64: V_PASS_16 1, 0 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_Up_16_x86_64: V_PASS_16 2, 0 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 8x? copy Functions xvid_V_Pass_8_x86_64: V_PASS_8 0, 0 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_8_x86_64: V_PASS_8 1, 0 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_Up_8_x86_64: V_PASS_8 2, 0 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 16x? avrg Functions xvid_V_Pass_Add_16_x86_64: V_PASS_16 0, 1 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_Add_16_x86_64: V_PASS_16 1, 1 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_Up_Add_16_x86_64: V_PASS_16 2, 1 -.endfunc +ENDFUNC ;////////////////////////////////////////////////////////////////////// ;// 8x? avrg Functions xvid_V_Pass_8_Add_x86_64: V_PASS_8 0, 1 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_8_Add_x86_64: V_PASS_8 1, 1 -.endfunc +ENDFUNC xvid_V_Pass_Avrg_Up_8_Add_x86_64: V_PASS_8 2, 1 -.endfunc +ENDFUNC ;//////////////////////////////////////////////////////////////////////