Go to the source code of this file.
Defines | |
#define | GSM_MAGIC 0xD |
#define | readGSM_33(c1) |
#define | writeGSM_33(c1) |
Typedefs | |
typedef unsigned char | gsm_byte |
typedef unsigned int | uword |
typedef unsigned char | wav_byte |
Functions | |
static void | conv65 (wav_byte *c, gsm_byte *d) |
static void | conv66 (gsm_byte *d, wav_byte *c) |
Definition at line 455 of file msgsm.h.
References writeGSM_33.
Referenced by gsm_write(), gsmtolin_framein(), and wav_read().
00455 { 00456 00457 unsigned int sr = 0; 00458 unsigned int frame_chain; 00459 unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4]; 00460 /* silence bogus compiler warning */ 00461 unsigned int xmc[13*4] = { 0, }; 00462 00463 sr = *c++; 00464 LARc[0] = sr & 0x3f; sr >>= 6; 00465 sr |= (uword)*c++ << 2; 00466 LARc[1] = sr & 0x3f; sr >>= 6; 00467 sr |= (uword)*c++ << 4; 00468 LARc[2] = sr & 0x1f; sr >>= 5; 00469 LARc[3] = sr & 0x1f; sr >>= 5; 00470 sr |= (uword)*c++ << 2; 00471 LARc[4] = sr & 0xf; sr >>= 4; 00472 LARc[5] = sr & 0xf; sr >>= 4; 00473 sr |= (uword)*c++ << 2; /* 5 */ 00474 LARc[6] = sr & 0x7; sr >>= 3; 00475 LARc[7] = sr & 0x7; sr >>= 3; 00476 sr |= (uword)*c++ << 4; 00477 Nc[0] = sr & 0x7f; sr >>= 7; 00478 bc[0] = sr & 0x3; sr >>= 2; 00479 Mc[0] = sr & 0x3; sr >>= 2; 00480 sr |= (uword)*c++ << 1; 00481 xmaxc[0] = sr & 0x3f; sr >>= 6; 00482 xmc[0] = sr & 0x7; sr >>= 3; 00483 sr = *c++; 00484 xmc[1] = sr & 0x7; sr >>= 3; 00485 xmc[2] = sr & 0x7; sr >>= 3; 00486 sr |= (uword)*c++ << 2; 00487 xmc[3] = sr & 0x7; sr >>= 3; 00488 xmc[4] = sr & 0x7; sr >>= 3; 00489 xmc[5] = sr & 0x7; sr >>= 3; 00490 sr |= (uword)*c++ << 1; /* 10 */ 00491 xmc[6] = sr & 0x7; sr >>= 3; 00492 xmc[7] = sr & 0x7; sr >>= 3; 00493 xmc[8] = sr & 0x7; sr >>= 3; 00494 sr = *c++; 00495 xmc[9] = sr & 0x7; sr >>= 3; 00496 xmc[10] = sr & 0x7; sr >>= 3; 00497 sr |= (uword)*c++ << 2; 00498 xmc[11] = sr & 0x7; sr >>= 3; 00499 xmc[12] = sr & 0x7; sr >>= 3; 00500 sr |= (uword)*c++ << 4; 00501 Nc[1] = sr & 0x7f; sr >>= 7; 00502 bc[1] = sr & 0x3; sr >>= 2; 00503 Mc[1] = sr & 0x3; sr >>= 2; 00504 sr |= (uword)*c++ << 1; 00505 xmaxc[1] = sr & 0x3f; sr >>= 6; 00506 xmc[13] = sr & 0x7; sr >>= 3; 00507 sr = *c++; /* 15 */ 00508 xmc[14] = sr & 0x7; sr >>= 3; 00509 xmc[15] = sr & 0x7; sr >>= 3; 00510 sr |= (uword)*c++ << 2; 00511 xmc[16] = sr & 0x7; sr >>= 3; 00512 xmc[17] = sr & 0x7; sr >>= 3; 00513 xmc[18] = sr & 0x7; sr >>= 3; 00514 sr |= (uword)*c++ << 1; 00515 xmc[19] = sr & 0x7; sr >>= 3; 00516 xmc[20] = sr & 0x7; sr >>= 3; 00517 xmc[21] = sr & 0x7; sr >>= 3; 00518 sr = *c++; 00519 xmc[22] = sr & 0x7; sr >>= 3; 00520 xmc[23] = sr & 0x7; sr >>= 3; 00521 sr |= (uword)*c++ << 2; 00522 xmc[24] = sr & 0x7; sr >>= 3; 00523 xmc[25] = sr & 0x7; sr >>= 3; 00524 sr |= (uword)*c++ << 4; /* 20 */ 00525 Nc[2] = sr & 0x7f; sr >>= 7; 00526 bc[2] = sr & 0x3; sr >>= 2; 00527 Mc[2] = sr & 0x3; sr >>= 2; 00528 sr |= (uword)*c++ << 1; 00529 xmaxc[2] = sr & 0x3f; sr >>= 6; 00530 xmc[26] = sr & 0x7; sr >>= 3; 00531 sr = *c++; 00532 xmc[27] = sr & 0x7; sr >>= 3; 00533 xmc[28] = sr & 0x7; sr >>= 3; 00534 sr |= (uword)*c++ << 2; 00535 xmc[29] = sr & 0x7; sr >>= 3; 00536 xmc[30] = sr & 0x7; sr >>= 3; 00537 xmc[31] = sr & 0x7; sr >>= 3; 00538 sr |= (uword)*c++ << 1; 00539 xmc[32] = sr & 0x7; sr >>= 3; 00540 xmc[33] = sr & 0x7; sr >>= 3; 00541 xmc[34] = sr & 0x7; sr >>= 3; 00542 sr = *c++; /* 25 */ 00543 xmc[35] = sr & 0x7; sr >>= 3; 00544 xmc[36] = sr & 0x7; sr >>= 3; 00545 sr |= (uword)*c++ << 2; 00546 xmc[37] = sr & 0x7; sr >>= 3; 00547 xmc[38] = sr & 0x7; sr >>= 3; 00548 sr |= (uword)*c++ << 4; 00549 Nc[3] = sr & 0x7f; sr >>= 7; 00550 bc[3] = sr & 0x3; sr >>= 2; 00551 Mc[3] = sr & 0x3; sr >>= 2; 00552 sr |= (uword)*c++ << 1; 00553 xmaxc[3] = sr & 0x3f; sr >>= 6; 00554 xmc[39] = sr & 0x7; sr >>= 3; 00555 sr = *c++; 00556 xmc[40] = sr & 0x7; sr >>= 3; 00557 xmc[41] = sr & 0x7; sr >>= 3; 00558 sr |= (uword)*c++ << 2; /* 30 */ 00559 xmc[42] = sr & 0x7; sr >>= 3; 00560 xmc[43] = sr & 0x7; sr >>= 3; 00561 xmc[44] = sr & 0x7; sr >>= 3; 00562 sr |= (uword)*c++ << 1; 00563 xmc[45] = sr & 0x7; sr >>= 3; 00564 xmc[46] = sr & 0x7; sr >>= 3; 00565 xmc[47] = sr & 0x7; sr >>= 3; 00566 sr = *c++; 00567 xmc[49] = sr & 0x7; sr >>= 3; 00568 sr |= (uword)*c++ << 2; 00569 xmc[50] = sr & 0x7; sr >>= 3; 00570 xmc[51] = sr & 0x7; sr >>= 3; 00571 00572 frame_chain = sr & 0xf; 00573 00574 00575 writeGSM_33(d);/* LARc etc. -> array of 33 GSM bytes */ 00576 00577 00578 sr = frame_chain; 00579 sr |= (uword)*c++ << 4; /* 1 */ 00580 LARc[0] = sr & 0x3f; sr >>= 6; 00581 LARc[1] = sr & 0x3f; sr >>= 6; 00582 sr = *c++; 00583 LARc[2] = sr & 0x1f; sr >>= 5; 00584 sr |= (uword)*c++ << 3; 00585 LARc[3] = sr & 0x1f; sr >>= 5; 00586 LARc[4] = sr & 0xf; sr >>= 4; 00587 sr |= (uword)*c++ << 2; 00588 LARc[5] = sr & 0xf; sr >>= 4; 00589 LARc[6] = sr & 0x7; sr >>= 3; 00590 LARc[7] = sr & 0x7; sr >>= 3; 00591 sr = *c++; /* 5 */ 00592 Nc[0] = sr & 0x7f; sr >>= 7; 00593 sr |= (uword)*c++ << 1; 00594 bc[0] = sr & 0x3; sr >>= 2; 00595 Mc[0] = sr & 0x3; sr >>= 2; 00596 sr |= (uword)*c++ << 5; 00597 xmaxc[0] = sr & 0x3f; sr >>= 6; 00598 xmc[0] = sr & 0x7; sr >>= 3; 00599 xmc[1] = sr & 0x7; sr >>= 3; 00600 sr |= (uword)*c++ << 1; 00601 xmc[2] = sr & 0x7; sr >>= 3; 00602 xmc[3] = sr & 0x7; sr >>= 3; 00603 xmc[4] = sr & 0x7; sr >>= 3; 00604 sr = *c++; 00605 xmc[5] = sr & 0x7; sr >>= 3; 00606 xmc[6] = sr & 0x7; sr >>= 3; 00607 sr |= (uword)*c++ << 2; /* 10 */ 00608 xmc[7] = sr & 0x7; sr >>= 3; 00609 xmc[8] = sr & 0x7; sr >>= 3; 00610 xmc[9] = sr & 0x7; sr >>= 3; 00611 sr |= (uword)*c++ << 1; 00612 xmc[10] = sr & 0x7; sr >>= 3; 00613 xmc[11] = sr & 0x7; sr >>= 3; 00614 xmc[12] = sr & 0x7; sr >>= 3; 00615 sr = *c++; 00616 Nc[1] = sr & 0x7f; sr >>= 7; 00617 sr |= (uword)*c++ << 1; 00618 bc[1] = sr & 0x3; sr >>= 2; 00619 Mc[1] = sr & 0x3; sr >>= 2; 00620 sr |= (uword)*c++ << 5; 00621 xmaxc[1] = sr & 0x3f; sr >>= 6; 00622 xmc[13] = sr & 0x7; sr >>= 3; 00623 xmc[14] = sr & 0x7; sr >>= 3; 00624 sr |= (uword)*c++ << 1; /* 15 */ 00625 xmc[15] = sr & 0x7; sr >>= 3; 00626 xmc[16] = sr & 0x7; sr >>= 3; 00627 xmc[17] = sr & 0x7; sr >>= 3; 00628 sr = *c++; 00629 xmc[18] = sr & 0x7; sr >>= 3; 00630 xmc[19] = sr & 0x7; sr >>= 3; 00631 sr |= (uword)*c++ << 2; 00632 xmc[20] = sr & 0x7; sr >>= 3; 00633 xmc[21] = sr & 0x7; sr >>= 3; 00634 xmc[22] = sr & 0x7; sr >>= 3; 00635 sr |= (uword)*c++ << 1; 00636 xmc[23] = sr & 0x7; sr >>= 3; 00637 xmc[24] = sr & 0x7; sr >>= 3; 00638 xmc[25] = sr & 0x7; sr >>= 3; 00639 sr = *c++; 00640 Nc[2] = sr & 0x7f; sr >>= 7; 00641 sr |= (uword)*c++ << 1; /* 20 */ 00642 bc[2] = sr & 0x3; sr >>= 2; 00643 Mc[2] = sr & 0x3; sr >>= 2; 00644 sr |= (uword)*c++ << 5; 00645 xmaxc[2] = sr & 0x3f; sr >>= 6; 00646 xmc[26] = sr & 0x7; sr >>= 3; 00647 xmc[27] = sr & 0x7; sr >>= 3; 00648 sr |= (uword)*c++ << 1; 00649 xmc[28] = sr & 0x7; sr >>= 3; 00650 xmc[29] = sr & 0x7; sr >>= 3; 00651 xmc[30] = sr & 0x7; sr >>= 3; 00652 sr = *c++; 00653 xmc[31] = sr & 0x7; sr >>= 3; 00654 xmc[32] = sr & 0x7; sr >>= 3; 00655 sr |= (uword)*c++ << 2; 00656 xmc[33] = sr & 0x7; sr >>= 3; 00657 xmc[34] = sr & 0x7; sr >>= 3; 00658 xmc[35] = sr & 0x7; sr >>= 3; 00659 sr |= (uword)*c++ << 1; /* 25 */ 00660 xmc[36] = sr & 0x7; sr >>= 3; 00661 xmc[37] = sr & 0x7; sr >>= 3; 00662 xmc[38] = sr & 0x7; sr >>= 3; 00663 sr = *c++; 00664 Nc[3] = sr & 0x7f; sr >>= 7; 00665 sr |= (uword)*c++ << 1; 00666 bc[3] = sr & 0x3; sr >>= 2; 00667 Mc[3] = sr & 0x3; sr >>= 2; 00668 sr |= (uword)*c++ << 5; 00669 xmaxc[3] = sr & 0x3f; sr >>= 6; 00670 xmc[39] = sr & 0x7; sr >>= 3; 00671 xmc[40] = sr & 0x7; sr >>= 3; 00672 sr |= (uword)*c++ << 1; 00673 xmc[41] = sr & 0x7; sr >>= 3; 00674 xmc[42] = sr & 0x7; sr >>= 3; 00675 xmc[43] = sr & 0x7; sr >>= 3; 00676 sr = *c++; /* 30 */ 00677 xmc[44] = sr & 0x7; sr >>= 3; 00678 xmc[45] = sr & 0x7; sr >>= 3; 00679 sr |= (uword)*c++ << 2; 00680 xmc[46] = sr & 0x7; sr >>= 3; 00681 xmc[47] = sr & 0x7; sr >>= 3; 00682 xmc[48] = sr & 0x7; sr >>= 3; 00683 sr |= (uword)*c++ << 1; 00684 xmc[49] = sr & 0x7; sr >>= 3; 00685 xmc[50] = sr & 0x7; sr >>= 3; 00686 xmc[51] = sr & 0x7; sr >>= 3; 00687 writeGSM_33(d+33); 00688 00689 }
Definition at line 114 of file msgsm.h.
References readGSM_33.
Referenced by wav_write().
00114 { 00115 gsm_byte frame_chain; 00116 unsigned int sr; 00117 unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4]; 00118 00119 readGSM_33(d); 00120 sr = 0; 00121 sr = (sr >> 6) | (LARc[0] << 10); 00122 sr = (sr >> 6) | (LARc[1] << 10); 00123 *c++ = sr >> 4; 00124 sr = (sr >> 5) | (LARc[2] << 11); 00125 *c++ = sr >> 7; 00126 sr = (sr >> 5) | (LARc[3] << 11); 00127 sr = (sr >> 4) | (LARc[4] << 12); 00128 *c++ = sr >> 6; 00129 sr = (sr >> 4) | (LARc[5] << 12); 00130 sr = (sr >> 3) | (LARc[6] << 13); 00131 *c++ = sr >> 7; 00132 sr = (sr >> 3) | (LARc[7] << 13); 00133 sr = (sr >> 7) | (Nc[0] << 9); 00134 *c++ = sr >> 5; 00135 sr = (sr >> 2) | (bc[0] << 14); 00136 sr = (sr >> 2) | (Mc[0] << 14); 00137 sr = (sr >> 6) | (xmaxc[0] << 10); 00138 *c++ = sr >> 3; 00139 sr = (sr >> 3 )|( xmc[0] << 13); 00140 *c++ = sr >> 8; 00141 sr = (sr >> 3 )|( xmc[1] << 13); 00142 sr = (sr >> 3 )|( xmc[2] << 13); 00143 sr = (sr >> 3 )|( xmc[3] << 13); 00144 *c++ = sr >> 7; 00145 sr = (sr >> 3 )|( xmc[4] << 13); 00146 sr = (sr >> 3 )|( xmc[5] << 13); 00147 sr = (sr >> 3 )|( xmc[6] << 13); 00148 *c++ = sr >> 6; 00149 sr = (sr >> 3 )|( xmc[7] << 13); 00150 sr = (sr >> 3 )|( xmc[8] << 13); 00151 *c++ = sr >> 8; 00152 sr = (sr >> 3 )|( xmc[9] << 13); 00153 sr = (sr >> 3 )|( xmc[10] << 13); 00154 sr = (sr >> 3 )|( xmc[11] << 13); 00155 *c++ = sr >> 7; 00156 sr = (sr >> 3 )|( xmc[12] << 13); 00157 sr = (sr >> 7 )|( Nc[1] << 9); 00158 *c++ = sr >> 5; 00159 sr = (sr >> 2 )|( bc[1] << 14); 00160 sr = (sr >> 2 )|( Mc[1] << 14); 00161 sr = (sr >> 6 )|( xmaxc[1] << 10); 00162 *c++ = sr >> 3; 00163 sr = (sr >> 3 )|( xmc[13] << 13); 00164 *c++ = sr >> 8; 00165 sr = (sr >> 3 )|( xmc[14] << 13); 00166 sr = (sr >> 3 )|( xmc[15] << 13); 00167 sr = (sr >> 3 )|( xmc[16] << 13); 00168 *c++ = sr >> 7; 00169 sr = (sr >> 3 )|( xmc[17] << 13); 00170 sr = (sr >> 3 )|( xmc[18] << 13); 00171 sr = (sr >> 3 )|( xmc[19] << 13); 00172 *c++ = sr >> 6; 00173 sr = (sr >> 3 )|( xmc[20] << 13); 00174 sr = (sr >> 3 )|( xmc[21] << 13); 00175 *c++ = sr >> 8; 00176 sr = (sr >> 3 )|( xmc[22] << 13); 00177 sr = (sr >> 3 )|( xmc[23] << 13); 00178 sr = (sr >> 3 )|( xmc[24] << 13); 00179 *c++ = sr >> 7; 00180 sr = (sr >> 3 )|( xmc[25] << 13); 00181 sr = (sr >> 7 )|( Nc[2] << 9); 00182 *c++ = sr >> 5; 00183 sr = (sr >> 2 )|( bc[2] << 14); 00184 sr = (sr >> 2 )|( Mc[2] << 14); 00185 sr = (sr >> 6 )|( xmaxc[2] << 10); 00186 *c++ = sr >> 3; 00187 sr = (sr >> 3 )|( xmc[26] << 13); 00188 *c++ = sr >> 8; 00189 sr = (sr >> 3 )|( xmc[27] << 13); 00190 sr = (sr >> 3 )|( xmc[28] << 13); 00191 sr = (sr >> 3 )|( xmc[29] << 13); 00192 *c++ = sr >> 7; 00193 sr = (sr >> 3 )|( xmc[30] << 13); 00194 sr = (sr >> 3 )|( xmc[31] << 13); 00195 sr = (sr >> 3 )|( xmc[32] << 13); 00196 *c++ = sr >> 6; 00197 sr = (sr >> 3 )|( xmc[33] << 13); 00198 sr = (sr >> 3 )|( xmc[34] << 13); 00199 *c++ = sr >> 8; 00200 sr = (sr >> 3 )|( xmc[35] << 13); 00201 sr = (sr >> 3 )|( xmc[36] << 13); 00202 sr = (sr >> 3 )|( xmc[37] << 13); 00203 *c++ = sr >> 7; 00204 sr = (sr >> 3 )|( xmc[38] << 13); 00205 sr = (sr >> 7 )|( Nc[3] << 9); 00206 *c++ = sr >> 5; 00207 sr = (sr >> 2 )|( bc[3] << 14); 00208 sr = (sr >> 2 )|( Mc[3] << 14); 00209 sr = (sr >> 6 )|( xmaxc[3] << 10); 00210 *c++ = sr >> 3; 00211 sr = (sr >> 3 )|( xmc[39] << 13); 00212 *c++ = sr >> 8; 00213 sr = (sr >> 3 )|( xmc[40] << 13); 00214 sr = (sr >> 3 )|( xmc[41] << 13); 00215 sr = (sr >> 3 )|( xmc[42] << 13); 00216 *c++ = sr >> 7; 00217 sr = (sr >> 3 )|( xmc[43] << 13); 00218 sr = (sr >> 3 )|( xmc[44] << 13); 00219 sr = (sr >> 3 )|( xmc[45] << 13); 00220 *c++ = sr >> 6; 00221 sr = (sr >> 3 )|( xmc[46] << 13); 00222 sr = (sr >> 3 )|( xmc[47] << 13); 00223 *c++ = sr >> 8; 00224 sr = (sr >> 3 )|( xmc[48] << 13); 00225 sr = (sr >> 3 )|( xmc[49] << 13); 00226 sr = (sr >> 3 )|( xmc[50] << 13); 00227 *c++ = sr >> 7; 00228 sr = (sr >> 3 )|( xmc[51] << 13); 00229 sr = sr >> 4; 00230 *c = sr >> 8; 00231 frame_chain = *c; 00232 readGSM_33(d+33); /* puts all the parameters into LARc etc. */ 00233 00234 00235 sr = 0; 00236 /* sr = (sr >> 4 )|( s->frame_chain << 12); */ 00237 sr = (sr >> 4 )|( frame_chain << 12); 00238 00239 sr = (sr >> 6 )|( LARc[0] << 10); 00240 *c++ = sr >> 6; 00241 sr = (sr >> 6 )|( LARc[1] << 10); 00242 *c++ = sr >> 8; 00243 sr = (sr >> 5 )|( LARc[2] << 11); 00244 sr = (sr >> 5 )|( LARc[3] << 11); 00245 *c++ = sr >> 6; 00246 sr = (sr >> 4 )|( LARc[4] << 12); 00247 sr = (sr >> 4 )|( LARc[5] << 12); 00248 *c++ = sr >> 6; 00249 sr = (sr >> 3 )|( LARc[6] << 13); 00250 sr = (sr >> 3 )|( LARc[7] << 13); 00251 *c++ = sr >> 8; 00252 sr = (sr >> 7 )|( Nc[0] << 9); 00253 sr = (sr >> 2 )|( bc[0] << 14); 00254 *c++ = sr >> 7; 00255 sr = (sr >> 2 )|( Mc[0] << 14); 00256 sr = (sr >> 6 )|( xmaxc[0] << 10); 00257 *c++ = sr >> 7; 00258 sr = (sr >> 3 )|( xmc[0] << 13); 00259 sr = (sr >> 3 )|( xmc[1] << 13); 00260 sr = (sr >> 3 )|( xmc[2] << 13); 00261 *c++ = sr >> 6; 00262 sr = (sr >> 3 )|( xmc[3] << 13); 00263 sr = (sr >> 3 )|( xmc[4] << 13); 00264 *c++ = sr >> 8; 00265 sr = (sr >> 3 )|( xmc[5] << 13); 00266 sr = (sr >> 3 )|( xmc[6] << 13); 00267 sr = (sr >> 3 )|( xmc[7] << 13); 00268 *c++ = sr >> 7; 00269 sr = (sr >> 3 )|( xmc[8] << 13); 00270 sr = (sr >> 3 )|( xmc[9] << 13); 00271 sr = (sr >> 3 )|( xmc[10] << 13); 00272 *c++ = sr >> 6; 00273 sr = (sr >> 3 )|( xmc[11] << 13); 00274 sr = (sr >> 3 )|( xmc[12] << 13); 00275 *c++ = sr >> 8; 00276 sr = (sr >> 7 )|( Nc[1] << 9); 00277 sr = (sr >> 2 )|( bc[1] << 14); 00278 *c++ = sr >> 7; 00279 sr = (sr >> 2 )|( Mc[1] << 14); 00280 sr = (sr >> 6 )|( xmaxc[1] << 10); 00281 *c++ = sr >> 7; 00282 sr = (sr >> 3 )|( xmc[13] << 13); 00283 sr = (sr >> 3 )|( xmc[14] << 13); 00284 sr = (sr >> 3 )|( xmc[15] << 13); 00285 *c++ = sr >> 6; 00286 sr = (sr >> 3 )|( xmc[16] << 13); 00287 sr = (sr >> 3 )|( xmc[17] << 13); 00288 *c++ = sr >> 8; 00289 sr = (sr >> 3 )|( xmc[18] << 13); 00290 sr = (sr >> 3 )|( xmc[19] << 13); 00291 sr = (sr >> 3 )|( xmc[20] << 13); 00292 *c++ = sr >> 7; 00293 sr = (sr >> 3 )|( xmc[21] << 13); 00294 sr = (sr >> 3 )|( xmc[22] << 13); 00295 sr = (sr >> 3 )|( xmc[23] << 13); 00296 *c++ = sr >> 6; 00297 sr = (sr >> 3 )|( xmc[24] << 13); 00298 sr = (sr >> 3 )|( xmc[25] << 13); 00299 *c++ = sr >> 8; 00300 sr = (sr >> 7 )|( Nc[2] << 9); 00301 sr = (sr >> 2 )|( bc[2] << 14); 00302 *c++ = sr >> 7; 00303 sr = (sr >> 2 )|( Mc[2] << 14); 00304 sr = (sr >> 6 )|( xmaxc[2] << 10); 00305 *c++ = sr >> 7; 00306 sr = (sr >> 3 )|( xmc[26] << 13); 00307 sr = (sr >> 3 )|( xmc[27] << 13); 00308 sr = (sr >> 3 )|( xmc[28] << 13); 00309 *c++ = sr >> 6; 00310 sr = (sr >> 3 )|( xmc[29] << 13); 00311 sr = (sr >> 3 )|( xmc[30] << 13); 00312 *c++ = sr >> 8; 00313 sr = (sr >> 3 )|( xmc[31] << 13); 00314 sr = (sr >> 3 )|( xmc[32] << 13); 00315 sr = (sr >> 3 )|( xmc[33] << 13); 00316 *c++ = sr >> 7; 00317 sr = (sr >> 3 )|( xmc[34] << 13); 00318 sr = (sr >> 3 )|( xmc[35] << 13); 00319 sr = (sr >> 3 )|( xmc[36] << 13); 00320 *c++ = sr >> 6; 00321 sr = (sr >> 3 )|( xmc[37] << 13); 00322 sr = (sr >> 3 )|( xmc[38] << 13); 00323 *c++ = sr >> 8; 00324 sr = (sr >> 7 )|( Nc[3] << 9); 00325 sr = (sr >> 2 )|( bc[3] << 14); 00326 *c++ = sr >> 7; 00327 sr = (sr >> 2 )|( Mc[3] << 14); 00328 sr = (sr >> 6 )|( xmaxc[3] << 10); 00329 *c++ = sr >> 7; 00330 sr = (sr >> 3 )|( xmc[39] << 13); 00331 sr = (sr >> 3 )|( xmc[40] << 13); 00332 sr = (sr >> 3 )|( xmc[41] << 13); 00333 *c++ = sr >> 6; 00334 sr = (sr >> 3 )|( xmc[42] << 13); 00335 sr = (sr >> 3 )|( xmc[43] << 13); 00336 *c++ = sr >> 8; 00337 sr = (sr >> 3 )|( xmc[44] << 13); 00338 sr = (sr >> 3 )|( xmc[45] << 13); 00339 sr = (sr >> 3 )|( xmc[46] << 13); 00340 *c++ = sr >> 7; 00341 sr = (sr >> 3 )|( xmc[47] << 13); 00342 sr = (sr >> 3 )|( xmc[48] << 13); 00343 sr = (sr >> 3 )|( xmc[49] << 13); 00344 *c++ = sr >> 6; 00345 sr = (sr >> 3 )|( xmc[50] << 13); 00346 sr = (sr >> 3 )|( xmc[51] << 13); 00347 *c++ = sr >> 8; 00348 00349 }