From 37aa6dfad30be7501871547bf3629de2f745595e Mon Sep 17 00:00:00 2001 From: rguyom Date: Wed, 4 Dec 2002 20:50:53 +0000 Subject: Reduce fixed-point replay gain support precision with Tremor. Avoid overflows (sounded cracky sometimes). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8344 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_libvorbis.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libmpcodecs/ad_libvorbis.c b/libmpcodecs/ad_libvorbis.c index 789f627bb0..7004411204 100644 --- a/libmpcodecs/ad_libvorbis.c +++ b/libmpcodecs/ad_libvorbis.c @@ -133,7 +133,7 @@ static int init(sh_audio_t *sh) if(ov->rg_scale > 15.) ov->rg_scale = 15.; #ifdef TREMOR - ov->rg_scale_int = (int)(ov->rg_scale*256.f); + ov->rg_scale_int = (int)(ov->rg_scale*128.f); #endif mp_msg(MSGT_DECAUDIO,MSGL_V,"OggVorbis: Bitstream is %d channel%s, %dHz, %dbit/s %cBR\n",(int)ov->vi.channels,ov->vi.channels>1?"s":"",(int)ov->vi.rate,(int)ov->vi.bitrate_nominal, (ov->vi.bitrate_lower!=ov->vi.bitrate_nominal)||(ov->vi.bitrate_upper!=ov->vi.bitrate_nominal)?'V':'C'); @@ -212,7 +212,7 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen) #ifdef TREMOR ogg_int32_t *mono=pcm[i]; for(j=0;jrg_scale_int)>>(9+8); + int val=(mono[j]*ov->rg_scale_int)>>(9+7); #else float *mono=pcm[i]; for(j=0;j