# HG changeset patch # User lorenm # Date 1246934966 0 # Node ID 04506b0477af0de592105158e8257e1e0769a116 # Parent 3fa15eca924e84abee9749e7055795b06b3a30b8 20% faster hqdn3d on x86_64 diff -r 3fa15eca924e -r 04506b0477af libmpcodecs/vf_hqdn3d.c --- a/libmpcodecs/vf_hqdn3d.c Tue Jul 07 02:01:36 2009 +0000 +++ b/libmpcodecs/vf_hqdn3d.c Tue Jul 07 02:49:26 2009 +0000 @@ -64,7 +64,7 @@ static inline unsigned int LowPassMul(unsigned int PrevMul, unsigned int CurrMul, int* Coef){ // int dMul= (PrevMul&0xFFFFFF)-(CurrMul&0xFFFFFF); int dMul= PrevMul-CurrMul; - int d=((dMul+0x10007FF)>>12); + unsigned int d=((dMul+0x10007FF)>>12); return CurrMul + Coef[d]; } @@ -75,7 +75,7 @@ int W, int H, int sStride, int dStride, int *Temporal) { - int X, Y; + long X, Y; unsigned int PixelDst; for (Y = 0; Y < H; Y++){ @@ -97,8 +97,8 @@ int W, int H, int sStride, int dStride, int *Horizontal, int *Vertical) { - int X, Y; - int sLineOffs = 0, dLineOffs = 0; + long X, Y; + long sLineOffs = 0, dLineOffs = 0; unsigned int PixelAnt; unsigned int PixelDst; @@ -137,8 +137,8 @@ int W, int H, int sStride, int dStride, int *Horizontal, int *Vertical, int *Temporal) { - int X, Y; - int sLineOffs = 0, dLineOffs = 0; + long X, Y; + long sLineOffs = 0, dLineOffs = 0; unsigned int PixelAnt; unsigned int PixelDst; unsigned short* FrameAnt=(*FrameAntPtr);