86{
87 int sfb;
88 int slen0, slen1;
89
90
93
95
97
98 for (sfb = 0; sfb < 8; sfb++)
99 sfis->
l[sfb] = (
char)
GetBits(bsi, slen0);
100 sfb = 3;
101 } else {
102
103 sfb = 0;
104 }
105
106 for ( ; sfb < 6; sfb++) {
107 sfis->
s[sfb][0] = (char)
GetBits(bsi, slen0);
108 sfis->
s[sfb][1] = (char)
GetBits(bsi, slen0);
109 sfis->
s[sfb][2] = (char)
GetBits(bsi, slen0);
110 }
111
112 for ( ; sfb < 12; sfb++) {
113 sfis->
s[sfb][0] = (char)
GetBits(bsi, slen1);
114 sfis->
s[sfb][1] = (char)
GetBits(bsi, slen1);
115 sfis->
s[sfb][2] = (char)
GetBits(bsi, slen1);
116 }
117
118
119 sfis->
s[12][0] = sfis->
s[12][1] = sfis->
s[12][2] = 0;
120 } else {
121
122 if(gr == 0) {
123
124 for (sfb = 0; sfb < 11; sfb++)
125 sfis->
l[sfb] = (
char)
GetBits(bsi, slen0);
126 for (sfb = 11; sfb < 21; sfb++)
127 sfis->
l[sfb] = (
char)
GetBits(bsi, slen1);
128 return;
129 } else {
130
131
132
133
134 sfb = 0;
135 if(scfsi[0])
for( ; sfb < 6 ; sfb++) sfis->
l[sfb] = sfisGr0->
l[sfb];
136 else for( ; sfb < 6 ; sfb++) sfis->
l[sfb] = (
char)
GetBits(bsi, slen0);
137 if(scfsi[1])
for( ; sfb <11 ; sfb++) sfis->
l[sfb] = sfisGr0->
l[sfb];
138 else for( ; sfb <11 ; sfb++) sfis->
l[sfb] = (
char)
GetBits(bsi, slen0);
139 if(scfsi[2])
for( ; sfb <16 ; sfb++) sfis->
l[sfb] = sfisGr0->
l[sfb];
140 else for( ; sfb <16 ; sfb++) sfis->
l[sfb] = (
char)
GetBits(bsi, slen1);
141 if(scfsi[3])
for( ; sfb <21 ; sfb++) sfis->
l[sfb] = sfisGr0->
l[sfb];
142 else for( ; sfb <21 ; sfb++) sfis->
l[sfb] = (
char)
GetBits(bsi, slen1);
143 }
144
147 }
148}
static const char SFLenTab[16][2]
uint32_t GetBits(BitStreamInfo *bsi, int32_t nBits) FL_NOEXCEPT