Fix a possible crash on 64 bit systems when the lumSrcPtr or chrSrcPtr
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 1 Mar 2007 19:48:40 +0000 (19:48 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 1 Mar 2007 19:48:40 +0000 (19:48 +0000)
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

libswscale/swscale_template.c

index ae16bc0..ad46be1 100644 (file)
@@ -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;