summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2002-06-26 03:28:25 +0000
committerMonty <xiphmont@xiph.org>2002-06-26 03:28:25 +0000
commitc2e9366f061165a537423d074a10fefe87d69065 (patch)
tree13a865b7619a21ad2ff58977cca8faf0500caaab
parent24a54906618fa8643d177aeba5850ad6745f2d55 (diff)
downloadlibvorbis-git-c2e9366f061165a537423d074a10fefe87d69065.tar.gz
killed an unintentional corner case in floater_interpolate that could
cause it to guess high. Monty svn path=/branches/branch_monty_20020507/vorbis/; revision=3412
-rw-r--r--lib/bitrate.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/bitrate.c b/lib/bitrate.c
index 953236af..0930741c 100644
--- a/lib/bitrate.c
+++ b/lib/bitrate.c
@@ -11,7 +11,7 @@
********************************************************************
function: bitrate tracking and management
- last mod: $Id: bitrate.c,v 1.11.4.3 2002/06/26 00:37:37 xiphmont Exp $
+ last mod: $Id: bitrate.c,v 1.11.4.4 2002/06/26 03:28:25 xiphmont Exp $
********************************************************************/
@@ -53,12 +53,7 @@ static int floater_interpolate(bitrate_manager_state *bm,vorbis_info *vi,
if(bin+1<bm->queue_bins){
hibitrate=(double)(bm->avg_binacc[bin+1]*8)/bm->avg_sampleacc*vi->rate;
- while(bin+1<bm->queue_bins &&
- fabs(hibitrate-desired_rate) < fabs(lobitrate-desired_rate)){
- bin++;
- if(bin+1<bm->queue_bins)
- hibitrate=(double)(bm->avg_binacc[bin+1]*8)/bm->avg_sampleacc*vi->rate;
- }
+ if(fabs(hibitrate-desired_rate) < fabs(lobitrate-desired_rate))bin++;
}
return(bin);
}
@@ -303,6 +298,16 @@ int vorbis_bitrate_addblock(vorbis_block *vb){
bm->avg_sampleacc*vi->rate;
fprintf(stderr,"upper:%f lower:%f float: %f, bitrate=%f\n",
upper,lower,new,bitrate);
+
+ fprintf(stderr," 8:%.0f %.0f 9:%.0f 10:%.0f 11:%.0f 12:%.0f 13:%.0f 14:%.0f\n",
+ (bm->avg_binacc[7]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[8]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[9]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[10]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[11]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[12]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[13]*8.)/bm->avg_sampleacc*vi->rate,
+ (bm->avg_binacc[14]*8.)/bm->avg_sampleacc*vi->rate);
}