From 986bbbb619187c93991b57abe6711027655c4192 Mon Sep 17 00:00:00 2001 From: Monty Date: Wed, 15 Dec 1999 08:51:03 +0000 Subject: [PATCH] more quant work svn path=/trunk/vorbis/; revision=196 --- vq/vqgen.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/vq/vqgen.c b/vq/vqgen.c index 46edeeb..bace2f5 100644 --- a/vq/vqgen.c +++ b/vq/vqgen.c @@ -254,24 +254,22 @@ double vqgen_iterate(vqgen *v){ { /* midpoints must be quantized. but we need to know the range in order to do so */ - double *min=alloca(sizeof(double)*v->elements); - double *max=alloca(sizeof(double)*v->elements); + double min,max; - for(k=0;kelements;k++) - min[k]=max[k]=_now(v,0)[k]; - for(j=1;jentries;j++){ - for(k=0;kelements;k++){ + for(k=0;kelements;k++){ + double delta; + min=max=_now(v,0)[k]; + + for(j=1;jentries;j++){ double val=_now(v,0)[k]; - if(valmax[k])max[k]=val; + if(valmax)max=val; } - } - for(k=0;kelements;k++){ - double base=min[k]; - double delta=(max[k]-min[k])/((1<quantbits)-1); + + delta=(max-min)/((1<quantbits)-1); for(j=0;jentries;j++){ double val=_now(v,j)[k]; - _now(v,j)[k]=base+delta*rint((val-base)/delta); + _now(v,j)[k]=min+delta*rint((val-min)/delta); } } } -- 2.7.4