mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-15 11:44:49 +00:00
vertical lines bugfix
Originally committed as revision 2271 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
parent
afa569afb1
commit
d3fda50869
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user