[SCM] libav/experimental: 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.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:57:05 UTC 2013


The following commit has been merged in the experimental branch:
commit 9340a99588c2bf6209b5c396df15b893c4b576b5
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Thu Mar 1 19:48:40 2007 +0000

    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

diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index ae16bc0..ad46be1 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list