summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-01 19:48:40 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-01 19:48:40 +0000
commit0f2246a0832a07dfebb7a52fe0e8076ce955f9b2 (patch)
tree469cb2c13a6c6d835e175bd463381619285b8541 /libswscale
parentfd8c04221c5f1249ecbb2b35addfa1b617e09a00 (diff)
downloadmpv-0f2246a0832a07dfebb7a52fe0e8076ce955f9b2.tar.bz2
mpv-0f2246a0832a07dfebb7a52fe0e8076ce955f9b2.tar.xz
Fix a possible crash on 64 bit systems when the lumSrcPtr or chrSrcPtr
does not fit in 32 bits. The SWS_ACCURATE_RND is still broken though. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22401 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale_template.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index ae16bc007a..ad46be1273 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -3169,6 +3169,7 @@ i--;
for(i=0; i<vLumFilterSize; i++)
{
lumMmxFilter[4*i+0]= (int32_t)lumSrcPtr[i];
+ lumMmxFilter[4*i+1]= (uint64_t)lumSrcPtr[i] >> 32;
lumMmxFilter[4*i+2]=
lumMmxFilter[4*i+3]=
((uint16_t)vLumFilter[dstY*vLumFilterSize + i])*0x10001;
@@ -3176,6 +3177,7 @@ i--;
for(i=0; i<vChrFilterSize; i++)
{
chrMmxFilter[4*i+0]= (int32_t)chrSrcPtr[i];
+ chrMmxFilter[4*i+1]= (uint64_t)chrSrcPtr[i] >> 32;
chrMmxFilter[4*i+2]=
chrMmxFilter[4*i+3]=
((uint16_t)vChrFilter[chrDstY*vChrFilterSize + i])*0x10001;