mirror of https://github.com/mpv-player/mpv
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. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35304 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
78899a096f
commit
a169aa6364
|
@ -26,6 +26,7 @@
|
|||
#include <inttypes.h>
|
||||
|
||||
#include <math.h>
|
||||
#include <libavutil/common.h>
|
||||
|
||||
#include "af.h"
|
||||
#include "dsp.h"
|
||||
|
@ -541,16 +542,16 @@ static af_data_t* play(struct af_instance_s *af, af_data_t *data)
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue