diff options
author | Monty <xiphmont@xiph.org> | 2010-03-11 07:30:34 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2010-03-11 07:30:34 +0000 |
commit | 8ca7e05637cf091470f8e39d686087b38f72c860 (patch) | |
tree | e4199c56e27e732afd214fa816d66bd33d3520c4 /lib/modes | |
parent | f375f3cb80bd7f7002e3eb987361922b8e59561a (diff) | |
download | libvorbis-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.am | 2 | ||||
-rw-r--r-- | lib/modes/floor_all.h | 36 | ||||
-rw-r--r-- | lib/modes/psych_44.h | 24 | ||||
-rw-r--r-- | lib/modes/residue_16.h | 20 | ||||
-rw-r--r-- | lib/modes/residue_44.h | 44 | ||||
-rw-r--r-- | lib/modes/residue_44p51.h | 451 | ||||
-rw-r--r-- | lib/modes/residue_44u.h | 48 | ||||
-rw-r--r-- | lib/modes/residue_8.h | 8 | ||||
-rw-r--r-- | lib/modes/setup_44.h | 5 | ||||
-rw-r--r-- | lib/modes/setup_44p51.h | 74 | ||||
-rw-r--r-- | lib/modes/setup_44u.h | 2 |
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, |