[xiph-cvs] cvs commit: vorbis/vq 44c0.vqs 44c4.vqs
Monty
xiphmont at xiph.org
Sun Jun 23 17:06:07 PDT 2002
xiphmont 02/06/23 17:06:07
Modified: lib Tag: branch_monty_20020507 masking.h psy.c psy.h
res0.c vorbisenc.c
lib/modes Tag: branch_monty_20020507 floor_44.h psych_44.h
residue_44.h
vq Tag: branch_monty_20020507 44c0.vqs 44c4.vqs
Log:
More tweaks to make mode setup simpler. Also, cardoidal poinst stereo
rotation allos us to use point stereo at low frequencies; add that
tuning feature.
Monty
Revision Changes Path
No revision
<p>No revision
<p>1.21.6.4 +2 -2 vorbis/lib/masking.h
Index: masking.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/masking.h,v
retrieving revision 1.21.6.3
retrieving revision 1.21.6.4
diff -u -r1.21.6.3 -r1.21.6.4
--- masking.h 2002/06/20 03:55:27 1.21.6.3
+++ masking.h 2002/06/24 00:06:01 1.21.6.4
@@ -11,7 +11,7 @@
********************************************************************
function: masking curve data for psychoacoustics
- last mod: $Id: masking.h,v 1.21.6.3 2002/06/20 03:55:27 xiphmont Exp $
+ last mod: $Id: masking.h,v 1.21.6.4 2002/06/24 00:06:01 xiphmont Exp $
********************************************************************/
@@ -47,7 +47,7 @@
/* (Vorbis 0dB, the loudest possible tone, is assumed to be ~100dB SPL
for collection of these curves) */
-static float tonemasks[17][6][EHMER_MAX]={
+static float tonemasks[P_BANDS][6][EHMER_MAX]={
/* 62.5 Hz */
{{ -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -62, -62, -65, -73,
<p><p>1.67.2.8 +10 -38 vorbis/lib/psy.c
Index: psy.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.c,v
retrieving revision 1.67.2.7
retrieving revision 1.67.2.8
diff -u -r1.67.2.7 -r1.67.2.8
--- psy.c 2002/06/20 03:55:27 1.67.2.7
+++ psy.c 2002/06/24 00:06:01 1.67.2.8
@@ -11,7 +11,7 @@
********************************************************************
function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.67.2.7 2002/06/20 03:55:27 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.67.2.8 2002/06/24 00:06:01 xiphmont Exp $
********************************************************************/
@@ -30,7 +30,7 @@
#include "misc.h"
#define NEGINF -9999.f
-static double stereo_threshholds[]={0.0, 2.5, 4.5, 8.5, 16.5, 9e10};
+static double stereo_threshholds[]={0.0, 1.5, 2.5, 4.5, 8.5, 16.5, 9e10};
vorbis_look_psy_global *_vp_global_look(vorbis_info *vi){
codec_setup_info *ci=vi->codec_setup;
@@ -82,11 +82,6 @@
c[i]+=att;
}
-extern int analysis_noisy;
-
-#include <stdio.h>
-extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off);
-
static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n,
float center_boost, float center_decay_rate){
int i,j,k,m;
@@ -125,27 +120,16 @@
memcpy(workc[i][0],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
memcpy(workc[i][1],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
- for(j=0;j<P_LEVELS;j++){
- char buf[80];
- sprintf(buf,"m%d",i);
- _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
- }
-
/* apply centered curve boost/decay */
for(j=0;j<P_LEVELS;j++){
for(k=0;k<EHMER_MAX;k++){
- float adj=center_boost-abs(EHMER_OFFSET-k)*center_decay_rate;
- if(adj<0.)adj=0.;
+ float adj=center_boost+abs(EHMER_OFFSET-k)*center_decay_rate;
+ if(adj<0. && center_boost>0)adj=0.;
+ if(adj>0. && center_boost<0)adj=0.;
workc[i][j][k]+=adj;
}
}
- for(j=0;j<P_LEVELS;j++){
- char buf[80];
- sprintf(buf,"boost%d",i);
- _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
- }
-
/* normalize curves so the driving amplitude is 0dB */
/* make temp curves with the ATH overlayed */
for(j=0;j<P_LEVELS;j++){
@@ -169,13 +153,6 @@
min_curve(athc[j],athc[j-1]);
min_curve(workc[i][j],athc[j]);
}
-
- for(j=0;j<P_LEVELS;j++){
- char buf[80];
- sprintf(buf,"limited%d",i);
- _analysis_output_always(buf,j,workc[i][j],EHMER_MAX,0,0,0);
- }
-
}
for(i=0;i<P_BANDS;i++){
@@ -195,9 +172,7 @@
bin=floor(fromOC(i*.5)/binHz);
lo_curve= ceil(toOC(bin*binHz+1)*2);
hi_curve= floor(toOC((bin+1)*binHz)*2);
-
- fprintf(stderr,"i=%d(%d) lo=%d hi=%d\n",i,bin,lo_curve,hi_curve);
-
+ if(lo_curve>i)lo_curve=i;
if(lo_curve<0)lo_curve=0;
if(hi_curve>=P_BANDS)hi_curve=P_BANDS-1;
@@ -257,12 +232,6 @@
ret[i][m][1]=j;
}
-
- for(j=0;j<P_LEVELS;j++){
- char buf[80];
- sprintf(buf,"fc%d",i);
- _analysis_output_always(buf,j,ret[i][j]+2,EHMER_MAX,0,0,0);
- }
}
return(ret);
@@ -424,6 +393,7 @@
oc=oc>>p->shiftoc;
if(oc>=P_BANDS)oc=P_BANDS-1;
if(oc<0)oc=0;
+
seed_curve(seed,
curves[oc],
max,
@@ -1036,7 +1006,8 @@
int *floorM=ifloor[vi->coupling_mag[i]];
int *floorA=ifloor[vi->coupling_ang[i]];
int limit=g->coupling_pointlimit[p->vi->blockflag][blobno];
- float point=stereo_threshholds[g->coupling_pointamp[blobno]];
+ float prepoint=stereo_threshholds[g->coupling_prepointamp[blobno]];
+ float postpoint=stereo_threshholds[g->coupling_postpointamp[blobno]];
int partition=(p->vi->normal_point_p?p->vi->normal_partition:p->n);
nonzero[vi->coupling_mag[i]]=1;
@@ -1047,7 +1018,8 @@
for(k=0;k<partition;k++){
int l=k+j;
- if(l>=limit && fabs(rM[l])<point && fabs(rA[l])<point){
+ if((l>=limit && fabs(rM[l])<postpoint && fabs(rA[l])<postpoint) ||
+ (fabs(rM[l])<prepoint && fabs(rA[l])<prepoint)){
precomputed_couple_point(mag_memo[i][l],
floorM[l],floorA[l],
qM+l,qA+l);
<p><p>1.28.2.6 +4 -2 vorbis/lib/psy.h
Index: psy.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/psy.h,v
retrieving revision 1.28.2.5
retrieving revision 1.28.2.6
diff -u -r1.28.2.5 -r1.28.2.6
--- psy.h 2002/06/20 03:55:28 1.28.2.5
+++ psy.h 2002/06/24 00:06:02 1.28.2.6
@@ -11,7 +11,7 @@
********************************************************************
function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h,v 1.28.2.5 2002/06/20 03:55:28 xiphmont Exp $
+ last mod: $Id: psy.h,v 1.28.2.6 2002/06/24 00:06:02 xiphmont Exp $
********************************************************************/
@@ -76,8 +76,10 @@
float ampmax_att_per_sec;
/* channel coupling config */
+ int coupling_pkHz[PACKETBLOBS];
int coupling_pointlimit[2][PACKETBLOBS];
- int coupling_pointamp[PACKETBLOBS];
+ int coupling_prepointamp[PACKETBLOBS];
+ int coupling_postpointamp[PACKETBLOBS];
} vorbis_info_psy_global;
<p><p>1.45.4.5 +13 -7 vorbis/lib/res0.c
Index: res0.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/res0.c,v
retrieving revision 1.45.4.4
retrieving revision 1.45.4.5
diff -u -r1.45.4.4 -r1.45.4.5
--- res0.c 2002/05/31 00:16:11 1.45.4.4
+++ res0.c 2002/06/24 00:06:02 1.45.4.5
@@ -11,7 +11,7 @@
********************************************************************
function: residue backend 0, 1 and 2 implementation
- last mod: $Id: res0.c,v 1.45.4.4 2002/05/31 00:16:11 xiphmont Exp $
+ last mod: $Id: res0.c,v 1.45.4.5 2002/06/24 00:06:02 xiphmont Exp $
********************************************************************/
@@ -52,6 +52,7 @@
long frames;
#ifdef TRAIN_RES
+ int train_seq;
long *training_data[8][64];
float training_max[8][64];
float training_min[8][64];
@@ -87,7 +88,7 @@
codebook *statebook=look->partbooks[j][k];
/* long and short into the same bucket by current convention */
- sprintf(buffer,"res_part%d_pass%d.vqd",j,k);
+ sprintf(buffer,"res%d_part_pass%d.vqd",j,k);
of=fopen(buffer,"a");
for(l=0;l<statebook->entries;l++)
@@ -274,7 +275,12 @@
look->decodemap[j][k]=deco;
}
}
-
+#ifdef TRAIN_RES
+ {
+ static int train_seq=0;
+ look->train_seq=train_seq++;
+ }
+#endif
return(look);
}
@@ -371,7 +377,7 @@
int partvals=n/samples_per_partition;
long **partword=_vorbis_block_alloc(vb,ch*sizeof(*partword));
- float scale=1./ci->blocksizes[vb->W];
+ float scale=vi->rate/ci->blocksizes[vb->W]*.001;
/* we find the partition type for each partition of each
channel. We'll go back and do the interleaved encoding in a
bit. For now, clarity */
@@ -383,7 +389,7 @@
for(i=0;i<partvals;i++){
int offset=i*samples_per_partition+info->begin;
- float cur=offset/scale*vi->rate;
+ float cur=offset*scale;
for(j=0;j<ch;j++){
float max=0.;
for(k=0;k<samples_per_partition;k++)
@@ -404,7 +410,7 @@
char buffer[80];
for(i=0;i<ch;i++){
- sprintf(buffer,"resaux_%d.vqd",vb->mode);
+ sprintf(buffer,"resaux_%d.vqd",look->train_seq);
of=fopen(buffer,"a");
for(j=0;j<partvals;j++)
fprintf(of,"%ld, ",partword[i][j]);
@@ -463,7 +469,7 @@
}
#ifdef TRAIN_RES
- sprintf(buffer,"resaux_%d.vqd",vb->mode);
+ sprintf(buffer,"resaux_%d.vqd",look->train_seq);
of=fopen(buffer,"a");
for(i=0;i<partvals;i++)
fprintf(of,"%ld, ",partword[0][i]);
<p><p>1.39.2.7 +107 -110 vorbis/lib/vorbisenc.c
Index: vorbisenc.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/vorbisenc.c,v
retrieving revision 1.39.2.6
retrieving revision 1.39.2.7
diff -u -r1.39.2.6 -r1.39.2.7
--- vorbisenc.c 2002/06/20 03:55:28 1.39.2.6
+++ vorbisenc.c 2002/06/24 00:06:02 1.39.2.7
@@ -11,7 +11,7 @@
********************************************************************
function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c,v 1.39.2.6 2002/06/20 03:55:28 xiphmont Exp $
+ last mod: $Id: vorbisenc.c,v 1.39.2.7 2002/06/24 00:06:02 xiphmont Exp $
********************************************************************/
@@ -29,16 +29,26 @@
/* careful with this; it's using static array sizing to make managing
all the modes a little less annoying. If we use a residue backend
- with > 10 partition types, or a different division of iteration,
+ with > 12 partition types, or a different division of iteration,
this needs to be updated. */
+typedef struct {
+ static_codebook *books[12][3];
+} static_bookblock;
typedef struct {
- vorbis_info_residue0 *res[2];
- static_codebook *book_aux[2];
- static_codebook *book_aux_managed[2];
- static_codebook *books_base[10][3];
+ int res_type;
+ int limit_type; /* 0 lowpass limited, 1 point stereo limited */
+ vorbis_info_residue0 *res;
+ static_codebook *book_aux;
+ static_codebook *book_aux_managed;
+ static_bookblock *books_base;
} vorbis_residue_template;
+typedef struct {
+ vorbis_info_mapping0 *map;
+ vorbis_residue_template *res;
+} vorbis_mapping_template;
+
typedef struct vp_adjblock{
int block[P_BANDS];
} vp_adjblock;
@@ -60,7 +70,13 @@
float decay;
} att3;
typedef struct { int data[P_NOISECURVES]; } adj3;
-typedef struct { int data[PACKETBLOBS]; } adjB;
+
+typedef struct {
+ int pre[PACKETBLOBS];
+ int post[PACKETBLOBS];
+ float kHz[PACKETBLOBS];
+} adj_stereo;
+
typedef struct {
int lo;
int hi;
@@ -110,18 +126,15 @@
double *psy_lowpass;
vorbis_info_psy_global *global_params;
- double *global_mapping;
- adjB *stereo_modes;
- adjB *stereo_pkHz;
-
+ double *global_mapping;
+ adj_stereo *stereo_modes;
static_codebook ***floor_books;
vorbis_info_floor1 *floor_params;
int *floor_short_mapping;
int *floor_long_mapping;
- vorbis_residue_template *residue;
- int res_type;
+ vorbis_mapping_template *maps;
} ve_setup_data_template;
#include "modes/setup_44.h"
@@ -136,17 +149,10 @@
/* a few static coder conventions */
static vorbis_info_mode _mode_template[2]={
- {0,0,0,-1},
- {1,0,0,-1}
+ {0,0,0,0},
+ {1,0,0,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 _mapping_template[2]={
- {1, {0,0}, {0}, {-1}, 0,{0},{0}},
- {1, {0,0}, {1}, {-1}, 0,{0},{0}}
-};
static int vorbis_encode_toplevel_setup(vorbis_info *vi,int ch,long rate){
if(vi && vi->codec_setup){
@@ -229,33 +235,32 @@
static int vorbis_encode_global_stereo(vorbis_info *vi,
highlevel_encode_setup *hi,
- adjB *pdB,
- adjB *pkHz){
+ adj_stereo *p){
float s=hi->stereo_point_setting;
int i,is=s;
double ds=s-is;
codec_setup_info *ci=vi->codec_setup;
vorbis_info_psy_global *g=&ci->psy_g_param;
+ memcpy(g->coupling_prepointamp,p[is].pre,sizeof(*p[is].pre));
+ memcpy(g->coupling_postpointamp,p[is].post,sizeof(*p[is].post));
+
if(hi->managed){
- memcpy(g->coupling_pointamp,pdB[is].data,sizeof(*pdB));
/* interpolate the kHz threshholds */
for(i=0;i<PACKETBLOBS;i++){
- float kHz=pkHz[is*2].data[i]*(1.-ds)+pkHz[is*2+2].data[i]*ds;
+ float kHz=p[is].kHz[i]*(1.-ds)+p[is+1].kHz[i]*ds;
g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- kHz=pkHz[is*2+1].data[i]*(1.-ds)+pkHz[is*2+3].data[i]*ds;
g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+ g->coupling_pkHz[i]=kHz;
}
}else{
- int point_dB=pdB[is].data[PACKETBLOBS/2];
- float kHz=pkHz[is*2].data[PACKETBLOBS/2]*(1.-ds)+pkHz[is*2+2].data[PACKETBLOBS/2]*ds;
- for(i=0;i<PACKETBLOBS;i++)
- g->coupling_pointamp[i]=point_dB;
- for(i=0;i<PACKETBLOBS;i++)
+ float kHz=p[is].kHz[PACKETBLOBS/2]*(1.-ds)+p[is+1].kHz[PACKETBLOBS/2]*ds;
+ for(i=0;i<PACKETBLOBS;i++){
+
g->coupling_pointlimit[0][i]=kHz*1000./vi->rate*ci->blocksizes[0];
- kHz=pkHz[is*2+1].data[PACKETBLOBS/2]*(1.-ds)+pkHz[is*2+3].data[PACKETBLOBS/2]*ds;
- for(i=0;i<PACKETBLOBS;i++)
g->coupling_pointlimit[1][i]=kHz*1000./vi->rate*ci->blocksizes[1];
+ g->coupling_pkHz[i]=kHz;
+ }
}
return(0);
@@ -402,34 +407,17 @@
}
-static int vorbis_encode_residue_setup(vorbis_info *vi,double s,int block,
- int type,
- vorbis_residue_template *in){
+static void vorbis_encode_residue_setup(vorbis_info *vi,
+ int number, int block,
+ vorbis_residue_template *res){
codec_setup_info *ci=vi->codec_setup;
- int i,is=s;
- int n,k;
- int number=block;
-
+ int i,n,k;
+
vorbis_info_residue0 *r=ci->residue_param[number]=
_ogg_malloc(sizeof(*r));
- vorbis_info_mapping0 *map=ci->map_param[number]=
- _ogg_calloc(1,sizeof(*map));
- vorbis_info_mode *mode=ci->mode_param[number]=
- _ogg_calloc(1,sizeof(*mode));
-
- memcpy(ci->mode_param[number],&_mode_template[block],
- sizeof(*_mode_template));
- if(number>=ci->modes)ci->modes=number+1;
- ci->mode_param[number]->mapping=number;
- ci->mode_param[number]->blockflag=block;
-
- ci->map_type[number]=0;
- memcpy(ci->map_param[number],&_mapping_template[block],sizeof(*map));
- if(number>=ci->maps)ci->maps=number+1;
- ((vorbis_info_mapping0 *)(ci->map_param[number]))->residuesubmap[0]=number;
-
- memcpy(r,in[is].res[block],sizeof(*r));
+
+ memcpy(r,res->res,sizeof(*r));
if(ci->residues<=number)ci->residues=number+1;
switch(ci->blocksizes[block]){
@@ -440,69 +428,64 @@
r->grouping=32;
break;
}
- ci->residue_type[number]=type;
+ ci->residue_type[number]=res->res_type;
- switch(ci->residue_type[number]){
- case 1:
- n=r->end=ci->blocksizes[block]>>1; /* to be adjusted by lowpass later */
- break;
- case 2:
- n=r->end=(ci->blocksizes[block]>>1)*vi->channels; /* to be adjusted by lowpass later */
- break;
- }
+ /* to be adjusted by lowpass/pointlimit later */
+ n=r->end=ci->blocksizes[block]>>1;
+ if(res->res_type==2)
+ n=r->end*=vi->channels;
for(i=0;i<r->partitions;i++)
for(k=0;k<3;k++)
- if(in[is].books_base[i][k])
+ if(res->books_base->books[i][k])
r->secondstages[i]|=(1<<k);
- if(type==2){ /* that is to say, if we're coupling, which will always mean
- res type 2 in this encoder for now */
- vorbis_info_mapping0 *map=ci->map_param[number];
-
- map->coupling_steps=1;
- map->coupling_mag[0]=0;
- map->coupling_ang[0]=1;
-
- }
-
/* fill in all the books */
{
int booklist=0,k;
if(ci->hi.managed){
- r->groupbook=book_dup_or_new(ci,in[is].book_aux_managed[block]);
- ci->book_param[r->groupbook]=in[is].book_aux_managed[block];
+ r->groupbook=book_dup_or_new(ci,res->book_aux_managed);
+ ci->book_param[r->groupbook]=res->book_aux_managed;
}else{
- r->groupbook=book_dup_or_new(ci,in[is].book_aux[block]);
- ci->book_param[r->groupbook]=in[is].book_aux[block];
+ r->groupbook=book_dup_or_new(ci,res->book_aux);
+ ci->book_param[r->groupbook]=res->book_aux;
}
for(i=0;i<r->partitions;i++){
for(k=0;k<3;k++){
- if(in[is].books_base[i][k]){
- int bookid=book_dup_or_new(ci,in[is].books_base[i][k]);
+ if(res->books_base->books[i][k]){
+ int bookid=book_dup_or_new(ci,res->books_base->books[i][k]);
r->booklist[booklist++]=bookid;
- ci->book_param[bookid]=in[is].books_base[i][k];
+ ci->book_param[bookid]=res->books_base->books[i][k];
}
}
}
}
- /* lowpass setup */
+ /* lowpass setup/pointlimit */
{
- double freq=ci->hi.lowpass_kHz[block]*1000.;
- vorbis_info_floor1 *f=ci->floor_param[block];
+ double freq=ci->hi.lowpass_kHz*1000.;
+ vorbis_info_floor1 *f=ci->floor_param[block]; /* by convention */
double nyq=vi->rate/2.;
long blocksize=ci->blocksizes[block]>>1;
-
- if(freq>vi->rate/2)freq=vi->rate/2;
- /* lowpass needs to be set in the floor and the residue. */
-
+
+ /* lowpass needs to be set in the floor and the residue. */
+ if(freq>nyq)freq=nyq;
/* in the floor, the granularity can be very fine; it doesn't alter
the encoding structure, only the samples used to fit the floor
approximation */
f->n=freq/nyq*blocksize;
+
+ /* this res may by limited by the maximum pointlimit of the mode,
+ not the lowpass. the floor is always lowpass limited. */
+ if(res->limit_type){
+ if(ci->hi.managed)
+ freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS-1]*1000.;
+ else
+ freq=ci->psy_g_param.coupling_pkHz[PACKETBLOBS/2]*1000.;
+ if(freq>nyq)freq=nyq;
+ }
/* in the residue, we're constrained, physically, by partition
boundaries. We still lowpass 'wherever', but we have to round up
@@ -515,10 +498,36 @@
r->end=(int)((freq/nyq*blocksize)/r->grouping+.9)* /* round up only if we're well past */
r->grouping;
}
-
- return(0);
}
+/* we assume two maps in this encoder */
+static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s,
+ vorbis_mapping_template *maps){
+
+ codec_setup_info *ci=vi->codec_setup;
+ int i,j,is=s;
+ vorbis_info_mapping0 *map=maps[is].map;
+ vorbis_info_mode *mode=_mode_template;
+ vorbis_residue_template *res=maps[is].res;
+
+ for(i=0;i<2;i++){
+
+ ci->map_param[i]=_ogg_calloc(1,sizeof(*map));
+ ci->mode_param[i]=_ogg_calloc(1,sizeof(*mode));
+
+ memcpy(ci->mode_param[i],mode+i,sizeof(*_mode_template));
+ if(i>=ci->modes)ci->modes=i+1;
+
+ ci->map_type[i]=0;
+ memcpy(ci->map_param[i],map+i,sizeof(*map));
+ if(i>=ci->maps)ci->maps=i+1;
+
+ for(j=0;j<map[i].submaps;j++)
+ vorbis_encode_residue_setup(vi,map[i].residuesubmap[j],i
+ ,res+map[i].residuesubmap[j]);
+ }
+}
+
static double setting_to_approx_bitrate(vorbis_info *vi){
codec_setup_info *ci=vi->codec_setup;
highlevel_encode_setup *hi=&ci->hi;
@@ -625,14 +634,11 @@
setup->floor_params,
setup->floor_long_mapping);
- /* setup of [mostly] short block detection */
+ /* setup of [mostly] short block detection and stereo*/
ret|=vorbis_encode_global_psych_setup(vi,hi->trigger_setting,
setup->global_params,
setup->global_mapping);
-
- ret|=vorbis_encode_global_stereo(vi,hi,
- setup->stereo_modes,
- setup->stereo_pkHz);
+ ret|=vorbis_encode_global_stereo(vi,hi,setup->stereo_modes);
/* basic psych setup and noise normalization */
ret|=vorbis_encode_psyset_setup(vi,hi->short_setting,
@@ -726,15 +732,7 @@
return ret;
}
- ret|=vorbis_encode_residue_setup(vi,hi->short_setting,0,
- setup->res_type,
- setup->residue);
- ret|=vorbis_encode_residue_setup(vi,hi->long_setting,1,
- setup->res_type,
- setup->residue);
-
- if(ret)
- vorbis_info_clear(vi);
+ vorbis_encode_map_n_res_setup(vi,hi->base_setting,setup->maps);
/* set bitrate readonlies and management */
vi->bitrate_nominal=setting_to_approx_bitrate(vi);
@@ -782,8 +780,7 @@
hi->noise_normalize_p=1;
hi->stereo_point_setting=hi->base_setting;
- hi->lowpass_kHz[0]=
- hi->lowpass_kHz[1]=
+ hi->lowpass_kHz=
setup->psy_lowpass[is]*(1.-ds)+setup->psy_lowpass[is+1]*ds;
hi->ath_floating_dB=setup->psy_ath_float[is]*(1.-ds)+
<p><p>No revision
<p>No revision
<p>1.2.8.2 +15 -3 vorbis/lib/modes/floor_44.h
Index: floor_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/floor_44.h,v
retrieving revision 1.2.8.1
retrieving revision 1.2.8.2
diff -u -r1.2.8.1 -r1.2.8.2
--- floor_44.h 2002/06/11 04:44:49 1.2.8.1
+++ floor_44.h 2002/06/24 00:06:04 1.2.8.2
@@ -11,7 +11,7 @@
********************************************************************
function: key floor settings for 44.1/48kHz
- last mod: $Id: floor_44.h,v 1.2.8.1 2002/06/11 04:44:49 xiphmont Exp $
+ last mod: $Id: floor_44.h,v 1.2.8.2 2002/06/24 00:06:04 xiphmont Exp $
********************************************************************/
@@ -122,14 +122,15 @@
&_huff_book_line_1024x31_3sub3,
};
-static static_codebook **_floor_44_books[4]={
+static static_codebook **_floor_44_books[5]={
_floor_44_128x7_books,
_floor_44_128x9_books,
_floor_44_128x19_books,
+ _floor_44_1024x31_books,
_floor_44_1024x31_books
};
-static vorbis_info_floor1 _floor_44[4]={
+static vorbis_info_floor1 _floor_44[5]={
{
3,{0,1,2},{1,3,3},{0,2,2},{-1,0,1},
{{2},{-1,3,4,5},{-1,6,7,8}},
@@ -169,6 +170,17 @@
{{4,5},{6,7},{-1,8,9,10},{-1,11,12,13}},
2,{0,1024, 88,31,243, 14,54,143,460, 6,3,10, 22,18,26, 41,36,47,
69,61,78, 112,99,126, 185,162,211, 329,282,387, 672,553,825},
+
+ 60,30,400,
+ 20,8,1,18.,
+ 20,600,
+ -1 /* lowpass */
+ },
+ {
+ 10,{0,1,2,2,2,2,2, 3,3,3},{3,4,3,3},{1,1,2,2},{0,1,2,3},
+ {{4,5},{6,7},{-1,8,9,10},{-1,11,12,13}},
+ 2,{0,2048, 176,62,486, 28,108,286,920, 12,6,20, 44,36,52, 82,72,94,
+ 138,122,156, 224,198,252, 370,324,422, 658,564,774, 1344,1106,1650},
60,30,400,
20,8,1,18.,
<p><p>1.15.2.7 +96 -106 vorbis/lib/modes/psych_44.h
Index: psych_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/psych_44.h,v
retrieving revision 1.15.2.6
retrieving revision 1.15.2.7
diff -u -r1.15.2.6 -r1.15.2.7
--- psych_44.h 2002/06/20 03:55:31 1.15.2.6
+++ psych_44.h 2002/06/24 00:06:04 1.15.2.7
@@ -11,7 +11,7 @@
********************************************************************
function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h,v 1.15.2.6 2002/06/20 03:55:31 xiphmont Exp $
+ last mod: $Id: psych_44.h,v 1.15.2.7 2002/06/24 00:06:04 xiphmont Exp $
********************************************************************/
@@ -24,31 +24,31 @@
{20.f,14.f,12.f,12.f,12.f,12.f,12.f},
{-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f,
-6.f,
- {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+ {99.},{{99.},{99.}},{99.}
},
{8, /* lines per eighth octave */
{14.f,10.f,10.f,10.f,10.f,10.f,10.f},
{-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f,
-6.f,
- {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+ {99.},{{99.},{99.}},{99.}
},
{8, /* lines per eighth octave */
{12.f,10.f,10.f,10.f,10.f,10.f,10.f},
{-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f,
-6.f,
- {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+ {99.},{{99.},{99.}},{99.}
},
{8, /* lines per eighth octave */
{10.f,8.f,8.f,8.f,8.f,8.f,8.f},
{-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f,
-6.f,
- {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+ {99.},{{99.},{99.}},{99.}
},
{8, /* lines per eighth octave */
{10.f,6.f,6.f,6.f,6.f,6.f,6.f},
{-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f,
-6.f,
- {{99.,99.,99.},{99.,99.,99.}},{99.,99.,99.}
+ {99.},{{99.},{99.}},{99.}
},
};
@@ -107,42 +107,41 @@
/* tonal masking curve level adjustments *************************/
static vp_adjblock _vp_tonemask_adj_longblock[11]={
/* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
+ /* 63 125 250 500 1 2 4 8 16 */
+ {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
+ {{-15,-15,-15,-15,-15,-12,-10,-8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
};
-
static vp_adjblock _vp_tonemask_adj_otherblock[11]={
/* adjust for mode zero */
- /* 63 125 250 500 1 2 4 8 16 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
- {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
+ /* 63 125 250 500 1 2 4 8 16 */
+ {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 0 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 1 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 2 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 3 */
+ {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 4 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 5 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 6 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 7 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 8 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 9 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, /* 10 */
};
static noise3 _psy_noisebias_long[11]={
/*63 125 250 500 1k 2k 4k 8k 16k*/
/* 0 */
- {{{-20,-20,-18,-18,-18,-16,-14, -8, -6, -2, 0, 2, 3, 3, 4, 4, 10},
+ {{{-10,-10,-10,-10,-10,-10, -8, -8, 0, 2, 4, 4, 5, 8, 8, 10, 10},
{-20,-20,-18,-18,-18,-16,-14, -8, -6, -2, 0, 2, 3, 3, 4, 4, 10},
- {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2, 0, 2, 3, 3, 4, 4, 10}}},
+ {-20,-20,-20,-20,-20,-20,-20,-10, -6, -3, -4, -4, -2, -1, 0, 0, 2}}},
/* 1 */
{{{-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -2, -2, 1, 1, 2, 2, 4},
{-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -2, -2, 1, 1, 2, 2, 4},
@@ -157,8 +156,8 @@
{-20,-20,-20,-20,-20,-20,-20,-10, -6, -2, -3, -3, -1, -1, 0, 1, 2}}},
/* 4 */
{{
+ {-20,-20,-18,-18,-18,-16,-14, -8, -6, -2, 0, 2, 3, 3, 4, 4, 10},
{-20,-20,-18,-18,-18,-16,-14, -8, -6, -2, 0, 2, 3, 3, 4, 4, 10},
- {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0, 4, 5, 6, 8, 8, 8, 10},
//{-20,-20,-20,-20,-20,-20,-20,-10, -6, -3, -4, -4, -2, -1, 0, 0, 2},
{-30,-30,-30,-30,-30,-30,-30,-30,-26,-20,-20,-20,-20,-20,-16,-14,-10}}},
/* 5 */
@@ -188,11 +187,11 @@
};
static noise3 _psy_noisebias_impulse[11]={
- /*63 125 250 500 1k 2k 4k 8k 16k*/
+ /* 63 125 250 500 1k 2k 4k 8k 16k*/
/* 0 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10,-10, -2, 2, 2, 2, 2, 2, 3, 6},
+ {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 6, 8, 8, 10},
{-20,-20,-20,-20,-20,-18,-14,-10,-10, -2, 2, 2, 2, 2, 2, 3, 6},
- {-20,-20,-20,-20,-20,-18,-14,-10,-10, -2, 2, 2, 2, 2, 2, 3, 6}}},
+ {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
/* 1 */
{{{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -2, -2, -2, 2},
{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -2, -2, -2, 2},
@@ -208,7 +207,7 @@
/* 4 */
{{
{-20,-20,-20,-20,-20,-18,-14,-10,-10, -2, 2, 2, 2, 2, 2, 3, 6},
- {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0, 4, 5, 6, 8, 8, 8, 10},
+ {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10},
//{-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2},
{-34,-34,-34,-34,-30,-30,-30,-30,-30,-26,-26,-26,-26,-22,-20,-20,-16}}},
/* 5 */
@@ -240,9 +239,9 @@
static noise3 _psy_noisebias_other[11]={
/*63 125 250 500 1k 2k 4k 8k 16k*/
/* 0 */
- {{{-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10},
+ {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 6, 8, 8, 10},
{-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10},
- {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10}}},
+ {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1, 0, 0, 2}}},
/* 1 */
{{{-26,-26,-26,-26,-26,-22,-20,-14,-10, -2, -2, -2, 1, 1, 2, 2, 4},
{-26,-26,-26,-26,-26,-22,-20,-14,-10, -2, -2, -2, 1, 1, 2, 2, 4},
@@ -257,9 +256,9 @@
{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -1, -1, 0, 1, 2}}},
/* 4 */
{{
+ {-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10},
{-20,-20,-20,-20,-20,-18,-14,-10, -6, -2, 2, 2, 3, 3, 4, 4, 10},
- {-20,-20,-18,-18,-18,-16,-14, -8, -6, 0, 4, 5, 6, 8, 8, 8, 10},
- //{-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1, 0, 0, 2},
+ // {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -2, -1, 0, 0, 2},
{-34,-34,-34,-34,-30,-30,-30,-30,-26,-20,-20,-20,-20,-20,-16,-14,-10}}},
/* 5 */
{{{-30,-30,-30,-30,-30,-30,-24,-20,-10, -4, -6, -6, -3, -2, -2, -2, 0},
@@ -287,13 +286,15 @@
{-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-46}}},
};
-static noiseguard _psy_noiseguards_44[2]={
+static noiseguard _psy_noiseguards_44[4]={
{4,4,15},
+ {4,4,15},
+ {10,10,100},
{10,10,100},
};
static int _psy_tone_suppress[11]={
- -10,-20,-20,-20,-30,-30,-40,-40,-45,-45,-45,
+ -10,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45,
};
static int _psy_tone_0dB[11]={
@@ -320,11 +321,11 @@
/* ath ****************/
static int _psy_ath_floater[11]={
- -100,-100,-100,-100,-90,-100,-105,-105,-105,-110,-120,
+ -100,-100,-100,-100,-100,-100,-105,-105,-105,-110,-120,
};
static int _psy_ath_abs[11]={
- -110,-110,-120,-140,-140,-140,-140,-140,-140,-140,-150,
+ -110,-110,-120,-140,-120,-140,-140,-140,-140,-140,-150,
};
/* stereo setup. These don't map directly to quality level, there's
@@ -336,72 +337,61 @@
/* various stereo possibilities */
/* stereo mode by base quality level */
-static adjB _psy_stereo_modes_44[10]={
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}, /* 0 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}, /* 1 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{ 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}}, /* 2 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{ 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1}}, /* 3 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{ 3, 3, 3, 3, 3, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1}}, /* 4 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{0}}, /* 5 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{0}}, /* 6 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{0}}, /* 7 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{0}}, /* 8 */
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14*/
- {{0}}, /* 9 */
-
-};
-
-static adjB _psy_stereo_pkHz_44[22]={
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
- {{ 4, 4, 4, 4, 4, 4, 4, 6, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */
- {{0}},
- {{0}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */
- {{0}},
- {{0}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 */
- {{ 4, 4, 4, 6, 8, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 */
- {{ 4, 4, 4, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- {{ 4, 5, 6, 6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}},
- /*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 */
+static adj_stereo _psy_stereo_modes_44[11]={
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
+ {{ 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0},
+ { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
+ {3,3.5, 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9,10}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 */
+ {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}},
+ {{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
+ { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}}
};
/* tone master attenuation by base quality mode and bitrate tweak */
static att3 _psy_tone_masteratt_44[11]={
- {{0},0,0}, /* 0 */
+ {{ 30, 20, 10}, -6, 1.25}, /* 4 */
{{0},0,0}, /* 1 */
{{0},0,0}, /* 2 */
{{0},0,0}, /* 3 */
- {{ 10, 24, -10}, 10, .625}, /* 4 */
+ {{ 10, 24, -10}, -6, 1.25}, /* 4 */
+ //{{0},0,0}, /* 4 */
{{0},0,0}, /* 5 */
{{0},0,0}, /* 6 */
{{0},0,0}, /* 7 */
@@ -412,7 +402,7 @@
/* lowpass by mode **************/
static double _psy_lowpass_44[11]={
- 15.1,15.8,16.5,17.9,15.9,48.,999.,999.,999.,999.,999.
+ 15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999.
};
/* noise normalization **********/
@@ -430,5 +420,5 @@
32,32,32,32,32,32,32,32,32,32
};
static double _noise_thresh_44[10]={
- .0,.5,.5,.5,.2,.5,.5,.5,.5,.5,
+ .2,.3,.4,.5,.5,.5,.5,.5,.5,.5,
};
<p><p>1.11.6.7 +86 -556 vorbis/lib/modes/residue_44.h
Index: residue_44.h
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/modes/residue_44.h,v
retrieving revision 1.11.6.6
retrieving revision 1.11.6.7
diff -u -r1.11.6.6 -r1.11.6.7
--- residue_44.h 2002/06/20 03:55:31 1.11.6.6
+++ residue_44.h 2002/06/24 00:06:05 1.11.6.7
@@ -11,7 +11,7 @@
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h,v 1.11.6.6 2002/06/20 03:55:31 xiphmont Exp $
+ last mod: $Id: residue_44.h,v 1.11.6.7 2002/06/24 00:06:05 xiphmont Exp $
********************************************************************/
@@ -26,134 +26,43 @@
at 1/3 and 1/9, as well as an optional middle pass for stereo
backfill */
-/* 0 1 2 4 26 1 2 4 26 +
- 0 0 0 0
- 0 1 2 3 4 5 6 7 8 9
- 1 . . .
- 2 . . .
- 4 . . . . . . .
-
- 0 4 4 4 3 4 4 4 3 7 */
-static vorbis_info_residue0 _residue_44_low={
- 0,-1, -1, 8,-1,
- {0},
- {-1},
- { .5, 1.0, 1.5, 2.5, 4.5, 1.5, 4.5, 26.5},
- { .5, .5, .5, .5, .5, 999., 999., 999.},
-};
-/* 26 doesn't cascade well; use 28 instead */
-static vorbis_info_residue0 _residue_44_low_un={
- 0,-1, -1, 8,-1,
- {0},
- {-1},
- { .5, 1.5, 4.5, 1.5, 2.5, 4.5, 28.5},
- { 99, -1, -1, -1, -1, 99, 99}
-};
-
-
static vorbis_info_residue0 _residue_44_mid={
0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 9 */
+ /* 0 1 2 3 4 5 6 7 8 */
{0},
{-1},
{ .5, 1.5, 1.5, 2.5, 2.5, 4.5, 8.5, 16.5, 32.5},
- { .5, .5, 999., 1.5, 999., 4.5, 8.5, 16.5, 32.5},
+ { .5, .5, 999., .5, 999., 4.5, 8.5, 16.5, 32.5},
};
-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, 42.5},
- { .5, .5, 999., .5, 999., .5, 999., 999., 999,},
-};
+static vorbis_info_residue0 _residue_44_lo={
+ 0,-1, -1, 12,-1,
+ /* 0 1 2 3 4 5 6 7 8 9 10 */
+ {0},
+ {-1},
+ { .5, 1.5, 1.5, 2.5, 2.5, 4.5, 4.5, 8.5, 8.5, 16.5, 32.5},
+ { .5, .5, 999., .5, 999., .5, 4.5, .5, 8.5, 16.5, 32.5},
+};
+
+#include "books/coupled/_44c0_s_short.vqh"
+#include "books/coupled/_44c0_s_long.vqh"
+
+#include "books/coupled/_44c0_s_p1_0.vqh"
+#include "books/coupled/_44c0_s_p2_0.vqh"
+#include "books/coupled/_44c0_s_p3_0.vqh"
+#include "books/coupled/_44c0_s_p4_0.vqh"
+#include "books/coupled/_44c0_s_p5_0.vqh"
+#include "books/coupled/_44c0_s_p6_0.vqh"
+#include "books/coupled/_44c0_s_p7_0.vqh"
+#include "books/coupled/_44c0_s_p8_0.vqh"
+#include "books/coupled/_44c0_s_p9_0.vqh"
+#include "books/coupled/_44c0_s_p9_1.vqh"
+#include "books/coupled/_44c0_s_p10_0.vqh"
+#include "books/coupled/_44c0_s_p10_1.vqh"
+#include "books/coupled/_44c0_s_p11_0.vqh"
+#include "books/coupled/_44c0_s_p11_1.vqh"
-/* 0 8 42 1 2 4 8 16 56 +
- 0 0 0
-
- 0 1 2 3 4 5 6 7 8 9
- 1 . . . .
- 2 . . . .
- 4 . . . . . .
-
- 0 4 3 4 4 4 4 3 3 7 */
-static vorbis_info_residue0 _residue_44_high={
- 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, 8.5, 16.5, 42.5, 56.5},
- { .5, 1.5, 2.5, 2.5, 4.5, 8.5, 8.5, 16.5, 22.5},
-};
-/* 56 doesn't cascade well; use 59 */
-static vorbis_info_residue0 _residue_44_high_un={
- 0,-1, -1, 10,-1,
- /* 0 1 2 3 4 5 6 7 8 9 */
- {0},
- {-1},
- { .5, 8.5, 42.5, 1.5, 2.5, 4.5, 8.5, 16.5, 59.5},
- { 99, -1, -1, 99, 99, 99, 99, 99, 99}
-};
-
-#include "books/coupled/_44c0_short.vqh"
-#include "books/coupled/_44c0_long.vqh"
-
-#include "books/coupled/_44c0_s0_p1_0.vqh"
-#include "books/coupled/_44c0_s0_p2_0.vqh"
-#include "books/coupled/_44c0_s0_p3_0.vqh"
-#include "books/coupled/_44c0_s0_p4_0.vqh"
-#include "books/coupled/_44c0_s0_p4_1.vqh"
-#include "books/coupled/_44c0_s0_p5_0.vqh"
-#include "books/coupled/_44c0_s0_p6_0.vqh"
-#include "books/coupled/_44c0_s0_p7_0.vqh"
-#include "books/coupled/_44c0_s0_p7_1.vqh"
-#include "books/coupled/_44c0_s0_p7_2.vqh"
-
-#include "books/coupled/_44c1_short.vqh"
-#include "books/coupled/_44c1_long.vqh"
-
-#include "books/coupled/_44c1_s0_p1_0.vqh"
-#include "books/coupled/_44c1_s0_p2_0.vqh"
-#include "books/coupled/_44c1_s0_p3_0.vqh"
-#include "books/coupled/_44c1_s0_p4_0.vqh"
-#include "books/coupled/_44c1_s0_p4_1.vqh"
-#include "books/coupled/_44c1_s0_p5_0.vqh"
-#include "books/coupled/_44c1_s0_p6_0.vqh"
-#include "books/coupled/_44c1_s2_p6_0.vqh"
-#include "books/coupled/_44c1_s0_p7_0.vqh"
-#include "books/coupled/_44c1_s0_p7_1.vqh"
-#include "books/coupled/_44c1_s0_p7_2.vqh"
-
-#include "books/coupled/_44c2_short.vqh"
-#include "books/coupled/_44c2_long.vqh"
-
-#include "books/coupled/_44c2_s0_p1_0.vqh"
-#include "books/coupled/_44c2_s0_p2_0.vqh"
-#include "books/coupled/_44c2_s0_p3_0.vqh"
-#include "books/coupled/_44c2_s0_p4_0.vqh"
-#include "books/coupled/_44c2_s0_p4_1.vqh"
-#include "books/coupled/_44c2_s0_p5_0.vqh"
-#include "books/coupled/_44c2_s0_p6_0.vqh"
-#include "books/coupled/_44c2_s0_p7_0.vqh"
-#include "books/coupled/_44c2_s0_p7_1.vqh"
-#include "books/coupled/_44c2_s0_p7_2.vqh"
-
-#include "books/coupled/_44c3_short.vqh"
-#include "books/coupled/_44c3_long.vqh"
-
-#include "books/coupled/_44c3_s0_p1_0.vqh"
-#include "books/coupled/_44c3_s0_p2_0.vqh"
-#include "books/coupled/_44c3_s0_p3_0.vqh"
-#include "books/coupled/_44c3_s0_p4_0.vqh"
-#include "books/coupled/_44c3_s0_p4_1.vqh"
-#include "books/coupled/_44c3_s0_p5_0.vqh"
-#include "books/coupled/_44c3_s0_p6_0.vqh"
-#include "books/coupled/_44c3_s0_p7_0.vqh"
-#include "books/coupled/_44c3_s0_p7_1.vqh"
-#include "books/coupled/_44c3_s0_p7_2.vqh"
-
#include "books/coupled/_44c4_s_short.vqh"
#include "books/coupled/_44c4_s_long.vqh"
@@ -174,441 +83,62 @@
#include "books/coupled/_44c4_sm_short.vqh"
#include "books/coupled/_44c4_sm_long.vqh"
-#include "books/coupled/_44c4_sm_p1_0.vqh"
-#include "books/coupled/_44c4_sm_p2_0.vqh"
-#include "books/coupled/_44c4_sm_p3_0.vqh"
-#include "books/coupled/_44c4_sm_p4_0.vqh"
-#include "books/coupled/_44c4_sm_p5_0.vqh"
-#include "books/coupled/_44c4_sm_p6_0.vqh"
-#include "books/coupled/_44c4_sm_p7_0.vqh"
-#include "books/coupled/_44c4_sm_p7_1.vqh"
-#include "books/coupled/_44c4_sm_p8_0.vqh"
-#include "books/coupled/_44c4_sm_p8_1.vqh"
-#include "books/coupled/_44c4_sm_p9_0.vqh"
-#include "books/coupled/_44c4_sm_p9_1.vqh"
-#include "books/coupled/_44c4_sm_p9_2.vqh"
-
-
-#include "books/coupled/_44c5_short.vqh"
-#include "books/coupled/_44c5_long.vqh"
-
-#include "books/coupled/_44c5_s0_p1_0.vqh"
-#include "books/coupled/_44c5_s0_p2_0.vqh"
-#include "books/coupled/_44c5_s0_p3_0.vqh"
-#include "books/coupled/_44c5_s0_p4_0.vqh"
-#include "books/coupled/_44c5_s0_p5_0.vqh"
-#include "books/coupled/_44c5_s0_p6_0.vqh"
-#include "books/coupled/_44c5_s0_p7_0.vqh"
-#include "books/coupled/_44c5_s0_p7_1.vqh"
-#include "books/coupled/_44c5_s0_p8_0.vqh"
-#include "books/coupled/_44c5_s0_p8_1.vqh"
-#include "books/coupled/_44c5_s0_p9_0.vqh"
-#include "books/coupled/_44c5_s0_p9_1.vqh"
-#include "books/coupled/_44c5_s0_p9_2.vqh"
-
-#include "books/coupled/_44c6_short.vqh"
-#include "books/coupled/_44c6_long.vqh"
-
-#include "books/coupled/_44c6_s0_p1_0.vqh"
-#include "books/coupled/_44c6_s0_p2_0.vqh"
-#include "books/coupled/_44c6_s0_p3_0.vqh"
-#include "books/coupled/_44c6_s0_p4_0.vqh"
-#include "books/coupled/_44c6_s0_p5_0.vqh"
-#include "books/coupled/_44c6_s0_p6_0.vqh"
-#include "books/coupled/_44c6_s0_p7_0.vqh"
-#include "books/coupled/_44c6_s0_p7_1.vqh"
-#include "books/coupled/_44c6_s0_p8_0.vqh"
-#include "books/coupled/_44c6_s0_p8_1.vqh"
-#include "books/coupled/_44c6_s0_p9_0.vqh"
-#include "books/coupled/_44c6_s0_p9_1.vqh"
-#include "books/coupled/_44c6_s0_p9_2.vqh"
-
-#include "books/coupled/_44c7_short.vqh"
-#include "books/coupled/_44c7_long.vqh"
-
-#include "books/coupled/_44c7_s0_p1_0.vqh"
-#include "books/coupled/_44c7_s0_p1_1.vqh"
-#include "books/coupled/_44c7_s0_p2_0.vqh"
-#include "books/coupled/_44c7_s0_p2_1.vqh"
-#include "books/coupled/_44c7_s0_p3_0.vqh"
-#include "books/coupled/_44c7_s0_p4_0.vqh"
-#include "books/coupled/_44c7_s0_p5_0.vqh"
-#include "books/coupled/_44c7_s0_p6_0.vqh"
-#include "books/coupled/_44c7_s0_p6_1.vqh"
-#include "books/coupled/_44c7_s0_p7_0.vqh"
-#include "books/coupled/_44c7_s0_p7_1.vqh"
-#include "books/coupled/_44c7_s0_p8_0.vqh"
-#include "books/coupled/_44c7_s0_p8_1.vqh"
-#include "books/coupled/_44c7_s0_p9_0.vqh"
-#include "books/coupled/_44c7_s0_p9_1.vqh"
-#include "books/coupled/_44c7_s0_p9_2.vqh"
-
-#include "books/coupled/_44c8_short.vqh"
-#include "books/coupled/_44c8_long.vqh"
-
-#include "books/coupled/_44c8_s0_p1_0.vqh"
-#include "books/coupled/_44c8_s0_p1_1.vqh"
-#include "books/coupled/_44c8_s0_p2_0.vqh"
-#include "books/coupled/_44c8_s0_p2_1.vqh"
-#include "books/coupled/_44c8_s0_p3_0.vqh"
-#include "books/coupled/_44c8_s0_p4_0.vqh"
-#include "books/coupled/_44c8_s0_p5_0.vqh"
-#include "books/coupled/_44c8_s0_p6_0.vqh"
-#include "books/coupled/_44c8_s0_p6_1.vqh"
-#include "books/coupled/_44c8_s0_p7_0.vqh"
-#include "books/coupled/_44c8_s0_p7_1.vqh"
-#include "books/coupled/_44c8_s0_p8_0.vqh"
-#include "books/coupled/_44c8_s0_p8_1.vqh"
-#include "books/coupled/_44c8_s0_p9_0.vqh"
-#include "books/coupled/_44c8_s0_p9_1.vqh"
-#include "books/coupled/_44c8_s0_p9_2.vqh"
-
-#include "books/coupled/_44c9_short.vqh"
-#include "books/coupled/_44c9_long.vqh"
-
-#include "books/coupled/_44c9_s0_p1_0.vqh"
-#include "books/coupled/_44c9_s0_p1_1.vqh"
-#include "books/coupled/_44c9_s0_p2_0.vqh"
-#include "books/coupled/_44c9_s0_p2_1.vqh"
-#include "books/coupled/_44c9_s0_p3_0.vqh"
-#include "books/coupled/_44c9_s0_p4_0.vqh"
-#include "books/coupled/_44c9_s0_p5_0.vqh"
-#include "books/coupled/_44c9_s0_p6_0.vqh"
-#include "books/coupled/_44c9_s0_p6_1.vqh"
-#include "books/coupled/_44c9_s0_p7_0.vqh"
-#include "books/coupled/_44c9_s0_p7_1.vqh"
-#include "books/coupled/_44c9_s0_p8_0.vqh"
-#include "books/coupled/_44c9_s0_p8_1.vqh"
-#include "books/coupled/_44c9_s0_p9_0.vqh"
-#include "books/coupled/_44c9_s0_p9_1.vqh"
-#include "books/coupled/_44c9_s0_p9_2.vqh"
-
-/* residue backfill is entered in the template array as if stereo
- backfill is not in use. It's up to vorbisenc to make the
- appropriate index adjustment */
-static vorbis_residue_template _residue_template_44_stereo[10]={
- /* mode 0; 64-ish */
- /* XXXXX mode 4; 128-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
- {&_huff_book__44c4_sm_short,&_huff_book__44c4_sm_long},
- {
- {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
- {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
- {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
- {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
- },
- },
-
- /* mode 1; 80-ish */
- {{&_residue_44_low, &_residue_44_low},
- {&_huff_book__44c1_short,&_huff_book__44c1_long},
- {&_huff_book__44c1_short,&_huff_book__44c1_long},
- {
- {0},{0,0,&_44c1_s0_p1_0},{0,0,&_44c1_s0_p2_0},{0,0,&_44c1_s0_p3_0},
- {&_44c1_s0_p4_0,&_44c1_s0_p4_1},{0,0,&_44c1_s0_p5_0},{0,0,&_44c1_s0_p6_0},
- {&_44c1_s0_p7_0,&_44c1_s0_p7_1,&_44c1_s0_p7_2}
- },
- },
- /* mode 2; 96-ish */
- {{&_residue_44_low, &_residue_44_low},
- {&_huff_book__44c2_short,&_huff_book__44c2_long},
- {&_huff_book__44c2_short,&_huff_book__44c2_long},
- {
- {0},{0,0,&_44c2_s0_p1_0},{0,0,&_44c2_s0_p2_0},{0,0,&_44c2_s0_p3_0},
- {&_44c2_s0_p4_0,&_44c2_s0_p4_1},{0,0,&_44c2_s0_p5_0},{0,0,&_44c2_s0_p6_0},
- {&_44c2_s0_p7_0,&_44c2_s0_p7_1,&_44c2_s0_p7_2}
- },
- },
- /* mode 3; 112-ish */
- {{&_residue_44_low, &_residue_44_low},
- {&_huff_book__44c3_short,&_huff_book__44c3_long},
- {&_huff_book__44c3_short,&_huff_book__44c3_long},
- {
- {0},{0,0,&_44c3_s0_p1_0},{0,0,&_44c3_s0_p2_0},{0,0,&_44c3_s0_p3_0},
- {&_44c3_s0_p4_0,&_44c3_s0_p4_1},{0,0,&_44c3_s0_p5_0},{0,0,&_44c3_s0_p6_0},
- {&_44c3_s0_p7_0,&_44c3_s0_p7_1,&_44c3_s0_p7_2}
- },
- },
-
- /* mode 4; 128-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
- {&_huff_book__44c4_sm_short,&_huff_book__44c4_sm_long},
- {
- {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
- {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
- {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
- {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
- },
- },
-
- /* mode 5; 160-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c5_short,&_huff_book__44c5_long},
- {&_huff_book__44c5_short,&_huff_book__44c5_long},
- {
- {0},{0,0,&_44c5_s0_p1_0},{0,0,&_44c5_s0_p2_0},{0,0,&_44c5_s0_p3_0},
- {0,0,&_44c5_s0_p4_0},{0,0,&_44c5_s0_p5_0},{0,0,&_44c5_s0_p6_0},
- {&_44c5_s0_p7_0,&_44c5_s0_p7_1},{&_44c5_s0_p8_0,&_44c5_s0_p8_1},
- {&_44c5_s0_p9_0,&_44c5_s0_p9_1,&_44c5_s0_p9_2}
- },
- },
-
- /* mode 6; 192-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c6_short,&_huff_book__44c6_long},
- {&_huff_book__44c6_short,&_huff_book__44c6_long},
- {
- {0},{0,0,&_44c6_s0_p1_0},{0,0,&_44c6_s0_p2_0},{0,0,&_44c6_s0_p3_0},
- {0,0,&_44c6_s0_p4_0},{0,0,&_44c6_s0_p5_0},{0,0,&_44c6_s0_p6_0},
- {&_44c6_s0_p7_0,&_44c6_s0_p7_1},{&_44c6_s0_p8_0,&_44c6_s0_p8_1},
- {&_44c6_s0_p9_0,&_44c6_s0_p9_1,&_44c6_s0_p9_2}
- },
- },
-
- /* mode 7; 224-ish */
- {{&_residue_44_high, &_residue_44_high},
- {&_huff_book__44c7_short,&_huff_book__44c7_long},
- {&_huff_book__44c7_short,&_huff_book__44c7_long},
- {
- {0},{&_44c7_s0_p1_0,&_44c7_s0_p1_1},
- {&_44c7_s0_p2_0,&_44c7_s0_p2_1},
- {0,0,&_44c7_s0_p3_0},{0,0,&_44c7_s0_p4_0},{0,0,&_44c7_s0_p5_0},
- {&_44c7_s0_p6_0,&_44c7_s0_p6_1},
- {&_44c7_s0_p7_0,&_44c7_s0_p7_1},
- {&_44c7_s0_p8_0,&_44c7_s0_p8_1},
- {&_44c7_s0_p9_0,&_44c7_s0_p9_1,&_44c7_s0_p9_2}
- },
- },
-
- /* mode 8; 256-ish */
- {{&_residue_44_high, &_residue_44_high},
- {&_huff_book__44c8_short,&_huff_book__44c8_long},
- {&_huff_book__44c8_short,&_huff_book__44c8_long},
- {
- {0},{&_44c8_s0_p1_0,&_44c8_s0_p1_1},
- {&_44c8_s0_p2_0,&_44c8_s0_p2_1},
- {0,0,&_44c8_s0_p3_0},{0,0,&_44c8_s0_p4_0},{0,0,&_44c8_s0_p5_0},
- {&_44c8_s0_p6_0,&_44c8_s0_p6_1},
- {&_44c8_s0_p7_0,&_44c8_s0_p7_1},
- {&_44c8_s0_p8_0,&_44c8_s0_p8_1},
- {&_44c8_s0_p9_0,&_44c8_s0_p9_1,&_44c8_s0_p9_2}
- },
- },
- /* mode 9; 320-ish */
- {{&_residue_44_high, &_residue_44_high},
- {&_huff_book__44c9_short,&_huff_book__44c9_long},
- {&_huff_book__44c9_short,&_huff_book__44c9_long},
- {
- {0},{&_44c9_s0_p1_0,&_44c9_s0_p1_1},
- {&_44c9_s0_p2_0,&_44c9_s0_p2_1},
- {0,0,&_44c9_s0_p3_0},{0,0,&_44c9_s0_p4_0},{0,0,&_44c9_s0_p5_0},
- {&_44c9_s0_p6_0,&_44c9_s0_p6_1},
- {&_44c9_s0_p7_0,&_44c9_s0_p7_1},
- {&_44c9_s0_p8_0,&_44c9_s0_p8_1},
- {&_44c9_s0_p9_0,&_44c9_s0_p9_1,&_44c9_s0_p9_2}
- },
- }
-};
-
-#include "books/uncoupled/_44u0_p1_0.vqh"
-#include "books/uncoupled/_44u0_p2_0.vqh"
-#include "books/uncoupled/_44u0_p3_0.vqh"
-#include "books/uncoupled/_44u0_p4_0.vqh"
-#include "books/uncoupled/_44u0_p4_1.vqh"
-#include "books/uncoupled/_44u0_p5_0.vqh"
-#include "books/uncoupled/_44u0_p6_0.vqh"
-#include "books/uncoupled/_44u0_p7_0.vqh"
-#include "books/uncoupled/_44u0_p7_1.vqh"
-#include "books/uncoupled/_44u0_p7_2.vqh"
-
-#include "books/uncoupled/_44u4_p1_0.vqh"
-#include "books/uncoupled/_44u4_p2_0.vqh"
-#include "books/uncoupled/_44u4_p3_0.vqh"
-#include "books/uncoupled/_44u4_p4_0.vqh"
-#include "books/uncoupled/_44u4_p5_0.vqh"
-#include "books/uncoupled/_44u4_p6_0.vqh"
-#include "books/uncoupled/_44u4_p7_0.vqh"
-#include "books/uncoupled/_44u4_p7_1.vqh"
-#include "books/uncoupled/_44u4_p8_0.vqh"
-#include "books/uncoupled/_44u4_p8_1.vqh"
-#include "books/uncoupled/_44u4_p9_0.vqh"
-#include "books/uncoupled/_44u4_p9_1.vqh"
-#include "books/uncoupled/_44u4_p9_2.vqh"
-
-#include "books/uncoupled/_44u7_p1_0.vqh"
-#include "books/uncoupled/_44u7_p2_0.vqh"
-#include "books/uncoupled/_44u7_p2_1.vqh"
-#include "books/uncoupled/_44u7_p3_0.vqh"
-#include "books/uncoupled/_44u7_p4_0.vqh"
-#include "books/uncoupled/_44u7_p5_0.vqh"
-#include "books/uncoupled/_44u7_p6_0.vqh"
-#include "books/uncoupled/_44u7_p7_0.vqh"
-#include "books/uncoupled/_44u7_p7_1.vqh"
-#include "books/uncoupled/_44u7_p8_0.vqh"
-#include "books/uncoupled/_44u7_p8_1.vqh"
-#include "books/uncoupled/_44u7_p9_0.vqh"
-#include "books/uncoupled/_44u7_p9_1.vqh"
-#include "books/uncoupled/_44u7_p9_2.vqh"
-
-static vorbis_residue_template _residue_template_44_uncoupled[10]={
- /* mode 0; 40/c-ish */
- {{&_residue_44_low_un, &_residue_44_low_un},
- {&_huff_book__44c0_short,&_huff_book__44c0_long},
- {&_huff_book__44c0_short,&_huff_book__44c0_long},
- { {0},
- {0,0,&_44u0_p1_0},
- {0,0,&_44u0_p2_0},
- {0,0,&_44u0_p3_0},
- {&_44u0_p4_0,&_44u0_p4_1},
- {0,0,&_44u0_p5_0},
- {0,0,&_44u0_p6_0},
- {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
- },
- },
- /* mode 1; 50-ish */
- {{&_residue_44_low_un, &_residue_44_low_un},
- {&_huff_book__44c1_short,&_huff_book__44c1_long},
- {&_huff_book__44c1_short,&_huff_book__44c1_long},
- { {0},
- {0,0,&_44u0_p1_0},
- {0,0,&_44u0_p2_0},
- {0,0,&_44u0_p3_0},
- {&_44u0_p4_0,&_44u0_p4_1},
- {0,0,&_44u0_p5_0},
- {0,0,&_44u0_p6_0},
- {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
- },
- },
- /* mode 2; 60-ish */
- {{&_residue_44_low_un, &_residue_44_low_un},
- {&_huff_book__44c2_short,&_huff_book__44c2_long},
- {&_huff_book__44c2_short,&_huff_book__44c2_long},
- { {0},
- {0,0,&_44u0_p1_0},
- {0,0,&_44u0_p2_0},
- {0,0,&_44u0_p3_0},
- {&_44u0_p4_0,&_44u0_p4_1},
- {0,0,&_44u0_p5_0},
- {0,0,&_44u0_p6_0},
- {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
- },
- },
- /* mode 3; 70-ish */
- {{&_residue_44_low_un, &_residue_44_low_un},
- {&_huff_book__44c3_short,&_huff_book__44c3_long},
- {&_huff_book__44c3_short,&_huff_book__44c3_long},
- { {0},
- {0,0,&_44u0_p1_0},
- {0,0,&_44u0_p2_0},
- {0,0,&_44u0_p3_0},
- {&_44u0_p4_0,&_44u0_p4_1},
- {0,0,&_44u0_p5_0},
- {0,0,&_44u0_p6_0},
- {&_44u0_p7_0,&_44u0_p7_1,&_44u0_p7_2},
- },
- },
- /* mode 4; 80-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
- {&_huff_book__44c4_s_short,&_huff_book__44c4_s_long},
- { {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},
- {0,0,&_44u4_p6_0},
- {&_44u4_p7_0,&_44u4_p7_1},
- {&_44u4_p8_0,&_44u4_p8_1},
- {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
- },
- },
- /* mode 5; 90-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c5_short,&_huff_book__44c5_long},
- {&_huff_book__44c5_short,&_huff_book__44c5_long},
- { {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},
- {0,0,&_44u4_p6_0},
- {&_44u4_p7_0,&_44u4_p7_1},
- {&_44u4_p8_0,&_44u4_p8_1},
- {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
- },
- },
- /* mode 6; 100-ish */
- {{&_residue_44_mid, &_residue_44_mid},
- {&_huff_book__44c6_short,&_huff_book__44c6_long},
- {&_huff_book__44c6_short,&_huff_book__44c6_long},
- { {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},
- {0,0,&_44u4_p6_0},
- {&_44u4_p7_0,&_44u4_p7_1},
- {&_44u4_p8_0,&_44u4_p8_1},
- {&_44u4_p9_0,&_44u4_p9_1,&_44u4_p9_2},
- },
- },
- /* mode 7 */
- {{&_residue_44_high_un, &_residue_44_high_un},
- {&_huff_book__44c7_short,&_huff_book__44c7_long},
- {&_huff_book__44c7_short,&_huff_book__44c7_long},
- { {0},
- {0,0,&_44u7_p1_0},
- {&_44u7_p2_0,&_44u7_p2_1},
- {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},
- },
- },
- /* mode 8 */
- {{&_residue_44_high_un, &_residue_44_high_un},
- {&_huff_book__44c8_short,&_huff_book__44c8_long},
- {&_huff_book__44c8_short,&_huff_book__44c8_long},
- { {0},
- {0,0,&_44u7_p1_0},
- {&_44u7_p2_0,&_44u7_p2_1},
- {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},
- },
- },
- /* mode 9 */
- {{&_residue_44_high_un, &_residue_44_high_un},
- {&_huff_book__44c9_short,&_huff_book__44c9_long},
- {&_huff_book__44c9_short,&_huff_book__44c9_long},
- { {0},
- {0,0,&_44u7_p1_0},
- {&_44u7_p2_0,&_44u7_p2_1},
- {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},
- },
- },
+/* 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[2]={
+ {1, {0,0}, {0}, {0}, 1,{0},{1}},
+ {1, {0,0}, {1}, {1}, 1,{0},{1}}
+};
+
+static static_bookblock _resbook_44s_4={
+ {
+ {0},{0,0,&_44c4_s_p1_0},{0,0,&_44c4_s_p2_0},{0,0,&_44c4_s_p3_0},
+ {0,0,&_44c4_s_p4_0},{0,0,&_44c4_s_p5_0},{0,0,&_44c4_s_p6_0},
+ {&_44c4_s_p7_0,&_44c4_s_p7_1},{&_44c4_s_p8_0,&_44c4_s_p8_1},
+ {&_44c4_s_p9_0,&_44c4_s_p9_1,&_44c4_s_p9_2}
+ }
+};
+
+static static_bookblock _resbook_44s_0={
+ {
+ {0},
+ {0,0,&_44c0_s_p1_0},{0,0,&_44c0_s_p2_0},
+ {0,&_44c0_s_p3_0}, {0,&_44c0_s_p4_0},
+ {0,&_44c0_s_p5_0}, {0,&_44c0_s_p6_0},
+ {0,&_44c0_s_p7_0}, {0,&_44c0_s_p8_0},
+ {&_44c0_s_p9_0,&_44c0_s_p9_1},
+ {&_44c0_s_p10_0,&_44c0_s_p10_1},
+ {&_44c0_s_p11_0,&_44c0_s_p11_1}
+ }
+};
+
+static vorbis_residue_template _res_44s_4[]={
+ {2,0, &_residue_44_mid,
+ &_huff_book__44c4_s_short,&_huff_book__44c4_sm_short,&_resbook_44s_4},
+
+ {2,0, &_residue_44_mid,
+ &_huff_book__44c4_s_long,&_huff_book__44c4_sm_long,&_resbook_44s_4}
+};
+
+static vorbis_residue_template _res_44s_0[]={
+ {2,0, &_residue_44_lo,
+ &_huff_book__44c0_s_short,&_huff_book__44c0_s_short,&_resbook_44s_0},
+
+ {2,0, &_residue_44_lo,
+ &_huff_book__44c0_s_long,&_huff_book__44c0_s_long,&_resbook_44s_0}
+};
+
+static vorbis_mapping_template _mapres_template_44_stereo[]={
+ { _map_nominal, _res_44s_4 }, /* 0 */
+ { _map_nominal, _res_44s_4 }, /* 1 */
+ { _map_nominal, _res_44s_4 }, /* 2 */
+ { _map_nominal, _res_44s_4 }, /* 3 */
+ { _map_nominal, _res_44s_4 }, /* 4 */
+ { _map_nominal, _res_44s_4 }, /* 5 */
+ { _map_nominal, _res_44s_4 }, /* 6 */
+ { _map_nominal, _res_44s_4 }, /* 7 */
+ { _map_nominal, _res_44s_4 }, /* 8 */
+ { _map_nominal, _res_44s_4 }, /* 9 */
};
-
-
-
-
-
<p><p>No revision
<p>No revision
<p>1.2.6.1 +47 -61 vorbis/vq/44c0.vqs
Index: 44c0.vqs
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/44c0.vqs,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -u -r1.2 -r1.2.6.1
--- 44c0.vqs 2001/12/19 01:10:28 1.2
+++ 44c0.vqs 2002/06/24 00:06:06 1.2.6.1
@@ -1,74 +1,60 @@
-cp 44c0_s0/resaux_short.vqd _44c0_short.vqd
-cp 44c0_s0/resaux_long.vqd _44c0_long.vqd
+cp 44c0_s/resaux_0.vqd _44c0_s_short.vqd
+cp 44c0_s/resaux_1.vqd _44c0_s_long.vqd
+cat 44c0_s/res0_part1_pass2.vqd 44c0_s/res1_part1_pass2.vqd > 44c0_s/res_1_2.vqd
+cat 44c0_s/res0_part2_pass2.vqd 44c0_s/res1_part2_pass2.vqd > 44c0_s/res_2_2.vqd
+cat 44c0_s/res0_part3_pass1.vqd 44c0_s/res1_part3_pass1.vqd > 44c0_s/res_3_1.vqd
+cat 44c0_s/res0_part4_pass1.vqd 44c0_s/res1_part4_pass1.vqd > 44c0_s/res_4_1.vqd
+cat 44c0_s/res0_part5_pass1.vqd 44c0_s/res1_part5_pass1.vqd > 44c0_s/res_5_1.vqd
+cat 44c0_s/res0_part6_pass1.vqd 44c0_s/res1_part6_pass1.vqd > 44c0_s/res_6_1.vqd
+cat 44c0_s/res0_part7_pass1.vqd 44c0_s/res1_part7_pass1.vqd > 44c0_s/res_7_1.vqd
+cat 44c0_s/res0_part8_pass1.vqd 44c0_s/res1_part8_pass1.vqd > 44c0_s/res_8_1.vqd
+cat 44c0_s/res0_part9_pass0.vqd 44c0_s/res1_part9_pass0.vqd > 44c0_s/res_9_0.vqd
+cat 44c0_s/res0_part9_pass1.vqd 44c0_s/res1_part9_pass1.vqd > 44c0_s/res_9_1.vqd
+cat 44c0_s/res0_part10_pass0.vqd 44c0_s/res1_part10_pass0.vqd > 44c0_s/res_10_0.vqd
+cat 44c0_s/res0_part10_pass1.vqd 44c0_s/res1_part10_pass1.vqd > 44c0_s/res_10_1.vqd
+cat 44c0_s/res0_part11_pass0.vqd 44c0_s/res1_part11_pass0.vqd > 44c0_s/res_11_0.vqd
+cat 44c0_s/res0_part11_pass1.vqd 44c0_s/res1_part11_pass1.vqd > 44c0_s/res_11_1.vqd
GO
->_44c0s noninterleaved
-haux _44c0_short.vqd 0,12,2
+>_44c0s_s noninterleaved
+haux _44c0_s_short.vqd 0,16,2
->_44c0 noninterleaved
-haux _44c0_long.vqd 0,44,2
-
-#iter 0
-
-# 0 1 2 4 26 1 4 +
-# 0 0 0 0
-#
-# 0 1 2 3 4 5 6 7
-# 1 . .
-# 2 . .
-# 4 . . . . . .
-
-:_s0_p1_0 44c0_s0/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s0_p2_0 44c0_s0/res_part2_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s0_p3_0 44c0_s0/res_part3_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s0_p4_0 44c0_s0/res_part4_pass0.vqd, 2, nonseq, 0 +- 7 14 21 28 35 42 49
-:_s0_p4_1 44c0_s0/res_part4_pass1.vqd, 2, nonseq cull, 0 +- 1 2 3
-
-:_s0_p5_0 44c0_s0/res_part5_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s1_p5_0 44c0_s1/res_part5_pass2.vqd, 4, nonseq cull, 0 +- 1
-
-:_s0_p6_0 44c0_s0/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s1_p6_0 44c0_s1/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p6_0 44c0_s2/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-
-:_s0_p7_0 44c0_s0/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201
-:_s0_p7_1 44c0_s0/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s0_p7_2 44c0_s0/res_part7_pass2.vqd, 4, nonseq, 0 +- 1
+>_44c0_s noninterleaved
+haux _44c0_s_long.vqd 0,64,2
-:_s1_p7_0 44c0_s1/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201
-:_s1_p7_1 44c0_s1/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s1_p7_2 44c0_s1/res_part7_pass2.vqd, 4, nonseq, 0 +- 1
-
-:_s2_p7_0 44c0_s2/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201
-:_s2_p7_1 44c0_s2/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s2_p7_2 44c0_s2/res_part7_pass2.vqd, 4, nonseq, 0 +- 1
-
-:_s3_p7_0 44c0_s3/res_part7_pass0.vqd, 2, nonseq, 0 +- 67 134 201
-:_s3_p7_1 44c0_s3/res_part7_pass1.vqd, 2, nonseq, 0 +- 3 6 9 12 15 18 21 24 27 30 33
-:_s3_p7_2 44c0_s3/res_part7_pass2.vqd, 4, nonseq, 0 +- 1
-
-#iter 1 (stereo 3(8.)->2 2(4.)->1 1(2.)->0) shared for all 'low' modes
-
-:_s1_p5_s0 44cL_s1/res_part5_pass3.vqd, 2, nonseq, 0 +- 1 2
-:_s1_p6_s0 44cL_s1/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4
-:_s1_p7_s0 44cL_s1/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4
+ { .5, 1.5, 1.5, 2.5, 2.5, 4.5, 4.5, 8.5, 8.5, 16.5, 32.5},
+ { .5, .5, 999., .5, 999., .5, 4.5, .5, 8.5, 16.5, 32.5},
+
+# 0 1 1 2 2 4 4 8 8 16 32 +
+# 0 99 0 99 0 4 0 8 16 32 +
-:_s2_p6_s0 44cL_s2/res_part6_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
-:_s2_p7_s0 44cL_s2/res_part7_pass3.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8
+# 0 1 2 3 4 5 6 7 8 9 10 11
+# 1 . . .
+# 2 . . . . . . . . .
+# 4 . .
+
+:_p1_0 44c0_s/res_1_2.vqd, 8, nonseq cull, 0 +- 1
+:_p2_0 44c0_s/res_2_2.vqd, 4, nonseq cull, 0 +- 1 2
+
+:_p3_0 44c0_s/res_3_1.vqd, 4, nonseq cull, 0 +- 1 2
+:_p4_0 44c0_s/res_4_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+
+:_p5_0 44c0_s/res_5_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p6_0 44c0_s/res_6_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+
+:_p7_0 44c0_s/res_7_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
+:_p8_0 44c0_s/res_8_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s3_p7_s0 44cL_s3/res_part7_pass3.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+:_p9_0 44c4_s/res_9_0.vqd, 4, nonseq cull, 0 +- 11
+:_p9_1 44c4_s/res_9_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5
-#iter 2 (residue backfill) shared for all 'low' modes
+:_p10_0 44c0_s/res_10_0.vqd, 2, nonseq, 0 +- 5 10 15 20 25 30
+:_p10_1 44c0_s/res_10_1.vqd, 2, nonseq, 0 +- 1 2
-:_s0_p0_r0 44cL_s0/res_part0_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s0_pN_r0 44cL_s0/res_partN_r0.vqd, 2, nonseq, 0 +- .333333333 .666666667
-:_s1_pS_r0 44cL_s1/res_partS_r0.vqd, 2, nonseq, 0 +- .333333333
+:_p11_0 44c0_s/res_11_0.vqd, 2, nonseq, 0 +- 21 42 63 84 105 126 147 168
+:_p11_1 44c0_s/res_11_1.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6 7 8 9 10
-#iter 3 (residue backfill)
-:_s0_p0_r1 44cL_s0/res_part0_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s0_pN_r1 44cL_s0/res_partN_r1.vqd, 2, nonseq, 0 +- .111111111 .222222222
-:_s1_pS_r1 44cL_s1/res_partS_r1.vqd, 2, nonseq, 0 +- .111111111
<p><p>1.2.6.2 +36 -40 vorbis/vq/44c4.vqs
Index: 44c4.vqs
===================================================================
RCS file: /usr/local/cvsroot/vorbis/vq/44c4.vqs,v
retrieving revision 1.2.6.1
retrieving revision 1.2.6.2
diff -u -r1.2.6.1 -r1.2.6.2
--- 44c4.vqs 2002/05/31 00:16:18 1.2.6.1
+++ 44c4.vqs 2002/06/24 00:06:06 1.2.6.2
@@ -1,62 +1,58 @@
cp 44c4_s/resaux_0.vqd _44c4_s_short.vqd
cp 44c4_s/resaux_1.vqd _44c4_s_long.vqd
-cp 44c4_sm/resaux_0.vqd _44c4_sm_short.vqd
-cp 44c4_sm/resaux_1.vqd _44c4_sm_long.vqd
+#cp 44c4_sm/resaux_0.vqd _44c4_sm_short.vqd
+#cp 44c4_sm/resaux_1.vqd _44c4_sm_long.vqd
+cat 44c4_s/res0_part1_pass2.vqd 44c4_s/res1_part1_pass2.vqd > 44c4_s/res_1_2.vqd
+cat 44c4_s/res0_part2_pass2.vqd 44c4_s/res1_part2_pass2.vqd > 44c4_s/res_2_2.vqd
+cat 44c4_s/res0_part3_pass2.vqd 44c4_s/res1_part3_pass2.vqd > 44c4_s/res_3_2.vqd
+cat 44c4_s/res0_part4_pass2.vqd 44c4_s/res1_part4_pass2.vqd > 44c4_s/res_4_2.vqd
+cat 44c4_s/res0_part5_pass2.vqd 44c4_s/res1_part5_pass2.vqd > 44c4_s/res_5_2.vqd
+cat 44c4_s/res0_part6_pass2.vqd 44c4_s/res1_part6_pass2.vqd > 44c4_s/res_6_2.vqd
+cat 44c4_s/res0_part7_pass0.vqd 44c4_s/res1_part7_pass0.vqd > 44c4_s/res_7_0.vqd
+cat 44c4_s/res0_part7_pass1.vqd 44c4_s/res1_part7_pass1.vqd > 44c4_s/res_7_1.vqd
+cat 44c4_s/res0_part8_pass0.vqd 44c4_s/res1_part8_pass0.vqd > 44c4_s/res_8_0.vqd
+cat 44c4_s/res0_part8_pass1.vqd 44c4_s/res1_part8_pass1.vqd > 44c4_s/res_8_1.vqd
+cat 44c4_s/res0_part9_pass0.vqd 44c4_s/res1_part9_pass0.vqd > 44c4_s/res_9_0.vqd
+cat 44c4_s/res0_part9_pass1.vqd 44c4_s/res1_part9_pass1.vqd > 44c4_s/res_9_1.vqd
+cat 44c4_s/res0_part9_pass2.vqd 44c4_s/res1_part9_pass2.vqd > 44c4_s/res_9_2.vqd
+
GO
->_44c4s noninterleaved
+>_44c4s_s noninterleaved
haux _44c4_s_short.vqd 0,16,2
->_44c4 noninterleaved
+>_44c4_s noninterleaved
haux _44c4_s_long.vqd 0,64,2
#iter 0
# 0 1 1 2 2 4 8 16 32 +
-# 0 99 1 99 4 4 16 32 +
+# 0 99 0 99 4 4 16 32 +
# 0 1 2 3 4 5 6 7 8 9
# 1 . . .
# 2 . . .
# 4 . . . . . . .
-:_s_p1_0 44c4_s/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1
-:_s_p2_0 44c4_s/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s_p3_0 44c4_s/res_part3_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_s_p4_0 44c4_s/res_part4_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s_p5_0 44c4_s/res_part5_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_s_p6_0 44c4_s/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_s_p7_0 44c4_s/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 3 6 9 12 15
-:_s_p7_1 44c4_s/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1
-
-:_s_p8_0 44c4_s/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_s_p8_1 44c4_s/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2
-
-:_s_p9_0 44c4_s/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_s_p9_1 44c4_s/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78
-:_s_p9_2 44c4_s/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
+:_p1_0 44c4_s/res_1_2.vqd, 8, nonseq cull, 0 +- 1
+:_p2_0 44c4_s/res_2_2.vqd, 4, nonseq cull, 0 +- 1 2
+:_p3_0 44c4_s/res_3_2.vqd, 4, nonseq cull, 0 +- 1 2
+:_p4_0 44c4_s/res_4_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p5_0 44c4_s/res_5_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
+:_p6_0 44c4_s/res_6_2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
+
+
+:_p7_0 44c4_s/res_7_0.vqd, 4, nonseq cull, 0 +- 11
+:_p7_1 44c4_s/res_7_1.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5
+
+:_p8_0 44c4_s/res_8_0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
+:_p8_1 44c4_s/res_8_1.vqd, 2, nonseq cull, 0 +- 1 2
+
+:_p9_0 44c4_s/res_9_0.vqd, 4, nonseq, 0 +- 169
+:_p9_1 44c4_s/res_9_1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78
+:_p9_2 44c4_s/res_9_2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
->_44c4s noninterleaved
-haux _44c4_sm_short.vqd 0,16,2
->_44c4 noninterleaved
-haux _44c4_sm_long.vqd 0,64,2
-
-:_sm_p1_0 44c4_sm/res_part1_pass2.vqd, 4, nonseq cull, 0 +- 1
-:_sm_p2_0 44c4_sm/res_part2_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_sm_p3_0 44c4_sm/res_part3_pass2.vqd, 4, nonseq cull, 0 +- 1 2
-:_sm_p4_0 44c4_sm/res_part4_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_sm_p5_0 44c4_sm/res_part5_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4
-:_sm_p6_0 44c4_sm/res_part6_pass2.vqd, 2, nonseq cull, 0 +- 1 2 3 4 5 6 7 8
-:_sm_p7_0 44c4_sm/res_part7_pass0.vqd, 2, nonseq cull, 0 +- 3 6 9 12 15
-:_sm_p7_1 44c4_sm/res_part7_pass1.vqd, 2, nonseq cull, 0 +- 1
-
-:_sm_p8_0 44c4_sm/res_part8_pass0.vqd, 2, nonseq cull, 0 +- 5 10 15 20 25 30
-:_sm_p8_1 44c4_sm/res_part8_pass1.vqd, 2, nonseq cull, 0 +- 1 2
-
-:_sm_p9_0 44c4_sm/res_part9_pass0.vqd, 2, nonseq, 0 +- 169 338 507 676 845 1014
-:_sm_p9_1 44c4_sm/res_part9_pass1.vqd, 2, nonseq, 0 +- 13 26 39 52 65 78
-:_sm_p9_2 44c4_sm/res_part9_pass2.vqd, 2, nonseq, 0 +- 1 2 3 4 5 6
<p><p><p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the commits
mailing list