diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-16 13:54:36 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-16 13:54:36 +0000 |
commit | 6a5f0f0c19ad2b96910e18fea9d760817ca9ffe7 (patch) | |
tree | 1f0b9d97458c7f6aaa04f104f4857cf560172ef4 /libmpcodecs | |
parent | 73510c3d0b7cf688a31ac28a04a8a03da507dd83 (diff) | |
download | mpv-6a5f0f0c19ad2b96910e18fea9d760817ca9ffe7.tar.bz2 mpv-6a5f0f0c19ad2b96910e18fea9d760817ca9ffe7.tar.xz |
higher quality mode
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6449 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_noise.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libmpcodecs/vf_noise.c b/libmpcodecs/vf_noise.c index 0de013fc2e..6cf9d00f12 100644 --- a/libmpcodecs/vf_noise.c +++ b/libmpcodecs/vf_noise.c @@ -49,6 +49,7 @@ typedef struct FilterParam{ int strength; int uniform; int temporal; + int quality; int8_t *noise; }FilterParam; @@ -105,7 +106,6 @@ static int8_t *initNoise(FilterParam *fp){ #ifdef HAVE_MMX static inline void lineNoise_MMX(uint8_t *dst, uint8_t *src, int8_t *noise, int len, int shift){ int mmx_len= len&(~7); - shift&= ~7; noise+=shift; asm volatile( @@ -135,7 +135,6 @@ static inline void lineNoise_MMX(uint8_t *dst, uint8_t *src, int8_t *noise, int #ifdef HAVE_MMX2 static inline void lineNoise_MMX2(uint8_t *dst, uint8_t *src, int8_t *noise, int len, int shift){ int mmx_len= len&(~7); - shift&= ~7; noise+=shift; asm volatile( @@ -189,7 +188,7 @@ static void noise(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int { memcpy(dst, src, width); dst+= dstStride; - src+= srcStride; + src+= srcStride; } } return; @@ -200,6 +199,7 @@ static void noise(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int if(fp->temporal) shift= rand()&(MAX_SHIFT -1); else shift= nonTempRandShift[y]; + if(fp->quality==0) shift&= ~7; lineNoise(dst, src, noise, width, shift); dst+= dstStride; src+= srcStride; @@ -209,7 +209,7 @@ static void noise(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt){ - + return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt); } @@ -299,6 +299,8 @@ static void parse(FilterParam *fp, char* args){ if(pos && pos<max) fp->uniform=1; pos= strchr(args, 't'); if(pos && pos<max) fp->temporal=1; + pos= strchr(args, 'h'); + if(pos && pos<max) fp->quality=1; if(fp->strength) initNoise(fp); } |