# HG changeset patch # User arpi # Date 1044756431 0 # Node ID f1c4e01a584a73ec94c7109ad97242c4e80b709e # Parent 21347f49e8d8fbe50462c1859749967a8507d8c8 simpler/faster LowPass() macro diff -r 21347f49e8d8 -r f1c4e01a584a libmpcodecs/vf_denoise3d.c --- a/libmpcodecs/vf_denoise3d.c Sun Feb 09 01:29:21 2003 +0000 +++ b/libmpcodecs/vf_denoise3d.c Sun Feb 09 02:07:11 2003 +0000 @@ -68,8 +68,20 @@ free(vf->priv->Line); } +//#define LowPass(Prev, Curr, Coef) (((Prev)*Coef[Prev - Curr] + (Curr)*(65536-(Coef[Prev - Curr]))) / 65536) +//#define LowPass(Prev, Curr, Coef) (( Prev*Coef[Prev-Curr] + Curr*(65536-(Coef[Prev-Curr])) )/65536) +//#define LowPass(Prev, Curr, Coef) (( Prev*Coef[Prev-Curr] + Curr*65536 - Curr*Coef[Prev-Curr] )/65536) +//#define LowPass(Prev, Curr, Coef) (((int)(Curr)) + (( (int)Prev*Coef[Prev-Curr] - (int)Curr*Coef[Prev-Curr] )>>16) ) +//#define LowPass(Prev, Curr, Coef) (Curr + (( Prev*Coef[Prev-Curr] - Curr*Coef[Prev-Curr] )>>16) ) +//#define LowPass(Prev, Curr, Coef) (Curr + (( (Prev-Curr)*(Coef[Prev-Curr]) )>>16) ) -#define LowPass(Prev, Curr, Coef) (((Prev)*Coef[Prev - Curr] + (Curr)*(65536-(Coef[Prev - Curr]))) / 65536) +//#define LowPass(Prev, Curr, Coef) (Curr + (((Prev - Curr)*Coef[Prev - Curr]) / 65536)) +#define LowPass(Prev, Curr, Coef) (Curr + ((((unsigned int)(Prev - Curr))*Coef[Prev - Curr]) / 65536)) +//#define LowPass(Prev, Curr, Coef) (Curr + ((((unsigned int)(Prev - Curr))*Coef[((unsigned int)(Prev - Curr))]) / 65536)) +//#define LowPass(Prev, Curr, Coef) (Curr + ((((unsigned char)(Prev - Curr))*Coef[Prev - Curr]) / 65536)) +//#define LowPass(Prev, Curr, Coef) (Curr + (( ((((int)(Prev))-((int)(Curr)))) *Coef[Prev - Curr]) / 65536)) +//#define LowPass(Prev, Curr, Coef) (Curr + (((unsigned int)((Prev - Curr)*Coef[Prev - Curr])) / 65536)) +//#define LowPass(Prev, Curr, Coef) (Curr + (((Prev - Curr)*Coef[Prev - Curr]) >> 16)) static void deNoise(unsigned char *Frame, // mpi->planes[x] unsigned char *FramePrev, // pmpi->planes[x]