changeset 8343:638ac2c26646

Reduce fixed-point replay gain support precision with Tremor. Avoid overflows (sounded cracky sometimes).
author rguyom
date Wed, 04 Dec 2002 20:50:53 +0000
parents 86835828d5b5
children 85165f5c2f7b
files libmpcodecs/ad_libvorbis.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libmpcodecs/ad_libvorbis.c	Wed Dec 04 20:27:36 2002 +0000
+++ b/libmpcodecs/ad_libvorbis.c	Wed Dec 04 20:50:53 2002 +0000
@@ -133,7 +133,7 @@
     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 @@
 #ifdef TREMOR
 	      ogg_int32_t  *mono=pcm[i];
 	      for(j=0;j<bout;j++){
-		int val=(mono[j]*ov->rg_scale_int)>>(9+8);
+		int val=(mono[j]*ov->rg_scale_int)>>(9+7);
 #else
 	      float  *mono=pcm[i];
 	      for(j=0;j<bout;j++){