changeset 22383:508e55817748

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.
author reimar
date Thu, 01 Mar 2007 19:48:40 +0000
parents 0cdde40210bd
children 989613a9a15b
files libswscale/swscale_template.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libswscale/swscale_template.c	Thu Mar 01 18:51:38 2007 +0000
+++ b/libswscale/swscale_template.c	Thu Mar 01 19:48:40 2007 +0000
@@ -3169,6 +3169,7 @@
 		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 @@
 		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;