comparison dsputil.h @ 4240:e880555ad2c6 libavcodec

Move copy_block* functions to dsp dsputil.h Patch by Brian Foley % bfoley A compsoc P nuigalway P ie % Original thread: Date: Nov 26, 2006 6:44 PM Subject: Re: [Ffmpeg-devel] [PATCH] put_mpeg4_qpel16_h_lowpass altivec, take 2
author gpoirier
date Sun, 26 Nov 2006 18:25:07 +0000
parents 30b14d0f2324
children e10af5bd6ff2
comparison
equal deleted inserted replaced
4239:30b14d0f2324 4240:e880555ad2c6
696 score +=name8(s, dst+8 , src+8 , stride, 8);\ 696 score +=name8(s, dst+8 , src+8 , stride, 8);\
697 }\ 697 }\
698 return score;\ 698 return score;\
699 } 699 }
700 700
701
702 static inline void copy_block2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
703 {
704 int i;
705 for(i=0; i<h; i++)
706 {
707 ST16(dst , LD16(src ));
708 dst+=dstStride;
709 src+=srcStride;
710 }
711 }
712
713 static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
714 {
715 int i;
716 for(i=0; i<h; i++)
717 {
718 ST32(dst , LD32(src ));
719 dst+=dstStride;
720 src+=srcStride;
721 }
722 }
723
724 static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
725 {
726 int i;
727 for(i=0; i<h; i++)
728 {
729 ST32(dst , LD32(src ));
730 ST32(dst+4 , LD32(src+4 ));
731 dst+=dstStride;
732 src+=srcStride;
733 }
734 }
735
736 static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
737 {
738 int i;
739 for(i=0; i<h; i++)
740 {
741 ST32(dst , LD32(src ));
742 ST32(dst+4 , LD32(src+4 ));
743 dst[8]= src[8];
744 dst+=dstStride;
745 src+=srcStride;
746 }
747 }
748
749 static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
750 {
751 int i;
752 for(i=0; i<h; i++)
753 {
754 ST32(dst , LD32(src ));
755 ST32(dst+4 , LD32(src+4 ));
756 ST32(dst+8 , LD32(src+8 ));
757 ST32(dst+12, LD32(src+12));
758 dst+=dstStride;
759 src+=srcStride;
760 }
761 }
762
763 static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
764 {
765 int i;
766 for(i=0; i<h; i++)
767 {
768 ST32(dst , LD32(src ));
769 ST32(dst+4 , LD32(src+4 ));
770 ST32(dst+8 , LD32(src+8 ));
771 ST32(dst+12, LD32(src+12));
772 dst[16]= src[16];
773 dst+=dstStride;
774 src+=srcStride;
775 }
776 }
777
701 #endif 778 #endif