Commit 26c664f7 authored by Monty's avatar Monty

new ectl calls for lowpass and impulse block tweaking

fix some accidentally untrained books for mid/high rate stereo

add 44kHz mono modes (32kHz - 280kHz)

tone down bass ATH to avoid stressing floor

svn path=/trunk/vorbis/; revision=3463
parent 55803d42
......@@ -11,7 +11,7 @@
********************************************************************
function: simple example encoder
last mod: $Id: encoder_example.c,v 1.42 2002/06/30 08:45:02 xiphmont Exp $
last mod: $Id: encoder_example.c,v 1.43 2002/07/01 11:20:09 xiphmont Exp $
********************************************************************/
......@@ -96,12 +96,13 @@ int main(){
/* choose an encoding mode */
/* (quality mode .4: 44kHz stereo coupled, roughly 128kbps VBR) */
vorbis_info_init(&vi);
vorbis_encode_init(&vi,2,44100,-1,80000,-1);
//vorbis_encode_init_vbr(&vi,2,44100,-.1);
vorbis_encode_setup_managed(&vi,2,44100,-1,128000,-1);
//vorbis_encode_init(&vi,2,44100,-1,128000,-1);
//vorbis_encode_init_vbr(&vi,2,44100,.45);
vorbis_encode_ctl(&vi,OV_ECTL_RATEMANAGE_AVG,NULL);
vorbis_encode_setup_init(&vi);
//vorbis_encode_setup_managed(&vi,2,44100,-1,128000,-1);
//vorbis_encode_ctl(&vi,OV_ECTL_RATEMANAGE_AVG,NULL);
//vorbis_encode_setup_init(&vi);
/* add a comment */
vorbis_comment_init(&vc);
......
......@@ -11,7 +11,7 @@
********************************************************************
function: vorbis encode-engine setup
last mod: $Id: vorbisenc.h,v 1.9 2002/06/30 08:45:03 xiphmont Exp $
last mod: $Id: vorbisenc.h,v 1.10 2002/07/01 11:20:10 xiphmont Exp $
********************************************************************/
......@@ -65,6 +65,12 @@ extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
#define OV_ECTL_RATEMANAGE_AVG 0x12
#define OV_ECTL_RATEMANAGE_HARD 0x13
#define OV_ECTL_LOWPASS_GET 0x20
#define OV_ECTL_LOWPASS_SET 0x21
#define OV_ECTL_IBLOCK_GET 0x30
#define OV_ECTL_IBLOCK_SET 0x31
struct ovectl_ratemanage_arg {
int management_active;
......
......@@ -11,7 +11,7 @@
********************************************************************
function: single-block PCM analysis mode dispatch
last mod: $Id: analysis.c,v 1.53 2002/06/30 08:31:00 xiphmont Exp $
last mod: $Id: analysis.c,v 1.54 2002/07/01 11:20:10 xiphmont Exp $
********************************************************************/
......@@ -77,9 +77,8 @@ void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg
for(j=0;j<n;j++){
if(bark){
float oc=toOC((22050.f*j/n)+.25)*.5;
if(oc<0)continue;
fprintf(of,"%f ",toOC((22050.f*j/n)+.25));
float b=toBARK((22050.f*j/n)+.25);
fprintf(of,"%f ",b);
}else
if(off!=0)
fprintf(of,"%f ",(double)(j+off)/44100.);
......
......@@ -11,7 +11,7 @@
********************************************************************
function: bitrate tracking and management
last mod: $Id: bitrate.c,v 1.14 2002/06/30 08:31:00 xiphmont Exp $
last mod: $Id: bitrate.c,v 1.15 2002/07/01 11:20:10 xiphmont Exp $
********************************************************************/
......@@ -293,7 +293,7 @@ int vorbis_bitrate_addblock(vorbis_block *vb){
/* apply the average floater to new blocks */
bin=rint(bm->avgfloat);
fprintf(stderr,"%d ",bin);
/*fprintf(stderr,"%d ",bin);*/
while(bm->avg_centeracc>desired_center){
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -11,7 +11,7 @@
********************************************************************
function: floor backend 1 implementation
last mod: $Id: floor1.c,v 1.21 2002/06/28 22:19:35 xiphmont Exp $
last mod: $Id: floor1.c,v 1.22 2002/07/01 11:20:11 xiphmont Exp $
********************************************************************/
......@@ -59,8 +59,6 @@ typedef struct lsfit_acc{
long xya;
long n;
long an;
long edgey0;
long edgey1;
} lsfit_acc;
/***********************************************/
......@@ -422,10 +420,9 @@ static int accumulate_fit(const float *flr,const float *mdct,
memset(a,0,sizeof(*a));
a->x0=x0;
a->x1=x1;
a->edgey0=quantized;
if(x1>n)x1=n;
if(x1>=n)x1=n-1;
for(i=x0;i<x1;i++){
for(i=x0;i<=x1;i++){
int quantized=vorbis_dBquant(flr+i);
if(quantized){
if(mdct[i]+info->twofitatten>=flr[i]){
......@@ -455,7 +452,7 @@ static int accumulate_fit(const float *flr,const float *mdct,
/* weight toward the actually used frequencies if we meet the threshhold */
{
int weight=info->twofitweight/na;
int weight=nb*info->twofitweight/na;
a->xa=xa*weight+xb;
a->ya=ya*weight+yb;
......@@ -466,11 +463,6 @@ static int accumulate_fit(const float *flr,const float *mdct,
a->n=nb;
}
a->edgey1=-200;
if(x1<n){
int quantized=vorbis_dBquant(flr+i);
a->edgey1=quantized;
}
return(na);
}
......
......@@ -11,7 +11,7 @@
********************************************************************
function: highlevel encoder setup struct seperated out for vorbisenc clarity
last mod: $Id: highlevel.h,v 1.3 2002/06/30 08:31:00 xiphmont Exp $
last mod: $Id: highlevel.h,v 1.4 2002/07/01 11:20:11 xiphmont Exp $
********************************************************************/
......@@ -29,6 +29,7 @@ typedef struct highlevel_encode_setup {
double base_setting;
double long_setting;
double short_setting;
double impulse_noisetune;
int managed;
long bitrate_min;
......
......@@ -11,7 +11,7 @@
********************************************************************
function: channel mapping 0 implementation
last mod: $Id: mapping0.c,v 1.51 2002/06/30 08:31:00 xiphmont Exp $
last mod: $Id: mapping0.c,v 1.52 2002/07/01 11:20:11 xiphmont Exp $
********************************************************************/
......@@ -511,15 +511,17 @@ static int mapping0_forward(vorbis_block *vb){
float **mag_memo;
int **mag_sort;
mag_memo=_vp_quantize_couple_memo(vb,
psy_look,
if(info->coupling_steps){
mag_memo=_vp_quantize_couple_memo(vb,
psy_look,
info,
gmdct);
mag_sort=_vp_quantize_couple_sort(vb,
psy_look,
info,
mag_memo);
gmdct);
mag_sort=_vp_quantize_couple_sort(vb,
psy_look,
info,
mag_memo);
}
memset(sortindex,0,sizeof(*sortindex)*vi->channels);
if(psy_look->vi->normal_channel_p){
......@@ -605,9 +607,6 @@ static int mapping0_forward(vorbis_block *vb){
ilogmaskch,
nonzero,
ci->psy_g_param.sliding_lowpass[vb->W][k]);
}else{
for(i=0;i<vi->channels;i++)
memcpy(vb->pcm[i]+n/2,vb->pcm[i],n/2*sizeof(**vb->pcm));
}
/* classify and encode by submap */
......
......@@ -11,20 +11,21 @@
********************************************************************
function: masking curve data for psychoacoustics
last mod: $Id: masking.h,v 1.23 2002/06/30 08:31:00 xiphmont Exp $
last mod: $Id: masking.h,v 1.24 2002/07/01 11:20:11 xiphmont Exp $
********************************************************************/
#ifndef _V_MASKING_H_
#define _V_MASKING_H_
/* more detailed ATH */
/* more detailed ATH; the bass if flat to save stressing the floor
overly for only a bin or two of savings. */
#define MAX_ATH 88
static float ATH[]={
/*15*/ -20, -24, -26, -30, -34, -37, -40, -43,
/*31*/ -46, -49, -53, -56, -58, -60, -62, -64,
/*63*/ -66, -68, -69, -70, -71, -72, -73, -74,
/*15*/ -51, -52, -53, -54, -55, -56, -57, -58,
/*31*/ -59, -60, -61, -62, -63, -64, -65, -66,
/*63*/ -67, -68, -69, -70, -71, -72, -73, -74,
/*125*/ -75, -76, -77, -78, -80, -81, -82, -83,
/*250*/ -84, -85, -86, -87, -88, -88, -89, -89,
/*500*/ -90, -91, -91, -92, -93, -94, -95, -96,
......
......@@ -11,7 +11,7 @@
********************************************************************
function: key floor settings for 44.1/48kHz
last mod: $Id: floor_44.h,v 1.3 2002/06/28 22:19:54 xiphmont Exp $
last mod: $Id: floor_44.h,v 1.4 2002/07/01 11:20:19 xiphmont Exp $
********************************************************************/
......@@ -105,7 +105,7 @@ static vorbis_info_floor1 _floor_44[9]={
{{1,2,3,4}},
4,{0,128, 33,8,16,70},
60,30,500, 0.,18., -1
60,30,500, 1.,18., -1
},
/* 256 x 4 */
{
......@@ -113,7 +113,7 @@ static vorbis_info_floor1 _floor_44[9]={
{{1,2,3,4}},
4,{0,256, 66,16,32,140},
60,30,500, 0.,18., -1
60,30,500, 1.,18., -1
},
/* 128 x 7 */
{
......@@ -121,7 +121,7 @@ static vorbis_info_floor1 _floor_44[9]={
{{-1,2,3,4},{-1,5,6,7}},
4,{0,128, 14,4,58, 2,8,28,90},
60,30,500, 0.,18., -1
60,30,500, 1.,18., -1
},
/* 256 x 7 */
{
......@@ -129,7 +129,7 @@ static vorbis_info_floor1 _floor_44[9]={
{{-1,2,3,4},{-1,5,6,7}},
4,{0,256, 28,8,116, 4,16,56,180},
60,30,500, 0.,18., -1
60,30,500, 1.,18., -1
},
/* 128 x 11 */
......@@ -139,7 +139,7 @@ static vorbis_info_floor1 _floor_44[9]={
2,{0,128, 8,33, 4,16,70, 2,6,12, 23,46,90},
60,30,500, 0,18., -1
60,30,500, 1,18., -1
},
/* 128 x 17 */
......@@ -148,7 +148,7 @@ static vorbis_info_floor1 _floor_44[9]={
{{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
2,{0,128, 12,46, 4,8,16, 23,33,70, 2,6,10, 14,19,28, 39,58,90},
60,30,500, 0,18., -1
60,30,500, 1,18., -1
},
/* 1024 x 17 */
......@@ -158,7 +158,7 @@ static vorbis_info_floor1 _floor_44[9]={
2,{0,1024, 93,372, 33,65,130, 186,260,556,
14,46,79, 111,158,220, 312,464,720},
60,30,500, 0,18., -1 /* lowpass! */
60,30,500, 1,18., -1 /* lowpass! */
},
/* 1024 x 27 */
{
......
......@@ -11,7 +11,7 @@
********************************************************************
function: key psychoacoustic settings for 44.1/48kHz
last mod: $Id: psych_44.h,v 1.19 2002/06/30 08:31:03 xiphmont Exp $
last mod: $Id: psych_44.h,v 1.20 2002/07/01 11:20:19 xiphmont Exp $
********************************************************************/
......@@ -187,7 +187,7 @@ static noise3 _psy_noisebias_trans[11]={
{-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
{-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
/* 6 */
{{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
{{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
{-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 2},
{-34,-34,-34,-34,-30,-26,-24,-18,-17,-15,-15,-15,-15,-13,-13,-12, -8}}},
/* 7 */
......@@ -232,7 +232,7 @@ static noise3 _psy_noisebias_long[11]={
{-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
/* 5 */
{{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
{-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, 0, 2},
{-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
{-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
/* 6 */
{{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
......@@ -519,6 +519,9 @@ static int _noise_part_long_44[10]={
static double _noise_thresh_44[10]={
.2,.2,.3,.4,.5,.5,.5,.5,.5,.5,
};
static double _noise_thresh_44_2[10]={
.5,.5,.5,.5,.5,.5,.5,.5,.5,.5,
};
static int _noise_start_short_44_low[2]={
......
......@@ -11,7 +11,7 @@
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz
last mod: $Id: residue_44.h,v 1.12 2002/06/28 22:19:54 xiphmont Exp $
last mod: $Id: residue_44.h,v 1.13 2002/07/01 11:20:19 xiphmont Exp $
********************************************************************/
......@@ -21,13 +21,6 @@
/***** residue backends *********************************************/
/* the books used depend on stereo-or-not, but the residue setup below
can apply to coupled or not. These templates are for a first pass;
a last pass is mechanically added in vorbisenc for residue backfill
at 1/3 and 1/9, as well as an optional middle pass for stereo
backfill */
static vorbis_info_residue0 _residue_44_mid={
0,-1, -1, 10,-1,
/* 0 1 2 3 4 5 6 7 8 */
......
/********************************************************************
* *
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
* by the XIPHOPHORUS Company http://www.xiph.org/ *
* *
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz uncoupled
last mod: $Id: residue_44u.h,v 1.1 2002/07/01 11:20:19 xiphmont Exp $
********************************************************************/
#include "vorbis/codec.h"
#include "backends.h"
#include "books/uncoupled/res_books_44u.h"
/***** residue backends *********************************************/
static vorbis_info_residue0 _residue_44_low_un={
0,-1, -1, 8,-1,
{0},
{-1},
{ .5, 1.5, 1.5, 2.5, 2.5, 4.5, 28.5},
{ -1, 25, -1, 45, -1, -1, -1}
};
static vorbis_info_residue0 _residue_44_mid_un={
0,-1, -1, 10,-1,
/* 0 1 2 3 4 5 6 7 8 9 */
{0},
{-1},
{ .5, 1.5, 1.5, 2.5, 2.5, 4.5, 4.5, 16.5, 60.5},
{ -1, 30, -1, 50, -1, 80, -1, -1, -1}
};
static vorbis_info_residue0 _residue_44_hi_un={
0,-1, -1, 10,-1,
/* 0 1 2 3 4 5 6 7 8 9 */
{0},
{-1},
{ .5, 1.5, 2.5, 4.5, 8.5, 16.5, 32.5, 71.5,157.5},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1}
};
/* mapping conventions:
only one submap (this would change for efficient 5.1 support for example)*/
/* Four psychoacoustic profiles are used, one for each blocktype */
static vorbis_info_mapping0 _map_nominal_u[2]={
{1, {0,0}, {0}, {0}, 0,{0},{0}},
{1, {0,0}, {1}, {1}, 0,{0},{0}}
};
static static_bookblock _resbook_44u_0={
{
{0},
{0,0,&_44u0__p1_0},
{0,0,&_44u0__p2_0},
{0,0,&_44u0__p3_0},
{0,0,&_44u0__p4_0},
{0,0,&_44u0__p5_0},
{&_44u0__p6_0,&_44u0__p6_1},
{&_44u0__p7_0,&_44u0__p7_1,&_44u0__p7_2}
}
};
static static_bookblock _resbook_44u_1={
{
{0},
{0,0,&_44u1__p1_0},
{0,0,&_44u1__p2_0},
{0,0,&_44u1__p3_0},
{0,0,&_44u1__p4_0},
{0,0,&_44u1__p5_0},
{&_44u1__p6_0,&_44u1__p6_1},
{&_44u1__p7_0,&_44u1__p7_1,&_44u1__p7_2}
}
};
static static_bookblock _resbook_44u_2={
{
{0},
{0,0,&_44u2__p1_0},
{0,0,&_44u2__p2_0},
{0,0,&_44u2__p3_0},
{0,0,&_44u2__p4_0},
{0,0,&_44u2__p5_0},
{&_44u2__p6_0,&_44u2__p6_1},
{&_44u2__p7_0,&_44u2__p7_1,&_44u2__p7_2}
}
};
static static_bookblock _resbook_44u_3={
{
{0},
{0,0,&_44u3__p1_0},
{0,0,&_44u3__p2_0},
{0,0,&_44u3__p3_0},
{0,0,&_44u3__p4_0},
{0,0,&_44u3__p5_0},
{&_44u3__p6_0,&_44u3__p6_1},
{&_44u3__p7_0,&_44u3__p7_1,&_44u3__p7_2}
}
};
static static_bookblock _resbook_44u_4={
{
{0},
{0,0,&_44u4__p1_0},
{0,0,&_44u4__p2_0},
{0,0,&_44u4__p3_0},
{0,0,&_44u4__p4_0},
{0,0,&_44u4__p5_0},
{&_44u4__p6_0,&_44u4__p6_1},
{&_44u4__p7_0,&_44u4__p7_1,&_44u4__p7_2}
}
};
static static_bookblock _resbook_44u_5={
{
{0},
{0,0,&_44u5__p1_0},
{0,0,&_44u5__p2_0},
{0,0,&_44u5__p3_0},
{0,0,&_44u5__p4_0},
{0,0,&_44u5__p5_0},
{0,0,&_44u5__p6_0},
{&_44u5__p7_0,&_44u5__p7_1},
{&_44u5__p8_0,&_44u5__p8_1},
{&_44u5__p9_0,&_44u5__p9_1,&_44u5__p9_2}
}
};
static static_bookblock _resbook_44u_6={
{
{0},
{0,0,&_44u6__p1_0},
{0,0,&_44u6__p2_0},
{0,0,&_44u6__p3_0},
{0,0,&_44u6__p4_0},
{0,0,&_44u6__p5_0},
{0,0,&_44u6__p6_0},
{&_44u6__p7_0,&_44u6__p7_1},
{&_44u6__p8_0,&_44u6__p8_1},
{&_44u6__p9_0,&_44u6__p9_1,&_44u6__p9_2}
}
};
static static_bookblock _resbook_44u_7={
{
{0},
{0,0,&_44u7__p1_0},
{0,0,&_44u7__p2_0},
{0,0,&_44u7__p3_0},
{0,0,&_44u7__p4_0},
{0,0,&_44u7__p5_0},
{0,0,&_44u7__p6_0},
{&_44u7__p7_0,&_44u7__p7_1},
{&_44u7__p8_0,&_44u7__p8_1},
{&_44u7__p9_0,&_44u7__p9_1,&_44u7__p9_2}
}
};
static static_bookblock _resbook_44u_8={
{
{0},
{0,0,&_44u8_p1_0},
{0,0,&_44u8_p2_0},
{0,0,&_44u8_p3_0},
{0,0,&_44u8_p4_0},
{&_44u8_p5_0,&_44u8_p5_1},
{&_44u8_p6_0,&_44u8_p6_1},
{&_44u8_p7_0,&_44u8_p7_1},
{&_44u8_p8_0,&_44u8_p8_1},
{&_44u8_p9_0,&_44u8_p9_1,&_44u8_p9_2}
}
};
static static_bookblock _resbook_44u_9={
{
{0},
{0,0,&_44u9_p1_0},
{0,0,&_44u9_p2_0},
{0,0,&_44u9_p3_0},
{0,0,&_44u9_p4_0},
{&_44u9_p5_0,&_44u9_p5_1},
{&_44u9_p6_0,&_44u9_p6_1},
{&_44u9_p7_0,&_44u9_p7_1},
{&_44u9_p8_0,&_44u9_p8_1},
{&_44u9_p9_0,&_44u9_p9_1,&_44u9_p9_2}
}
};
static vorbis_residue_template _res_44u_0[]={
{1,0, &_residue_44_low_un,
&_huff_book__44u0__short,&_huff_book__44u0__short,
&_resbook_44u_0,&_resbook_44u_0},
{1,0, &_residue_44_low_un,
&_huff_book__44u0__long,&_huff_book__44u0__long,
&_resbook_44u_0,&_resbook_44u_0}
};
static vorbis_residue_template _res_44u_1[]={
{1,0, &_residue_44_low_un,
&_huff_book__44u1__short,&_huff_book__44u1__short,
&_resbook_44u_1,&_resbook_44u_1},
{1,0, &_residue_44_low_un,
&_huff_book__44u1__long,&_huff_book__44u1__long,
&_resbook_44u_1,&_resbook_44u_1}
};
static vorbis_residue_template _res_44u_2[]={
{1,0, &_residue_44_low_un,
&_huff_book__44u2__short,&_huff_book__44u2__short,
&_resbook_44u_2,&_resbook_44u_2},
{1,0, &_residue_44_low_un,
&_huff_book__44u2__long,&_huff_book__44u2__long,
&_resbook_44u_2,&_resbook_44u_2}
};
static vorbis_residue_template _res_44u_3[]={
{1,0, &_residue_44_low_un,
&_huff_book__44u3__short,&_huff_book__44u3__short,
&_resbook_44u_3,&_resbook_44u_3},
{1,0, &_residue_44_low_un,
&_huff_book__44u3__long,&_huff_book__44u3__long,
&_resbook_44u_3,&_resbook_44u_3}
};
static vorbis_residue_template _res_44u_4[]={
{1,0, &_residue_44_low_un,
&_huff_book__44u4__short,&_huff_book__44u4__short,
&_resbook_44u_4,&_resbook_44u_4},
{1,0, &_residue_44_low_un,
&_huff_book__44u4__long,&_huff_book__44u4__long,
&_resbook_44u_4,&_resbook_44u_4}
};
static vorbis_residue_template _res_44u_5[]={
{1,0, &_residue_44_mid_un,
&_huff_book__44u5__short,&_huff_book__44u5__short,
&_resbook_44u_5,&_resbook_44u_5},
{1,0, &_residue_44_mid_un,
&_huff_book__44u5__long,&_huff_book__44u5__long,
&_resbook_44u_5,&_resbook_44u_5}
};
static vorbis_residue_template _res_44u_6[]={
{1,0, &_residue_44_mid_un,
&_huff_book__44u6__short,&_huff_book__44u6__short,
&_resbook_44u_6,&_resbook_44u_6},
{1,0, &_residue_44_mid_un,
&_huff_book__44u6__long,&_huff_book__44u6__long,
&_resbook_44u_6,&_resbook_44u_6}
};
static vorbis_residue_template _res_44u_7[]={
{1,0, &_residue_44_mid_un,
&_huff_book__44u7__short,&_huff_book__44u7__short,
&_resbook_44u_7,&_resbook_44u_7},
{1,0, &_residue_44_mid_un,
&_huff_book__44u7__long,&_huff_book__44u7__long,
&_resbook_44u_7,&_resbook_44u_7}
};
static vorbis_residue_template _res_44u_8[]={
{1,0, &_residue_44_hi_un,
&_huff_book__44u8__short,&_huff_book__44u8__short,
&_resbook_44u_8,&_resbook_44u_8},
{1,0, &_residue_44_hi_un,
&_huff_book__44u8__long,&_huff_book__44u8__long,
&_resbook_44u_8,&_resbook_44u_8}
};
static vorbis_residue_template _res_44u_9[]={
{1,0, &_residue_44_hi_un,
&_huff_book__44u9__short,&_huff_book__44u9__short,
&_resbook_44u_9,&_resbook_44u_9},
{1,0, &_residue_44_hi_un,
&_huff_book__44u9__long,&_huff_book__44u9__long,
&_resbook_44u_9,&_resbook_44u_9}
};
static vorbis_mapping_template _mapres_template_44_uncoupled[]={
{ _map_nominal_u, _res_44u_0 }, /* 0 */
{ _map_nominal_u, _res_44u_1 }, /* 1 */
{ _map_nominal_u, _res_44u_2 }, /* 2 */
{ _map_nominal_u, _res_44u_3 }, /* 3 */
{ _map_nominal_u, _res_44u_4 }, /* 4 */
{ _map_nominal_u, _res_44u_5 }, /* 5 */
{ _map_nominal_u, _res_44u_6 }, /* 6 */
{ _map_nominal_u, _res_44u_7 }, /* 7 */
{ _map_nominal_u, _res_44u_8 }, /* 8 */
{ _map_nominal_u, _res_44u_9 }, /* 9 */
};
......@@ -11,7 +11,7 @@
********************************************************************
function: toplevel settings for 44.1/48kHz
last mod: $Id: setup_44.h,v 1.5 2002/06/30 08:31:04 xiphmont Exp $
last mod: $Id: setup_44.h,v 1.6 2002/07/01 11:20:19 xiphmont Exp $
********************************************************************/
......@@ -30,7 +30,7 @@ static double rate_mapping_44_stereo[11]={
static double quality_mapping_44_stereo_low[2]={
-.1,.0,