summaryrefslogtreecommitdiff
path: root/lib/modes
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2010-03-11 07:30:34 +0000
committerMonty <xiphmont@xiph.org>2010-03-11 07:30:34 +0000
commit8ca7e05637cf091470f8e39d686087b38f72c860 (patch)
treee4199c56e27e732afd214fa816d66bd33d3520c4 /lib/modes
parentf375f3cb80bd7f7002e3eb987361922b8e59561a (diff)
downloadlibvorbis-git-8ca7e05637cf091470f8e39d686087b38f72c860.tar.gz
Commit a first cut of 5.1 tuning.
One last thing to try, aside from a longer training run, would be to use pairwise L/R codebooks on uncoupled data in higher q modes, where the 'stereo abuse' strategy worked well, probably due more to codebooks backend than the stereo coupling pairs. svn path=/trunk/vorbis/; revision=16962
Diffstat (limited to 'lib/modes')
-rw-r--r--lib/modes/Makefile.am2
-rw-r--r--lib/modes/floor_all.h36
-rw-r--r--lib/modes/psych_44.h24
-rw-r--r--lib/modes/residue_16.h20
-rw-r--r--lib/modes/residue_44.h44
-rw-r--r--lib/modes/residue_44p51.h451
-rw-r--r--lib/modes/residue_44u.h48
-rw-r--r--lib/modes/residue_8.h8
-rw-r--r--lib/modes/setup_44.h5
-rw-r--r--lib/modes/setup_44p51.h74
-rw-r--r--lib/modes/setup_44u.h2
11 files changed, 616 insertions, 98 deletions
diff --git a/lib/modes/Makefile.am b/lib/modes/Makefile.am
index 279a7f00..5c7ffefa 100644
--- a/lib/modes/Makefile.am
+++ b/lib/modes/Makefile.am
@@ -3,4 +3,4 @@
EXTRA_DIST = floor_all.h psych_44.h residue_44.h setup_11.h setup_32.h \
setup_8.h psych_11.h psych_8.h residue_44u.h setup_16.h \
setup_44.h setup_X.h psych_16.h residue_16.h residue_8.h \
- setup_22.h setup_44u.h
+ setup_22.h setup_44u.h setup_44p51.h residue_44p51.h
diff --git a/lib/modes/floor_all.h b/lib/modes/floor_all.h
index cc17ac82..8d2e585c 100644
--- a/lib/modes/floor_all.h
+++ b/lib/modes/floor_all.h
@@ -145,7 +145,10 @@ static const static_codebook*const _floor_512x17_books[]={
&_huff_book_line_512x17_3sub3,
};
-static const static_codebook*const *const _floor_books[10]={
+static const static_codebook*const _floor_Xx0_books[]={
+};
+
+static const static_codebook*const *const _floor_books[11]={
_floor_128x4_books,
_floor_256x4_books,
_floor_128x7_books,
@@ -156,10 +159,11 @@ static const static_codebook*const *const _floor_books[10]={
_floor_1024x27_books,
_floor_2048x27_books,
_floor_512x17_books,
+ _floor_Xx0_books,
};
-static const vorbis_info_floor1 _floor[10]={
- /* 128 x 4 */
+static const vorbis_info_floor1 _floor[11]={
+ /* 0: 128 x 4 */
{
1,{0},{4},{2},{0},
{{1,2,3,4}},
@@ -167,7 +171,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1.,18., 128
},
- /* 256 x 4 */
+ /* 1: 256 x 4 */
{
1,{0},{4},{2},{0},
{{1,2,3,4}},
@@ -175,7 +179,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1.,18., 256
},
- /* 128 x 7 */
+ /* 2: 128 x 7 */
{
2,{0,1},{3,4},{2,2},{0,1},
{{-1,2,3,4},{-1,5,6,7}},
@@ -183,7 +187,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1.,18., 128
},
- /* 256 x 7 */
+ /* 3: 256 x 7 */
{
2,{0,1},{3,4},{2,2},{0,1},
{{-1,2,3,4},{-1,5,6,7}},
@@ -191,7 +195,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1.,18., 256
},
- /* 128 x 11 */
+ /* 4: 128 x 11 */
{
4,{0,1,2,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
{{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
@@ -200,7 +204,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1,18., 128
},
- /* 128 x 17 */
+ /* 5: 128 x 17 */
{
6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
{{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
@@ -208,7 +212,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1,18., 128
},
- /* 256 x 4 (low bitrate version) */
+ /* 6: 256 x 4 (low bitrate version) */
{
1,{0},{4},{2},{0},
{{1,2,3,4}},
@@ -216,7 +220,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1.,18., 256
},
- /* 1024 x 27 */
+ /* 7: 1024 x 27 */
{
8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
{{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
@@ -225,7 +229,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 3,18., 1024
},
- /* 2048 x 27 */
+ /* 8: 2048 x 27 */
{
8,{0,1,2,2,3,3,4,4},{3,4,3,4,3},{0,1,1,2,2},{-1,0,1,2,3},
{{4},{5,6},{7,8},{-1,9,10,11},{-1,12,13,14}},
@@ -234,7 +238,7 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 3,18., 2048
},
- /* 512 x 17 */
+ /* 9: 512 x 17 */
{
6,{0,1,1,2,3,3},{2,3,3,3},{0,1,2,2},{-1,0,1,2},
{{3},{4,5},{-1,6,7,8},{-1,9,10,11}},
@@ -244,4 +248,12 @@ static const vorbis_info_floor1 _floor[10]={
60,30,500, 1,18., 512
},
+ /* 10: X x 0 (LFE floor; edge posts only) */
+ {
+ 0,{0}, {0},{0},{-1},
+ {{-1}},
+ 2,{0,12},
+ 60,30,500, 1.,18., 10
+ },
+
};
diff --git a/lib/modes/psych_44.h b/lib/modes/psych_44.h
index 4c52f7f3..e46a0f46 100644
--- a/lib/modes/psych_44.h
+++ b/lib/modes/psych_44.h
@@ -530,10 +530,6 @@ static const adj_stereo _psy_stereo_modes_44[12]={
{ 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
-/*{{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0},
- { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3},
- { 1, 2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8},
- { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},*/
{{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0},
{ 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3},
{ 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8},
@@ -548,10 +544,6 @@ static const adj_stereo _psy_stereo_modes_44[12]={
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */
- /* {{ 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 0, 0, 0, 0, 0},
- { 8, 8, 8, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3, 2, 1},
- { 3, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, */
{{ 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0},
{ 8, 8, 6, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 2, 1},
{ 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8},
@@ -567,37 +559,21 @@ static const adj_stereo _psy_stereo_modes_44[12]={
{ 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10},
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */
- /* {{ 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0},
- { 6, 6, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},*/
{{ 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0},
{ 6, 7, 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12},
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
/* 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},
- { 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}}, */
{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
/* 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},
- { 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},*/
{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
{ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
/* 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},
- { 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- { 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
- { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},*/
{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
diff --git a/lib/modes/residue_16.h b/lib/modes/residue_16.h
index 30377dd2..bb28e763 100644
--- a/lib/modes/residue_16.h
+++ b/lib/modes/residue_16.h
@@ -61,25 +61,25 @@ static const static_bookblock _resbook_16s_2={
};
static const vorbis_residue_template _res_16s_0[]={
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__16c0_s_single,&_huff_book__16c0_s_single,
&_resbook_16s_0,&_resbook_16s_0},
};
static const vorbis_residue_template _res_16s_1[]={
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__16c1_s_short,&_huff_book__16c1_s_short,
&_resbook_16s_1,&_resbook_16s_1},
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__16c1_s_long,&_huff_book__16c1_s_long,
&_resbook_16s_1,&_resbook_16s_1}
};
static const vorbis_residue_template _res_16s_2[]={
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__16c2_s_short,&_huff_book__16c2_s_short,
&_resbook_16s_2,&_resbook_16s_2},
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__16c2_s_long,&_huff_book__16c2_s_long,
&_resbook_16s_2,&_resbook_16s_2}
};
@@ -132,25 +132,25 @@ static const static_bookblock _resbook_16u_2={
};
static const vorbis_residue_template _res_16u_0[]={
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__16u0__single,&_huff_book__16u0__single,
&_resbook_16u_0,&_resbook_16u_0},
};
static const vorbis_residue_template _res_16u_1[]={
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__16u1__short,&_huff_book__16u1__short,
&_resbook_16u_1,&_resbook_16u_1},
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__16u1__long,&_huff_book__16u1__long,
&_resbook_16u_1,&_resbook_16u_1}
};
static const vorbis_residue_template _res_16u_2[]={
- {1,0, &_residue_44_hi_un,
+ {1,0,32, &_residue_44_hi_un,
&_huff_book__16u2__short,&_huff_book__16u2__short,
&_resbook_16u_2,&_resbook_16u_2},
- {1,0, &_residue_44_hi_un,
+ {1,0,32, &_residue_44_hi_un,
&_huff_book__16u2__long,&_huff_book__16u2__long,
&_resbook_16u_2,&_resbook_16u_2}
};
diff --git a/lib/modes/residue_44.h b/lib/modes/residue_44.h
index 0e683e92..2e8ad537 100644
--- a/lib/modes/residue_44.h
+++ b/lib/modes/residue_44.h
@@ -177,102 +177,102 @@ static const static_bookblock _resbook_44s_9={
};
static const vorbis_residue_template _res_44s_n1[]={
- {2,0, &_residue_44_low,
+ {2,0,32, &_residue_44_low,
&_huff_book__44cn1_s_short,&_huff_book__44cn1_sm_short,
&_resbook_44s_n1,&_resbook_44sm_n1},
- {2,0, &_residue_44_low,
+ {2,0,32, &_residue_44_low,
&_huff_book__44cn1_s_long,&_huff_book__44cn1_sm_long,
&_resbook_44s_n1,&_resbook_44sm_n1}
};
static const vorbis_residue_template _res_44s_0[]={
- {2,0, &_residue_44_low,
+ {2,0,16, &_residue_44_low,
&_huff_book__44c0_s_short,&_huff_book__44c0_sm_short,
&_resbook_44s_0,&_resbook_44sm_0},
- {2,0, &_residue_44_low,
+ {2,0,32, &_residue_44_low,
&_huff_book__44c0_s_long,&_huff_book__44c0_sm_long,
&_resbook_44s_0,&_resbook_44sm_0}
};
static const vorbis_residue_template _res_44s_1[]={
- {2,0, &_residue_44_low,
+ {2,0,16, &_residue_44_low,
&_huff_book__44c1_s_short,&_huff_book__44c1_sm_short,
&_resbook_44s_1,&_resbook_44sm_1},
- {2,0, &_residue_44_low,
+ {2,0,32, &_residue_44_low,
&_huff_book__44c1_s_long,&_huff_book__44c1_sm_long,
&_resbook_44s_1,&_resbook_44sm_1}
};
static const vorbis_residue_template _res_44s_2[]={
- {2,0, &_residue_44_mid,
+ {2,0,16, &_residue_44_mid,
&_huff_book__44c2_s_short,&_huff_book__44c2_s_short,
&_resbook_44s_2,&_resbook_44s_2},
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__44c2_s_long,&_huff_book__44c2_s_long,
&_resbook_44s_2,&_resbook_44s_2}
};
static const vorbis_residue_template _res_44s_3[]={
- {2,0, &_residue_44_mid,
+ {2,0,16, &_residue_44_mid,
&_huff_book__44c3_s_short,&_huff_book__44c3_s_short,
&_resbook_44s_3,&_resbook_44s_3},
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__44c3_s_long,&_huff_book__44c3_s_long,
&_resbook_44s_3,&_resbook_44s_3}
};
static const vorbis_residue_template _res_44s_4[]={
- {2,0, &_residue_44_mid,
+ {2,0,16, &_residue_44_mid,
&_huff_book__44c4_s_short,&_huff_book__44c4_s_short,
&_resbook_44s_4,&_resbook_44s_4},
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__44c4_s_long,&_huff_book__44c4_s_long,
&_resbook_44s_4,&_resbook_44s_4}
};
static const vorbis_residue_template _res_44s_5[]={
- {2,0, &_residue_44_mid,
+ {2,0,16, &_residue_44_mid,
&_huff_book__44c5_s_short,&_huff_book__44c5_s_short,
&_resbook_44s_5,&_resbook_44s_5},
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__44c5_s_long,&_huff_book__44c5_s_long,
&_resbook_44s_5,&_resbook_44s_5}
};
static const vorbis_residue_template _res_44s_6[]={
- {2,0, &_residue_44_high,
+ {2,0,16, &_residue_44_high,
&_huff_book__44c6_s_short,&_huff_book__44c6_s_short,
&_resbook_44s_6,&_resbook_44s_6},
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__44c6_s_long,&_huff_book__44c6_s_long,
&_resbook_44s_6,&_resbook_44s_6}
};
static const vorbis_residue_template _res_44s_7[]={
- {2,0, &_residue_44_high,
+ {2,0,16, &_residue_44_high,
&_huff_book__44c7_s_short,&_huff_book__44c7_s_short,
&_resbook_44s_7,&_resbook_44s_7},
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__44c7_s_long,&_huff_book__44c7_s_long,
&_resbook_44s_7,&_resbook_44s_7}
};
static const vorbis_residue_template _res_44s_8[]={
- {2,0, &_residue_44_high,
+ {2,0,16, &_residue_44_high,
&_huff_book__44c8_s_short,&_huff_book__44c8_s_short,
&_resbook_44s_8,&_resbook_44s_8},
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__44c8_s_long,&_huff_book__44c8_s_long,
&_resbook_44s_8,&_resbook_44s_8}
};
static const vorbis_residue_template _res_44s_9[]={
- {2,0, &_residue_44_high,
+ {2,0,16, &_residue_44_high,
&_huff_book__44c9_s_short,&_huff_book__44c9_s_short,
&_resbook_44s_9,&_resbook_44s_9},
- {2,0, &_residue_44_high,
+ {2,0,32, &_residue_44_high,
&_huff_book__44c9_s_long,&_huff_book__44c9_s_long,
&_resbook_44s_9,&_resbook_44s_9}
};
diff --git a/lib/modes/residue_44p51.h b/lib/modes/residue_44p51.h
new file mode 100644
index 00000000..103e960d
--- /dev/null
+++ b/lib/modes/residue_44p51.h
@@ -0,0 +1,451 @@
+/********************************************************************
+ * *
+ * 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-2010 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: toplevel residue templates for 32/44.1/48kHz uncoupled
+ last mod: $Id$
+
+ ********************************************************************/
+
+#include "vorbis/codec.h"
+#include "backends.h"
+
+#include "books/coupled/res_books_51.h"
+
+/***** residue backends *********************************************/
+
+static const vorbis_info_residue0 _residue_44p_lo={
+ 0,-1, -1, 7,-1,-1,
+ /* 0 1 2 3 4 5 6 7 8 */
+ {0},
+ {-1},
+ { 0, 1, 2, 7, 17, 31},
+ { 0, 0, 99, 7, 17, 31},
+};
+
+static const vorbis_info_residue0 _residue_44p={
+ 0,-1, -1, 8,-1,-1,
+ /* 0 1 2 3 4 5 6 7 8 */
+ {0},
+ {-1},
+ { 0, 1, 1, 2, 7, 17, 31},
+ { 0, 0, 99, 99, 7, 17, 31},
+};
+
+static const vorbis_info_residue0 _residue_44p_hi={
+ 0,-1, -1, 8,-1,-1,
+ /* 0 1 2 3 4 5 6 7 8 */
+ {0},
+ {-1},
+ { 0, 1, 2, 4, 7, 17, 31},
+ { 0, 1, 2, 4, 7, 17, 31},
+};
+
+static const vorbis_info_residue0 _residue_44p_lfe={
+ 0,-1, -1, 2,-1,-1,
+ /* 0 1 2 3 4 5 6 7 8 */
+ {0},
+ {-1},
+ { 32},
+ { -1}
+};
+
+static const static_bookblock _resbook_44p_n1={
+ {
+ {0},
+ {0,&_44pn1_p1_0},
+
+ {&_44pn1_p2_0,&_44pn1_p2_1,0},
+ {&_44pn1_p3_0,&_44pn1_p3_1,0},
+ {&_44pn1_p4_0,&_44pn1_p4_1,0},
+
+ {&_44pn1_p5_0,&_44pn1_p5_1,&_44pn1_p4_1},
+ {&_44pn1_p6_0,&_44pn1_p6_1,&_44pn1_p6_2},
+ }
+};
+
+static const static_bookblock _resbook_44p_0={
+ {
+ {0},
+ {0,&_44p0_p1_0},
+
+ {&_44p0_p2_0,&_44p0_p2_1,0},
+ {&_44p0_p3_0,&_44p0_p3_1,0},
+ {&_44p0_p4_0,&_44p0_p4_1,0},
+
+ {&_44p0_p5_0,&_44p0_p5_1,&_44p0_p4_1},
+ {&_44p0_p6_0,&_44p0_p6_1,&_44p0_p6_2},
+ }
+};
+
+static const static_bookblock _resbook_44p_1={
+ {
+ {0},
+ {0,&_44p1_p1_0},
+
+ {&_44p1_p2_0,&_44p1_p2_1,0},
+ {&_44p1_p3_0,&_44p1_p3_1,0},
+ {&_44p1_p4_0,&_44p1_p4_1,0},
+
+ {&_44p1_p5_0,&_44p1_p5_1,&_44p1_p4_1},
+ {&_44p1_p6_0,&_44p1_p6_1,&_44p1_p6_2},
+ }
+};
+
+static const static_bookblock _resbook_44p_2={
+ {
+ {0},
+ {0,0,&_44p2_p1_0},
+ {0,&_44p2_p2_0,0},
+
+ {&_44p2_p3_0,&_44p2_p3_1,0},
+ {&_44p2_p4_0,&_44p2_p4_1,0},
+ {&_44p2_p5_0,&_44p2_p5_1,0},
+
+ {&_44p2_p6_0,&_44p2_p6_1,&_44p2_p5_1},
+ {&_44p2_p7_0,&_44p2_p7_1,&_44p2_p7_2,&_44p2_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_3={
+ {
+ {0},
+ {0,0,&_44p3_p1_0},
+ {0,&_44p3_p2_0,0},
+
+ {&_44p3_p3_0,&_44p3_p3_1,0},
+ {&_44p3_p4_0,&_44p3_p4_1,0},
+ {&_44p3_p5_0,&_44p3_p5_1,0},
+
+ {&_44p3_p6_0,&_44p3_p6_1,&_44p3_p5_1},
+ {&_44p3_p7_0,&_44p3_p7_1,&_44p3_p7_2,&_44p3_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_4={
+ {
+ {0},
+ {0,0,&_44p4_p1_0},
+ {0,&_44p4_p2_0,0},
+
+ {&_44p4_p3_0,&_44p4_p3_1,0},
+ {&_44p4_p4_0,&_44p4_p4_1,0},
+ {&_44p4_p5_0,&_44p4_p5_1,0},
+
+ {&_44p4_p6_0,&_44p4_p6_1,&_44p4_p5_1},
+ {&_44p4_p7_0,&_44p4_p7_1,&_44p4_p7_2,&_44p4_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_5={
+ {
+ {0},
+ {0,0,&_44p5_p1_0},
+ {0,&_44p5_p2_0,0},
+
+ {&_44p5_p3_0,&_44p5_p3_1,0},
+ {&_44p5_p4_0,&_44p5_p4_1,0},
+ {&_44p5_p5_0,&_44p5_p5_1,0},
+
+ {&_44p5_p6_0,&_44p5_p6_1,&_44p5_p5_1},
+ {&_44p5_p7_0,&_44p5_p7_1,&_44p5_p7_2,&_44p5_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_6={
+ {
+ {0},
+ {0,0,&_44p6_p1_0},
+ {0,&_44p6_p2_0,0},
+
+ {&_44p6_p3_0,&_44p6_p3_1,0},
+ {&_44p6_p4_0,&_44p6_p4_1,0},
+ {&_44p6_p5_0,&_44p6_p5_1,0},
+
+ {&_44p6_p6_0,&_44p6_p6_1,&_44p6_p5_1},
+ {&_44p6_p7_0,&_44p6_p7_1,&_44p6_p7_2,&_44p6_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_7={
+ {
+ {0},
+ {0,0,&_44p7_p1_0},
+ {0,&_44p7_p2_0,0},
+
+ {&_44p7_p3_0,&_44p7_p3_1,0},
+ {&_44p7_p4_0,&_44p7_p4_1,0},
+ {&_44p7_p5_0,&_44p7_p5_1,0},
+
+ {&_44p7_p6_0,&_44p7_p6_1,&_44p7_p5_1},
+ {&_44p7_p7_0,&_44p7_p7_1,&_44p7_p7_2,&_44p7_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_8={
+ {
+ {0},
+ {0,0,&_44p8_p1_0},
+ {0,&_44p8_p2_0,0},
+
+ {&_44p8_p3_0,&_44p8_p3_1,0},
+ {&_44p8_p4_0,&_44p8_p4_1,0},
+ {&_44p8_p5_0,&_44p8_p5_1,0},
+
+ {&_44p8_p6_0,&_44p8_p6_1,&_44p8_p5_1},
+ {&_44p8_p7_0,&_44p8_p7_1,&_44p8_p7_2,&_44p8_p7_3}
+ }
+};
+static const static_bookblock _resbook_44p_9={
+ {
+ {0},
+ {0,0,&_44p9_p1_0},
+ {0,&_44p9_p2_0,0},
+
+ {&_44p9_p3_0,&_44p9_p3_1,0},
+ {&_44p9_p4_0,&_44p9_p4_1,0},
+ {&_44p9_p5_0,&_44p9_p5_1,0},
+
+ {&_44p9_p6_0,&_44p9_p6_1,&_44p9_p5_1},
+ {&_44p9_p7_0,&_44p9_p7_1,&_44p9_p7_2,&_44p9_p7_3}
+ }
+};
+
+static const static_bookblock _resbook_44p_ln1={
+ {
+ {&_44pn1_l0_0,&_44pn1_l0_1,0},
+ {&_44pn1_l1_0,&_44pn1_p6_1,&_44pn1_p6_2},
+ }
+};
+static const static_bookblock _resbook_44p_l0={
+ {
+ {&_44p0_l0_0,&_44p0_l0_1,0},
+ {&_44p0_l1_0,&_44p0_p6_1,&_44p0_p6_2},
+ }
+};
+static const static_bookblock _resbook_44p_l1={
+ {
+ {&_44p1_l0_0,&_44p1_l0_1,0},
+ {&_44p1_l1_0,&_44p1_p6_1,&_44p1_p6_2},
+ }
+};
+static const static_bookblock _resbook_44p_l2={
+ {
+ {&_44p2_l0_0,&_44p2_l0_1,0},
+ {&_44p2_l1_0,&_44p2_p7_2,&_44p2_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l3={
+ {
+ {&_44p3_l0_0,&_44p3_l0_1,0},
+ {&_44p3_l1_0,&_44p3_p7_2,&_44p3_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l4={
+ {
+ {&_44p4_l0_0,&_44p4_l0_1,0},
+ {&_44p4_l1_0,&_44p4_p7_2,&_44p4_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l5={
+ {
+ {&_44p5_l0_0,&_44p5_l0_1,0},
+ {&_44p5_l1_0,&_44p5_p7_2,&_44p5_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l6={
+ {
+ {&_44p6_l0_0,&_44p6_l0_1,0},
+ {&_44p6_l1_0,&_44p6_p7_2,&_44p6_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l7={
+ {
+ {&_44p7_l0_0,&_44p7_l0_1,0},
+ {&_44p7_l1_0,&_44p7_p7_2,&_44p7_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l8={
+ {
+ {&_44p8_l0_0,&_44p8_l0_1,0},
+ {&_44p8_l1_0,&_44p8_p7_2,&_44p8_p7_3},
+ }
+};
+static const static_bookblock _resbook_44p_l9={
+ {
+ {&_44p9_l0_0,&_44p9_l0_1,0},
+ {&_44p9_l1_0,&_44p9_p7_2,&_44p9_p7_3},
+ }
+};
+
+
+static const vorbis_info_mapping0 _map_nominal_51[2]={
+ {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 4,{0,3,0,0},{2,4,1,3}},
+ {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 4,{0,3,0,0},{2,4,1,3}}
+};
+static const vorbis_info_mapping0 _map_nominal_51u[2]={
+ {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 0,{0},{0}},
+ {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 0,{0},{0}}
+};
+
+static const vorbis_residue_template _res_44p51_n1[]={
+ {2,0,30, &_residue_44p_lo,
+ &_huff_book__44pn1_short,&_huff_book__44pn1_short,
+ &_resbook_44p_n1,&_resbook_44p_n1},
+
+ {2,0,30, &_residue_44p_lo,
+ &_huff_book__44pn1_long,&_huff_book__44pn1_long,
+ &_resbook_44p_n1,&_resbook_44p_n1},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44pn1_lfe,&_huff_book__44pn1_lfe,
+ &_resbook_44p_ln1,&_resbook_44p_ln1}
+};
+static const vorbis_residue_template _res_44p51_0[]={
+ {2,0,15, &_residue_44p_lo,
+ &_huff_book__44p0_short,&_huff_book__44p0_short,
+ &_resbook_44p_0,&_resbook_44p_0},
+
+ {2,0,30, &_residue_44p_lo,
+ &_huff_book__44p0_long,&_huff_book__44p0_long,
+ &_resbook_44p_0,&_resbook_44p_0},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p0_lfe,&_huff_book__44p0_lfe,
+ &_resbook_44p_l0,&_resbook_44p_l0}
+};
+static const vorbis_residue_template _res_44p51_1[]={
+ {2,0,15, &_residue_44p_lo,
+ &_huff_book__44p1_short,&_huff_book__44p1_short,
+ &_resbook_44p_1,&_resbook_44p_1},
+
+ {2,0,30, &_residue_44p_lo,
+ &_huff_book__44p1_long,&_huff_book__44p1_long,
+ &_resbook_44p_1,&_resbook_44p_1},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p1_lfe,&_huff_book__44p1_lfe,
+ &_resbook_44p_l1,&_resbook_44p_l1}
+};
+static const vorbis_residue_template _res_44p51_2[]={
+ {2,0,15, &_residue_44p,
+ &_huff_book__44p2_short,&_huff_book__44p2_short,
+ &_resbook_44p_2,&_resbook_44p_2},
+
+ {2,0,30, &_residue_44p,
+ &_huff_book__44p2_long,&_huff_book__44p2_long,
+ &_resbook_44p_2,&_resbook_44p_2},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p2_lfe,&_huff_book__44p2_lfe,
+ &_resbook_44p_l2,&_resbook_44p_l2}
+};
+static const vorbis_residue_template _res_44p51_3[]={
+ {2,0,15, &_residue_44p,
+ &_huff_book__44p3_short,&_huff_book__44p3_short,
+ &_resbook_44p_3,&_resbook_44p_3},
+
+ {2,0,30, &_residue_44p,
+ &_huff_book__44p3_long,&_huff_book__44p3_long,
+ &_resbook_44p_3,&_resbook_44p_3},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p3_lfe,&_huff_book__44p3_lfe,
+ &_resbook_44p_l3,&_resbook_44p_l3}
+};
+static const vorbis_residue_template _res_44p51_4[]={
+ {2,0,15, &_residue_44p,
+ &_huff_book__44p4_short,&_huff_book__44p4_short,
+ &_resbook_44p_4,&_resbook_44p_4},
+
+ {2,0,30, &_residue_44p,
+ &_huff_book__44p4_long,&_huff_book__44p4_long,
+ &_resbook_44p_4,&_resbook_44p_4},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p4_lfe,&_huff_book__44p4_lfe,
+ &_resbook_44p_l4,&_resbook_44p_l4}
+};
+static const vorbis_residue_template _res_44p51_5[]={
+ {2,0,15, &_residue_44p_hi,
+ &_huff_book__44p5_short,&_huff_book__44p5_short,
+ &_resbook_44p_5,&_resbook_44p_5},
+
+ {2,0,30, &_residue_44p_hi,
+ &_huff_book__44p5_long,&_huff_book__44p5_long,
+ &_resbook_44p_5,&_resbook_44p_5},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p5_lfe,&_huff_book__44p5_lfe,
+ &_resbook_44p_l5,&_resbook_44p_l5}
+};
+static const vorbis_residue_template _res_44p51_6[]={
+ {2,0,15, &_residue_44p_hi,
+ &_huff_book__44p6_short,&_huff_book__44p6_short,
+ &_resbook_44p_6,&_resbook_44p_6},
+
+ {2,0,30, &_residue_44p_hi,
+ &_huff_book__44p6_long,&_huff_book__44p6_long,
+ &_resbook_44p_6,&_resbook_44p_6},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
+ &_resbook_44p_l6,&_resbook_44p_l6}
+};
+
+
+static const vorbis_residue_template _res_44p51_7[]={
+ {2,0,15, &_residue_44p_hi,
+ &_huff_book__44p7_short,&_huff_book__44p7_short,
+ &_resbook_44p_7,&_resbook_44p_7},
+
+ {2,0,30, &_residue_44p_hi,
+ &_huff_book__44p7_long,&_huff_book__44p7_long,
+ &_resbook_44p_7,&_resbook_44p_7},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
+ &_resbook_44p_l6,&_resbook_44p_l6}
+};
+static const vorbis_residue_template _res_44p51_8[]={
+ {2,0,15, &_residue_44p_hi,
+ &_huff_book__44p8_short,&_huff_book__44p8_short,
+ &_resbook_44p_8,&_resbook_44p_8},
+
+ {2,0,30, &_residue_44p_hi,
+ &_huff_book__44p8_long,&_huff_book__44p8_long,
+ &_resbook_44p_8,&_resbook_44p_8},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
+ &_resbook_44p_l6,&_resbook_44p_l6}
+};
+static const vorbis_residue_template _res_44p51_9[]={
+ {2,0,15, &_residue_44p_hi,
+ &_huff_book__44p9_short,&_huff_book__44p9_short,
+ &_resbook_44p_9,&_resbook_44p_9},
+
+ {2,0,30, &_residue_44p_hi,
+ &_huff_book__44p9_long,&_huff_book__44p9_long,
+ &_resbook_44p_9,&_resbook_44p_9},
+
+ {1,2,6, &_residue_44p_lfe,
+ &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
+ &_resbook_44p_l6,&_resbook_44p_l6}
+};
+
+static const vorbis_mapping_template _mapres_template_44_51[]={
+ { _map_nominal_51, _res_44p51_n1 }, /* -1 */
+ { _map_nominal_51, _res_44p51_0 }, /* 0 */
+ { _map_nominal_51, _res_44p51_1 }, /* 1 */
+ { _map_nominal_51, _res_44p51_2 }, /* 2 */
+ { _map_nominal_51, _res_44p51_3 }, /* 3 */
+ { _map_nominal_51, _res_44p51_4 }, /* 4 */
+ { _map_nominal_51u, _res_44p51_5 }, /* 5 */
+ { _map_nominal_51u, _res_44p51_6 }, /* 6 */
+ { _map_nominal_51u, _res_44p51_7 }, /* 7 */
+ { _map_nominal_51u, _res_44p51_8 }, /* 8 */
+ { _map_nominal_51u, _res_44p51_9 }, /* 9 */
+};
diff --git a/lib/modes/residue_44u.h b/lib/modes/residue_44u.h
index b2724fe9..6742aa2c 100644
--- a/lib/modes/residue_44u.h
+++ b/lib/modes/residue_44u.h
@@ -52,8 +52,8 @@ static const vorbis_info_residue0 _residue_44_hi_un={
only one submap (this would change for efficient 5.1 support for example)*/
/* Four psychoacoustic profiles are used, one for each blocktype */
static const vorbis_info_mapping0 _map_nominal_u[2]={
- {1, {0,0}, {0}, {0}, 0,{0},{0}},
- {1, {0,0}, {1}, {1}, 0,{0},{0}}
+ {1, {0,0,0,0,0,0}, {0}, {0}, 0,{0},{0}},
+ {1, {0,0,0,0,0,0}, {1}, {1}, 0,{0},{0}}
};
static const static_bookblock _resbook_44u_n1={
@@ -200,105 +200,105 @@ static const static_bookblock _resbook_44u_9={
};
static const vorbis_residue_template _res_44u_n1[]={
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44un1__short,&_huff_book__44un1__short,
&_resbook_44u_n1,&_resbook_44u_n1},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44un1__long,&_huff_book__44un1__long,
&_resbook_44u_n1,&_resbook_44u_n1}
};
static const vorbis_residue_template _res_44u_0[]={
- {1,0, &_residue_44_low_un,
+ {1,0,16, &_residue_44_low_un,
&_huff_book__44u0__short,&_huff_book__44u0__short,
&_resbook_44u_0,&_resbook_44u_0},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44u0__long,&_huff_book__44u0__long,
&_resbook_44u_0,&_resbook_44u_0}
};
static const vorbis_residue_template _res_44u_1[]={
- {1,0, &_residue_44_low_un,
+ {1,0,16, &_residue_44_low_un,
&_huff_book__44u1__short,&_huff_book__44u1__short,
&_resbook_44u_1,&_resbook_44u_1},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44u1__long,&_huff_book__44u1__long,
&_resbook_44u_1,&_resbook_44u_1}
};
static const vorbis_residue_template _res_44u_2[]={
- {1,0, &_residue_44_low_un,
+ {1,0,16, &_residue_44_low_un,
&_huff_book__44u2__short,&_huff_book__44u2__short,
&_resbook_44u_2,&_resbook_44u_2},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44u2__long,&_huff_book__44u2__long,
&_resbook_44u_2,&_resbook_44u_2}
};
static const vorbis_residue_template _res_44u_3[]={
- {1,0, &_residue_44_low_un,
+ {1,0,16, &_residue_44_low_un,
&_huff_book__44u3__short,&_huff_book__44u3__short,
&_resbook_44u_3,&_resbook_44u_3},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44u3__long,&_huff_book__44u3__long,
&_resbook_44u_3,&_resbook_44u_3}
};
static const vorbis_residue_template _res_44u_4[]={
- {1,0, &_residue_44_low_un,
+ {1,0,16, &_residue_44_low_un,
&_huff_book__44u4__short,&_huff_book__44u4__short,
&_resbook_44u_4,&_resbook_44u_4},
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__44u4__long,&_huff_book__44u4__long,
&_resbook_44u_4,&_resbook_44u_4}
};
static const vorbis_residue_template _res_44u_5[]={
- {1,0, &_residue_44_mid_un,
+ {1,0,16, &_residue_44_mid_un,
&_huff_book__44u5__short,&_huff_book__44u5__short,
&_resbook_44u_5,&_resbook_44u_5},
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__44u5__long,&_huff_book__44u5__long,
&_resbook_44u_5,&_resbook_44u_5}
};
static const vorbis_residue_template _res_44u_6[]={
- {1,0, &_residue_44_mid_un,
+ {1,0,16, &_residue_44_mid_un,
&_huff_book__44u6__short,&_huff_book__44u6__short,
&_resbook_44u_6,&_resbook_44u_6},
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__44u6__long,&_huff_book__44u6__long,
&_resbook_44u_6,&_resbook_44u_6}
};
static const vorbis_residue_template _res_44u_7[]={
- {1,0, &_residue_44_mid_un,
+ {1,0,16, &_residue_44_mid_un,
&_huff_book__44u7__short,&_huff_book__44u7__short,
&_resbook_44u_7,&_resbook_44u_7},
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__44u7__long,&_huff_book__44u7__long,
&_resbook_44u_7,&_resbook_44u_7}
};
static const vorbis_residue_template _res_44u_8[]={
- {1,0, &_residue_44_hi_un,
+ {1,0,16, &_residue_44_hi_un,
&_huff_book__44u8__short,&_huff_book__44u8__short,
&_resbook_44u_8,&_resbook_44u_8},
- {1,0, &_residue_44_hi_un,
+ {1,0,32, &_residue_44_hi_un,
&_huff_book__44u8__long,&_huff_book__44u8__long,
&_resbook_44u_8,&_resbook_44u_8}
};
static const vorbis_residue_template _res_44u_9[]={
- {1,0, &_residue_44_hi_un,
+ {1,0,16, &_residue_44_hi_un,
&_huff_book__44u9__short,&_huff_book__44u9__short,
&_resbook_44u_9,&_resbook_44u_9},
- {1,0, &_residue_44_hi_un,
+ {1,0,32, &_residue_44_hi_un,
&_huff_book__44u9__long,&_huff_book__44u9__long,
&_resbook_44u_9,&_resbook_44u_9}
};
diff --git a/lib/modes/residue_8.h b/lib/modes/residue_8.h
index 70349b71..b9edd4fa 100644
--- a/lib/modes/residue_8.h
+++ b/lib/modes/residue_8.h
@@ -50,12 +50,12 @@ static const static_bookblock _resbook_8s_1={
};
static const vorbis_residue_template _res_8s_0[]={
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__8c0_s_single,&_huff_book__8c0_s_single,
&_resbook_8s_0,&_resbook_8s_0},
};
static const vorbis_residue_template _res_8s_1[]={
- {2,0, &_residue_44_mid,
+ {2,0,32, &_residue_44_mid,
&_huff_book__8c1_s_single,&_huff_book__8c1_s_single,
&_resbook_8s_1,&_resbook_8s_1},
};
@@ -93,12 +93,12 @@ static const static_bookblock _resbook_8u_1={
};
static const vorbis_residue_template _res_8u_0[]={
- {1,0, &_residue_44_low_un,
+ {1,0,32, &_residue_44_low_un,
&_huff_book__8u0__single,&_huff_book__8u0__single,
&_resbook_8u_0,&_resbook_8u_0},
};
static const vorbis_residue_template _res_8u_1[]={
- {1,0, &_residue_44_mid_un,
+ {1,0,32, &_residue_44_mid_un,
&_huff_book__8u1__single,&_huff_book__8u1__single,
&_resbook_8u_1,&_resbook_8u_1},
};
diff --git a/lib/modes/setup_44.h b/lib/modes/setup_44.h
index 742968a6..958e2f8c 100644
--- a/lib/modes/setup_44.h
+++ b/lib/modes/setup_44.h
@@ -55,9 +55,14 @@ static const int _floor_mapping_44b[11]={
8,7,7,7,7,7,7,7,7,7,7
};
+static const int _floor_mapping_44c[11]={
+ 10,10,10,10,10,10,10,10,10,10,10
+};
+
static const int *_floor_mapping_44[]={
_floor_mapping_44a,
_floor_mapping_44b,
+ _floor_mapping_44c,
};
static const ve_setup_data_template ve_setup_44_stereo={
diff --git a/lib/modes/setup_44p51.h b/lib/modes/setup_44p51.h
new file mode 100644
index 00000000..51395e1d
--- /dev/null
+++ b/lib/modes/setup_44p51.h
@@ -0,0 +1,74 @@
+/********************************************************************
+ * *
+ * 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-2010 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: toplevel settings for 44.1/48kHz 5.1 surround modes
+ last mod: $Id$
+
+ ********************************************************************/
+
+#include "modes/residue_44p51.h"
+
+static const double rate_mapping_44p51[12]={
+ 11500.,16000.,20000.,24000.,28000.,32000.,
+ 80000.,96000.,112000.,128000.,160000.,250001.
+};
+
+static const ve_setup_data_template ve_setup_44_51={
+ 11,
+ rate_mapping_44p51,
+ quality_mapping_44,
+ 6,
+ 40000,
+ 70000,
+
+ blocksize_short_44,
+ blocksize_long_44,
+
+ _psy_tone_masteratt_44,
+ _psy_tone_0dB,
+ _psy_tone_suppress,
+
+ _vp_tonemask_adj_otherblock,
+ _vp_tonemask_adj_longblock,
+ _vp_tonemask_adj_otherblock,
+
+ _psy_noiseguards_44,
+ _psy_noisebias_impulse,
+ _psy_noisebias_padding,
+ _psy_noisebias_trans,
+ _psy_noisebias_long,
+ _psy_noise_suppress,
+
+ _psy_compand_44,
+ _psy_compand_short_mapping,
+ _psy_compand_long_mapping,
+
+ {_noise_start_short_44,_noise_start_long_44},
+ {_noise_part_short_44,_noise_part_long_44},
+ _noise_thresh_44,
+
+ _psy_ath_floater,
+ _psy_ath_abs,
+
+ _psy_lowpass_44,
+
+ _psy_global_44,
+ _global_mapping_44,
+ _psy_stereo_modes_44,
+
+ _floor_books,
+ _floor,
+ 3,
+ _floor_mapping_44,
+
+ _mapres_template_44_51
+};
diff --git a/lib/modes/setup_44u.h b/lib/modes/setup_44u.h
index 26f4fe53..aeea07f9 100644
--- a/lib/modes/setup_44u.h
+++ b/lib/modes/setup_44u.h
@@ -63,7 +63,7 @@ static const ve_setup_data_template ve_setup_44_uncoupled={
_psy_global_44,
_global_mapping_44,
- NULL,
+ _psy_stereo_modes_44,
_floor_books,
_floor,