summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vf_denoise3d.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-09 02:07:11 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-09 02:07:11 +0000
commit9696cef5217ec6ce55d5369deda644908ebb65be (patch)
treebbc89f590a3fb7140e83523b961ad0142dfdf65c /libmpcodecs/vf_denoise3d.c
parent2492b94fc2799be567d98836996e6ff353c8b5d5 (diff)
downloadmpv-9696cef5217ec6ce55d5369deda644908ebb65be.tar.bz2
mpv-9696cef5217ec6ce55d5369deda644908ebb65be.tar.xz
simpler/faster LowPass() macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9359 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_denoise3d.c')
-rw-r--r--libmpcodecs/vf_denoise3d.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libmpcodecs/vf_denoise3d.c b/libmpcodecs/vf_denoise3d.c
index 703eaaf9e3..cad990f94d 100644
--- a/libmpcodecs/vf_denoise3d.c
+++ b/libmpcodecs/vf_denoise3d.c
@@ -68,8 +68,20 @@ void uninit(struct vf_instance_s* vf)
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-(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) (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]