summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-09 12:51:59 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-02-09 12:51:59 +0000
commitf8824d05a39d8d176752e23ee01b1e9b6e97711c (patch)
tree84311865a0fc0fb9fe756b71780822a2aae399b8 /libmpcodecs
parentb571babb131b338653162dd2d4d5da529860b011 (diff)
downloadmpv-f8824d05a39d8d176752e23ee01b1e9b6e97711c.tar.bz2
mpv-f8824d05a39d8d176752e23ee01b1e9b6e97711c.tar.xz
cleanup & more optimize
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9366 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_denoise3d.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/libmpcodecs/vf_denoise3d.c b/libmpcodecs/vf_denoise3d.c
index cad990f94d..e96a8844bd 100644
--- a/libmpcodecs/vf_denoise3d.c
+++ b/libmpcodecs/vf_denoise3d.c
@@ -68,20 +68,7 @@ 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 - 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))
+#define LowPass(Prev, Curr, Coef) (Curr + Coef[Prev - Curr])
static void deNoise(unsigned char *Frame, // mpi->planes[x]
unsigned char *FramePrev, // pmpi->planes[x]
@@ -185,14 +172,16 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
static void PrecalcCoefs(int *Ct, double Dist25)
{
int i;
- double Gamma, Simil;
+ double Gamma, Simil, C;
Gamma = log(0.25) / log(1.0 - Dist25/255.0);
for (i = -256; i <= 255; i++)
{
Simil = 1.0 - ABS(i) / 255.0;
- Ct[256+i] = pow(Simil, Gamma) * 65536;
+// Ct[256+i] = lround(pow(Simil, Gamma) * (double)i);
+ C = pow(Simil, Gamma) * (double)i;
+ Ct[256+i] = (C<0) ? (C-0.5) : (C+0.5);
}
}