Mercurial > mplayer.hg
changeset 35210:318c7824c50d
af_hrtf: clamp output to relieve noises
This patch relieves noises from af_hrtf by using av_clip_* instead of
casting directly. There are still some noises, which indicates other
bugs inside this filter.
author | upsuper |
---|---|
date | Wed, 31 Oct 2012 04:23:38 +0000 |
parents | b7ec2526b402 |
children | 014d0c671b80 |
files | libaf/af_hrtf.c |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libaf/af_hrtf.c Tue Oct 30 18:53:58 2012 +0000 +++ b/libaf/af_hrtf.c Wed Oct 31 04:23:38 2012 +0000 @@ -26,6 +26,7 @@ #include <inttypes.h> #include <math.h> +#include <libavutil/common.h> #include "mp_msg.h" #include "af.h" @@ -542,16 +543,16 @@ perception. Note: Too much will destroy the acoustic space and may even result in headaches. */ diff = STEXPAND2 * (left - right); - out[0] = (int16_t)(left + diff); - out[1] = (int16_t)(right - diff); + out[0] = av_clip_int16(left + diff); + out[1] = av_clip_int16(right - diff); break; case HRTF_MIX_MATRIX2CH: /* Do attempt any stereo expansion with matrix encoded sources. The L, R channels are already stereo expanded by the steering, any further stereo expansion will sound very unnatural. */ - out[0] = (int16_t)left; - out[1] = (int16_t)right; + out[0] = av_clip_int16(left); + out[1] = av_clip_int16(right); break; }