summaryrefslogtreecommitdiffstats
path: root/postproc
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-19 01:26:36 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-19 01:26:36 +0000
commit76f00f9a17bdb6abc6c5de784141ec787e0ae1eb (patch)
tree8babfd428821cb8859052debd3808c154f364c63 /postproc
parent60d5dc4ed3cbc3ac1440231422389ab8be7f0c5d (diff)
downloadmpv-76f00f9a17bdb6abc6c5de784141ec787e0ae1eb.tar.bz2
mpv-76f00f9a17bdb6abc6c5de784141ec787e0ae1eb.tar.xz
vertical lines bugfix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2271 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'postproc')
-rw-r--r--postproc/swscale.c19
-rw-r--r--postproc/swscale_template.c19
2 files changed, 24 insertions, 14 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c
index 8582c8fc34..4d92bfda0d 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -108,6 +108,14 @@ s_xinc*= 256;
s_xinc2=s_xinc>>1;
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){
s_srcypos= s_yinc/2 - 0x8000;
s_ypos=0;
@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
s_xinc2+= s_xinc2_diff;
s_xinc+= s_xinc_diff;
+
+ old_s_xinc= s_xinc;
+
for(i=0; i<dstw/8; i++)
{
int xx=xpos>>16;
@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
xpos+=s_xinc2;
}
// funnyCode[0]= RET;
-
-
}
- if(canMMX2BeUsed)
- {
- s_xinc+= s_xinc_diff;
- s_xinc2+= s_xinc2_diff;
- }
#endif // HAVE_MMX2
} // reset counters
+
while(1){
unsigned char *dest=dstptr+dststride*s_ypos;
int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line
diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c
index 8582c8fc34..4d92bfda0d 100644
--- a/postproc/swscale_template.c
+++ b/postproc/swscale_template.c
@@ -108,6 +108,14 @@ s_xinc*= 256;
s_xinc2=s_xinc>>1;
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){
s_srcypos= s_yinc/2 - 0x8000;
s_ypos=0;
@@ -190,6 +198,9 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
s_xinc2+= s_xinc2_diff;
s_xinc+= s_xinc_diff;
+
+ old_s_xinc= s_xinc;
+
for(i=0; i<dstw/8; i++)
{
int xx=xpos>>16;
@@ -236,18 +247,12 @@ canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
xpos+=s_xinc2;
}
// funnyCode[0]= RET;
-
-
}
- if(canMMX2BeUsed)
- {
- s_xinc+= s_xinc_diff;
- s_xinc2+= s_xinc2_diff;
- }
#endif // HAVE_MMX2
} // reset counters
+
while(1){
unsigned char *dest=dstptr+dststride*s_ypos;
int y0=(s_srcypos + 0xFFFF)>>16; // first luminance source line number below the dst line