You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
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 Originally committed as revision 7172 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
committed by
Guillaume Poirier
parent
61f5b14a8e
commit
49cef7443a
@@ -1513,83 +1513,6 @@ static void put_no_rnd_h264_chroma_mc8_c(uint8_t *dst/*align 8*/, uint8_t *src/*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void copy_block2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST16(dst , LD16(src ));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
ST32(dst+8 , LD32(src+8 ));
|
|
||||||
ST32(dst+12, LD32(src+12));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
ST32(dst+8 , LD32(src+8 ));
|
|
||||||
ST32(dst+12, LD32(src+12));
|
|
||||||
dst[16]= src[16];
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
dst[8]= src[8];
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#define QPEL_MC(r, OPNAME, RND, OP) \
|
#define QPEL_MC(r, OPNAME, RND, OP) \
|
||||||
static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
|
static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
|
||||||
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
|
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
|
||||||
|
@@ -698,4 +698,81 @@ static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int st
|
|||||||
return score;\
|
return score;\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline void copy_block2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST16(dst , LD16(src ));
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST32(dst , LD32(src ));
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST32(dst , LD32(src ));
|
||||||
|
ST32(dst+4 , LD32(src+4 ));
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST32(dst , LD32(src ));
|
||||||
|
ST32(dst+4 , LD32(src+4 ));
|
||||||
|
dst[8]= src[8];
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST32(dst , LD32(src ));
|
||||||
|
ST32(dst+4 , LD32(src+4 ));
|
||||||
|
ST32(dst+8 , LD32(src+8 ));
|
||||||
|
ST32(dst+12, LD32(src+12));
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i=0; i<h; i++)
|
||||||
|
{
|
||||||
|
ST32(dst , LD32(src ));
|
||||||
|
ST32(dst+4 , LD32(src+4 ));
|
||||||
|
ST32(dst+8 , LD32(src+8 ));
|
||||||
|
ST32(dst+12, LD32(src+12));
|
||||||
|
dst[16]= src[16];
|
||||||
|
dst+=dstStride;
|
||||||
|
src+=srcStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -564,73 +564,6 @@ H264_CHROMA_MC(avg_ , op_avg)
|
|||||||
#undef op_avg
|
#undef op_avg
|
||||||
#undef op_put
|
#undef op_put
|
||||||
|
|
||||||
/* not yet optimized */
|
|
||||||
static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
ST32(dst+8 , LD32(src+8 ));
|
|
||||||
ST32(dst+12, LD32(src+12));
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
ST32(dst+8 , LD32(src+8 ));
|
|
||||||
ST32(dst+12, LD32(src+12));
|
|
||||||
dst[16]= src[16];
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<h; i++)
|
|
||||||
{
|
|
||||||
ST32(dst , LD32(src ));
|
|
||||||
ST32(dst+4 , LD32(src+4 ));
|
|
||||||
dst[8]= src[8];
|
|
||||||
dst+=dstStride;
|
|
||||||
src+=srcStride;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* end not optimized */
|
|
||||||
|
|
||||||
#define QPEL_MC(r, OPNAME, RND, OP) \
|
#define QPEL_MC(r, OPNAME, RND, OP) \
|
||||||
static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
|
static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
|
||||||
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
|
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\
|
||||||
|
Reference in New Issue
Block a user