comparison sh4/qpel.c @ 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 23da44e8fd05
children 6c66ddbb054f
comparison
equal deleted inserted replaced
4239:30b14d0f2324 4240:e880555ad2c6
561 561
562 H264_CHROMA_MC(put_ , op_put) 562 H264_CHROMA_MC(put_ , op_put)
563 H264_CHROMA_MC(avg_ , op_avg) 563 H264_CHROMA_MC(avg_ , op_avg)
564 #undef op_avg 564 #undef op_avg
565 #undef op_put 565 #undef op_put
566
567 /* not yet optimized */
568 static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
569 {
570 int i;
571 for(i=0; i<h; i++)
572 {
573 ST32(dst , LD32(src ));
574 dst+=dstStride;
575 src+=srcStride;
576 }
577 }
578
579 static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
580 {
581 int i;
582 for(i=0; i<h; i++)
583 {
584 ST32(dst , LD32(src ));
585 ST32(dst+4 , LD32(src+4 ));
586 dst+=dstStride;
587 src+=srcStride;
588 }
589 }
590
591 static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
592 {
593 int i;
594 for(i=0; i<h; i++)
595 {
596 ST32(dst , LD32(src ));
597 ST32(dst+4 , LD32(src+4 ));
598 ST32(dst+8 , LD32(src+8 ));
599 ST32(dst+12, LD32(src+12));
600 dst+=dstStride;
601 src+=srcStride;
602 }
603 }
604
605 static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
606 {
607 int i;
608 for(i=0; i<h; i++)
609 {
610 ST32(dst , LD32(src ));
611 ST32(dst+4 , LD32(src+4 ));
612 ST32(dst+8 , LD32(src+8 ));
613 ST32(dst+12, LD32(src+12));
614 dst[16]= src[16];
615 dst+=dstStride;
616 src+=srcStride;
617 }
618 }
619
620 static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
621 {
622 int i;
623 for(i=0; i<h; i++)
624 {
625 ST32(dst , LD32(src ));
626 ST32(dst+4 , LD32(src+4 ));
627 dst[8]= src[8];
628 dst+=dstStride;
629 src+=srcStride;
630 }
631 }
632 /* end not optimized */
633 566
634 #define QPEL_MC(r, OPNAME, RND, OP) \ 567 #define QPEL_MC(r, OPNAME, RND, OP) \
635 static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ 568 static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
636 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ 569 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
637 do {\ 570 do {\