566
.global video_copy_y_block_mmx
567
video_copy_y_block_mmx:
574
movl 8(%ebp), %edi # dest
575
movl 12(%ebp), %esi # src
581
movq DV_WIDTH_BYTE(%esi), %mm1
598
psllw $PRECISION, %mm0
599
psllw $PRECISION, %mm1
600
psllw $PRECISION, %mm2
601
psllw $PRECISION, %mm3
609
addl $2*DV_WIDTH_BYTE, %esi
613
movq DV_WIDTH_BYTE(%esi), %mm1
630
psllw $PRECISION, %mm0
631
psllw $PRECISION, %mm1
632
psllw $PRECISION, %mm2
633
psllw $PRECISION, %mm3
641
addl $2*DV_WIDTH_BYTE, %esi
645
movq DV_WIDTH_BYTE(%esi), %mm1
662
psllw $PRECISION, %mm0
663
psllw $PRECISION, %mm1
664
psllw $PRECISION, %mm2
665
psllw $PRECISION, %mm3
673
addl $2*DV_WIDTH_BYTE, %esi
677
movq DV_WIDTH_BYTE(%esi), %mm1
694
psllw $PRECISION, %mm0
695
psllw $PRECISION, %mm1
696
psllw $PRECISION, %mm2
697
psllw $PRECISION, %mm3
711
.global ppm_copy_pal_c_block_mmx
712
ppm_copy_pal_c_block_mmx:
720
movl 8(%ebp), %edi # dest
721
movl 12(%ebp), %esi # src
724
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
726
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
736
addl $DV_WIDTH_SHORT, %esi
740
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
742
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
752
addl $DV_WIDTH_SHORT, %esi
756
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
758
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
768
addl $DV_WIDTH_SHORT, %esi
772
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
774
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
784
addl $DV_WIDTH_SHORT, %esi
788
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
790
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
800
addl $DV_WIDTH_SHORT, %esi
804
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
806
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
816
addl $DV_WIDTH_SHORT, %esi
820
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
822
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
832
addl $DV_WIDTH_SHORT, %esi
836
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
838
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
854
.global pgm_copy_pal_c_block_mmx
855
pgm_copy_pal_c_block_mmx:
863
movl 8(%ebp), %edi # dest
864
movl 12(%ebp), %esi # src
872
movq DV_WIDTH_BYTE(%esi), %mm1
889
psllw $PRECISION, %mm0
890
psllw $PRECISION, %mm1
891
psllw $PRECISION, %mm2
892
psllw $PRECISION, %mm3
900
addl $2*DV_WIDTH_BYTE, %esi
904
movq DV_WIDTH_BYTE(%esi), %mm1
921
psllw $PRECISION, %mm0
922
psllw $PRECISION, %mm1
923
psllw $PRECISION, %mm2
924
psllw $PRECISION, %mm3
932
addl $2*DV_WIDTH_BYTE, %esi
936
movq DV_WIDTH_BYTE(%esi), %mm1
953
psllw $PRECISION, %mm0
954
psllw $PRECISION, %mm1
955
psllw $PRECISION, %mm2
956
psllw $PRECISION, %mm3
964
addl $2*DV_WIDTH_BYTE, %esi
968
movq DV_WIDTH_BYTE(%esi), %mm1
985
psllw $PRECISION, %mm0
986
psllw $PRECISION, %mm1
987
psllw $PRECISION, %mm2
988
psllw $PRECISION, %mm3
1002
.global video_copy_pal_c_block_mmx
1003
video_copy_pal_c_block_mmx:
566
.global _dv_video_copy_y_block_mmx
567
_dv_video_copy_y_block_mmx:
574
movl 8(%ebp), %edi # dest
575
movl 12(%ebp), %esi # src
581
movq DV_WIDTH_BYTE(%esi), %mm1
598
psllw $PRECISION, %mm0
599
psllw $PRECISION, %mm1
600
psllw $PRECISION, %mm2
601
psllw $PRECISION, %mm3
609
addl $2*DV_WIDTH_BYTE, %esi
613
movq DV_WIDTH_BYTE(%esi), %mm1
630
psllw $PRECISION, %mm0
631
psllw $PRECISION, %mm1
632
psllw $PRECISION, %mm2
633
psllw $PRECISION, %mm3
641
addl $2*DV_WIDTH_BYTE, %esi
645
movq DV_WIDTH_BYTE(%esi), %mm1
662
psllw $PRECISION, %mm0
663
psllw $PRECISION, %mm1
664
psllw $PRECISION, %mm2
665
psllw $PRECISION, %mm3
673
addl $2*DV_WIDTH_BYTE, %esi
677
movq DV_WIDTH_BYTE(%esi), %mm1
694
psllw $PRECISION, %mm0
695
psllw $PRECISION, %mm1
696
psllw $PRECISION, %mm2
697
psllw $PRECISION, %mm3
711
.global _dv_ppm_copy_pal_c_block_mmx
712
_dv_ppm_copy_pal_c_block_mmx:
720
movl 8(%ebp), %edi # dest
721
movl 12(%ebp), %esi # src
724
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
726
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
736
addl $DV_WIDTH_SHORT, %esi
740
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
742
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
752
addl $DV_WIDTH_SHORT, %esi
756
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
758
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
768
addl $DV_WIDTH_SHORT, %esi
772
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
774
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
784
addl $DV_WIDTH_SHORT, %esi
788
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
790
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
800
addl $DV_WIDTH_SHORT, %esi
804
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
806
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
816
addl $DV_WIDTH_SHORT, %esi
820
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
822
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
832
addl $DV_WIDTH_SHORT, %esi
836
movq DV_WIDTH_SHORT_HALF(%esi), %mm1
838
movq DV_WIDTH_SHORT_HALF+8(%esi), %mm3
854
.global _dv_pgm_copy_pal_c_block_mmx
855
_dv_pgm_copy_pal_c_block_mmx:
863
movl 8(%ebp), %edi # dest
864
movl 12(%ebp), %esi # src
872
movq DV_WIDTH_BYTE(%esi), %mm1
889
psllw $PRECISION, %mm0
890
psllw $PRECISION, %mm1
891
psllw $PRECISION, %mm2
892
psllw $PRECISION, %mm3
900
addl $2*DV_WIDTH_BYTE, %esi
904
movq DV_WIDTH_BYTE(%esi), %mm1
921
psllw $PRECISION, %mm0
922
psllw $PRECISION, %mm1
923
psllw $PRECISION, %mm2
924
psllw $PRECISION, %mm3
932
addl $2*DV_WIDTH_BYTE, %esi
936
movq DV_WIDTH_BYTE(%esi), %mm1
953
psllw $PRECISION, %mm0
954
psllw $PRECISION, %mm1
955
psllw $PRECISION, %mm2
956
psllw $PRECISION, %mm3
964
addl $2*DV_WIDTH_BYTE, %esi
968
movq DV_WIDTH_BYTE(%esi), %mm1
985
psllw $PRECISION, %mm0
986
psllw $PRECISION, %mm1
987
psllw $PRECISION, %mm2
988
psllw $PRECISION, %mm3
1002
.global _dv_video_copy_pal_c_block_mmx
1003
_dv_video_copy_pal_c_block_mmx:
1006
1006
movl %esp, %ebp