Commit 461b297f authored by michael's avatar michael

vertical lines bugfix


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@2271 b3059339-0415-0410-9bf9-f77b7e298cf2
parent 0464e57a
...@@ -108,6 +108,14 @@ s_xinc*= 256; ...@@ -108,6 +108,14 @@ s_xinc*= 256;
s_xinc2=s_xinc>>1; s_xinc2=s_xinc>>1;
canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
#ifdef HAVE_MMX2
if(canMMX2BeUsed)
{
s_xinc+= s_xinc_diff;
s_xinc2+= s_xinc2_diff;
}
#endif
if(y==0){ if(y==0){
s_srcypos= s_yinc/2 - 0x8000; s_srcypos= s_yinc/2 - 0x8000;
s_ypos=0; s_ypos=0;
...@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; ...@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
s_xinc2+= s_xinc2_diff; s_xinc2+= s_xinc2_diff;
s_xinc+= s_xinc_diff; s_xinc+= s_xinc_diff;
old_s_xinc= s_xinc;
for(i=0; i<dstw/8; i++) for(i=0; i<dstw/8; i++)
{ {
int xx=xpos>>16; int xx=xpos>>16;
...@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; ...@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
xpos+=s_xinc2; xpos+=s_xinc2;
} }
// funnyCode[0]= RET; // funnyCode[0]= RET;
} }
if(canMMX2BeUsed)
{
s_xinc+= s_xinc_diff;
s_xinc2+= s_xinc2_diff;
}
#endif // HAVE_MMX2 #endif // HAVE_MMX2
} // reset counters } // reset counters
while(1){ while(1){
unsigned char *dest=dstptr+dststride*s_ypos; unsigned char *dest=dstptr+dststride*s_ypos;
int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line
......
...@@ -108,6 +108,14 @@ s_xinc*= 256; ...@@ -108,6 +108,14 @@ s_xinc*= 256;
s_xinc2=s_xinc>>1; s_xinc2=s_xinc>>1;
canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
#ifdef HAVE_MMX2
if(canMMX2BeUsed)
{
s_xinc+= s_xinc_diff;
s_xinc2+= s_xinc2_diff;
}
#endif
if(y==0){ if(y==0){
s_srcypos= s_yinc/2 - 0x8000; s_srcypos= s_yinc/2 - 0x8000;
s_ypos=0; s_ypos=0;
...@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; ...@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
s_xinc2+= s_xinc2_diff; s_xinc2+= s_xinc2_diff;
s_xinc+= s_xinc_diff; s_xinc+= s_xinc_diff;
old_s_xinc= s_xinc;
for(i=0; i<dstw/8; i++) for(i=0; i<dstw/8; i++)
{ {
int xx=xpos>>16; int xx=xpos>>16;
...@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0; ...@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
xpos+=s_xinc2; xpos+=s_xinc2;
} }
// funnyCode[0]= RET; // funnyCode[0]= RET;
} }
if(canMMX2BeUsed)
{
s_xinc+= s_xinc_diff;
s_xinc2+= s_xinc2_diff;
}
#endif // HAVE_MMX2 #endif // HAVE_MMX2
} // reset counters } // reset counters
while(1){ while(1){
unsigned char *dest=dstptr+dststride*s_ypos; unsigned char *dest=dstptr+dststride*s_ypos;
int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment