Mercurial > libavcodec.hg
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 {\ |