Mercurial > mplayer.hg
view libvo/fastmemcpy.h @ 18650:587abd8f3dab
Except for missing cd-dvd.xml and codecs.xml, German xml docs
should be complete, synced and corrected
:) Here we go:
bugreports.xml:
* r18600: xml docs: CVS --> Subversion
* r18552: URL fix
bugs.xml, audio.xml, usage.xml, faq.xml, tvinput.xml, documentation.xml:
* fix "in sync with" tag
skin.xml:
* review
* r18600: xml docs: CVS --> Subversion
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
install.xml:
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
* r17707: New website structure, the /homepage subdirectory is gone.
* r17462: s/LIVE.COM/LIVE555/ + URL update
video.xml:
* tiny wording fix
mail-lists.xml:
* r18606: Fix mailing list name.
* r18600: xml docs: CVS --> Subversion
author | kraymer |
---|---|
date | Thu, 08 Jun 2006 16:20:01 +0000 |
parents | 33d5cf9479ce |
children | f7c209352770 |
line wrap: on
line source
#ifndef __MPLAYER_MEMCPY #define __MPLAYER_MEMCPY 1 #include "config.h" #ifdef USE_FASTMEMCPY #if defined(HAVE_MMX) || defined(HAVE_MMX2) || defined(HAVE_3DNOW) \ /* || defined(HAVE_SSE) || defined(HAVE_SSE2) */ #include <stddef.h> extern void * fast_memcpy(void * to, const void * from, size_t len); extern void * mem2agpcpy(void * to, const void * from, size_t len); #define memcpy(a,b,c) fast_memcpy(a,b,c) #else /* HAVE_MMX/MMX2/3DNOW/SSE/SSE2 */ #define mem2agpcpy(a,b,c) memcpy(a,b,c) #endif #else /* USE_FASTMEMCPY */ #define mem2agpcpy(a,b,c) memcpy(a,b,c) #endif static inline void * mem2agpcpy_pic(void * dst, const void * src, int bytesPerLine, int height, int dstStride, int srcStride) { int i; void *retval=dst; if(dstStride == srcStride) { if (srcStride < 0) { src += (height-1)*srcStride; dst += (height-1)*dstStride; srcStride = -srcStride; } mem2agpcpy(dst, src, srcStride*height); } else { for(i=0; i<height; i++) { mem2agpcpy(dst, src, bytesPerLine); src+= srcStride; dst+= dstStride; } } return retval; } static inline void * memcpy_pic(void * dst, const void * src, int bytesPerLine, int height, int dstStride, int srcStride) { int i; void *retval=dst; if(dstStride == srcStride) { if (srcStride < 0) { src += (height-1)*srcStride; dst += (height-1)*dstStride; srcStride = -srcStride; } memcpy(dst, src, srcStride*height); } else { for(i=0; i<height; i++) { memcpy(dst, src, bytesPerLine); src+= srcStride; dst+= dstStride; } } return retval; } #endif