vertical lines bugfix

Originally committed as revision 2271 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
Michael Niedermayer 2001-10-19 01:26:36 +00:00
parent afa569afb1
commit d3fda50869
2 changed files with 24 additions and 14 deletions

View File

@ -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;
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;
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

View File

@ -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;
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;
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