Commit 8ca7e056 authored by Monty's avatar Monty
Browse files

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
parent f375f3cb
......@@ -96,7 +96,7 @@ typedef struct{
int **,int *,int);
int (*forward) (oggpack_buffer *,struct vorbis_block *,
vorbis_look_residue *,
int **,int *,int,long **);
int **,int *,int,long **,int);
int (*inverse) (struct vorbis_block *,vorbis_look_residue *,
float **,int *,int);
} vorbis_func_residue;
......
## Process this file with automake to produce Makefile.in
EXTRA_DIST = res_books_stereo.h
EXTRA_DIST = res_books_stereo.h res_books_51.h
This diff is collapsed.
......@@ -688,7 +688,7 @@ static int mapping0_forward(vorbis_block *vb){
_residue_P[ci->residue_type[resnum]]->
forward(opb,vb,b->residue[resnum],
couple_bundle,zerobundle,ch_in_bundle,classifications);
couple_bundle,zerobundle,ch_in_bundle,classifications,i);
}
/* ok, done encoding. Next protopacket. */
......
......@@ -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
......@@ -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
},
};
......@@ -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},
......
......@@ -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}
};
......
......@@ -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}
};
......
/********************************************************************
* *
* 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={
{