summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-11 17:14:57 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-11 17:14:57 +0000
commit615471a06935d4331997f0b7cba1e60950ee92ad (patch)
tree69668080771f9ef65242180291ea3febc6011371 /libvo
parent85fdc7beb5d39748386decefd2470fddbf49b307 (diff)
downloadmpv-615471a06935d4331997f0b7cba1e60950ee92ad.tar.bz2
mpv-615471a06935d4331997f0b7cba1e60950ee92ad.tar.xz
Use new logic suggested by Michael Niedermayer
K7: Non-MMX stuff total=299997790 Old-MMX stuff: total=159120928 New-MMX stuff: total=80925337 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2844 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/osd.c2
-rw-r--r--libvo/osd_template.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/libvo/osd.c b/libvo/osd.c
index b51b8b1ee7..fe3fa9b89d 100644
--- a/libvo/osd.c
+++ b/libvo/osd.c
@@ -73,6 +73,7 @@ void vo_draw_alpha_rgb24(int w,int h, unsigned char* src, unsigned char *srca, i
"pcmpeqb %%mm6, %%mm6\n\t" // F..F
::"m"(*dst),"m"(*srca),"m"(*src):"memory");
for(x=0;x<w;x+=2){
+ if(srca[x] || srca[x+1])
asm volatile(
PREFETCHW" 32%0\n\t"
PREFETCH" 32%1\n\t"
@@ -174,6 +175,7 @@ PROFILE_START();
"pcmpeqb %%mm6, %%mm6\n\t" // F..F
::"m"(*dstbase),"m"(*srca),"m"(*src):"memory");
for(x=0;x<w;x+=2){
+ if(srca[x] || srca[x+1])
asm volatile(
PREFETCHW" 32%0\n\t"
PREFETCH" 32%1\n\t"
diff --git a/libvo/osd_template.c b/libvo/osd_template.c
index b51b8b1ee7..fe3fa9b89d 100644
--- a/libvo/osd_template.c
+++ b/libvo/osd_template.c
@@ -73,6 +73,7 @@ void vo_draw_alpha_rgb24(int w,int h, unsigned char* src, unsigned char *srca, i
"pcmpeqb %%mm6, %%mm6\n\t" // F..F
::"m"(*dst),"m"(*srca),"m"(*src):"memory");
for(x=0;x<w;x+=2){
+ if(srca[x] || srca[x+1])
asm volatile(
PREFETCHW" 32%0\n\t"
PREFETCH" 32%1\n\t"
@@ -174,6 +175,7 @@ PROFILE_START();
"pcmpeqb %%mm6, %%mm6\n\t" // F..F
::"m"(*dstbase),"m"(*srca),"m"(*src):"memory");
for(x=0;x<w;x+=2){
+ if(srca[x] || srca[x+1])
asm volatile(
PREFETCHW" 32%0\n\t"
PREFETCH" 32%1\n\t"