diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2007-03-01 19:48:40 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2007-03-01 19:48:40 +0000 |
commit | 9340a99588c2bf6209b5c396df15b893c4b576b5 (patch) | |
tree | 6199463b7bb33b85b4c08b88fd68510532859358 /libswscale | |
parent | 3922c59fc473ec65892dc7d03a42607500cb34ad (diff) | |
download | ffmpeg-9340a99588c2bf6209b5c396df15b893c4b576b5.tar.gz |
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.
Originally committed as revision 22401 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Diffstat (limited to 'libswscale')
-rw-r--r-- | libswscale/swscale_template.c | 2 |
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; |