comparison libswscale/swscale_template.c @ 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 5f47768cbda5
children 29827d88d2da
comparison
equal deleted inserted replaced
22382:0cdde40210bd 22383:508e55817748
3167 } 3167 }
3168 }else{ 3168 }else{
3169 for(i=0; i<vLumFilterSize; i++) 3169 for(i=0; i<vLumFilterSize; i++)
3170 { 3170 {
3171 lumMmxFilter[4*i+0]= (int32_t)lumSrcPtr[i]; 3171 lumMmxFilter[4*i+0]= (int32_t)lumSrcPtr[i];
3172 lumMmxFilter[4*i+1]= (uint64_t)lumSrcPtr[i] >> 32;
3172 lumMmxFilter[4*i+2]= 3173 lumMmxFilter[4*i+2]=
3173 lumMmxFilter[4*i+3]= 3174 lumMmxFilter[4*i+3]=
3174 ((uint16_t)vLumFilter[dstY*vLumFilterSize + i])*0x10001; 3175 ((uint16_t)vLumFilter[dstY*vLumFilterSize + i])*0x10001;
3175 } 3176 }
3176 for(i=0; i<vChrFilterSize; i++) 3177 for(i=0; i<vChrFilterSize; i++)
3177 { 3178 {
3178 chrMmxFilter[4*i+0]= (int32_t)chrSrcPtr[i]; 3179 chrMmxFilter[4*i+0]= (int32_t)chrSrcPtr[i];
3180 chrMmxFilter[4*i+1]= (uint64_t)chrSrcPtr[i] >> 32;
3179 chrMmxFilter[4*i+2]= 3181 chrMmxFilter[4*i+2]=
3180 chrMmxFilter[4*i+3]= 3182 chrMmxFilter[4*i+3]=
3181 ((uint16_t)vChrFilter[chrDstY*vChrFilterSize + i])*0x10001; 3183 ((uint16_t)vChrFilter[chrDstY*vChrFilterSize + i])*0x10001;
3182 } 3184 }
3183 } 3185 }