libg722_1
0.0.1
|
00001 /* 00002 * g722_1 - a library for the G.722.1 and Annex C codecs 00003 * 00004 * dct4_a.h 00005 * 00006 * Adapted by Steve Underwood <steveu@coppice.org> from the reference 00007 * code supplied with ITU G.722.1, which is: 00008 * 00009 * (C) 2004 Polycom, Inc. 00010 * All rights reserved. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00015 */ 00016 00017 typedef struct 00018 { 00019 int16_t cosine; 00020 int16_t minus_sine; 00021 } cos_msin_t; 00022 00023 static const cos_msin_t a_cos_msin_2[10] = 00024 { 00025 {29805, -1171}, 00026 {29621, -3506}, 00027 {29255, -5819}, 00028 {28708, -8097}, 00029 {27984, -10324}, 00030 {27088, -12488}, 00031 {26025, -14575}, 00032 {24801, -16572}, 00033 {23425, -18466}, 00034 {21903, -20247} 00035 }; 00036 00037 static const cos_msin_t a_cos_msin_4[20] = 00038 { 00039 {29822, -586}, 00040 {29776, -1756}, 00041 {29684, -2924}, 00042 {29547, -4087}, 00043 {29364, -5244}, 00044 {29135, -6392}, 00045 {28862, -7531}, 00046 {28544, -8659}, 00047 {28182, -9773}, 00048 {27776, -10871}, 00049 {27328, -11954}, 00050 {26838, -13017}, 00051 {26306, -14061}, 00052 {25734, -15083}, 00053 {25122, -16081}, 00054 {24471, -17055}, 00055 {23783, -18003}, 00056 {23057, -18923}, 00057 {22297, -19813}, 00058 {21502, -20673} 00059 }; 00060 00061 static const cos_msin_t a_cos_msin_8[40] = 00062 { 00063 {29827, -293}, 00064 {29815, -878}, 00065 {29792, -1464}, 00066 {29758, -2048}, 00067 {29712, -2632}, 00068 {29654, -3215}, 00069 {29586, -3797}, 00070 {29505, -4377}, 00071 {29414, -4955}, 00072 {29311, -5532}, 00073 {29196, -6106}, 00074 {29071, -6678}, 00075 {28934, -7248}, 00076 {28786, -7814}, 00077 {28627, -8378}, 00078 {28457, -8938}, 00079 {28276, -9495}, 00080 {28084, -10049}, 00081 {27882, -10598}, 00082 {27668, -11144}, 00083 {27444, -11685}, 00084 {27209, -12221}, 00085 {26964, -12753}, 00086 {26709, -13280}, 00087 {26443, -13802}, 00088 {26167, -14318}, 00089 {25881, -14829}, 00090 {25584, -15335}, 00091 {25278, -15834}, 00092 {24963, -16327}, 00093 {24637, -16814}, 00094 {24302, -17295}, 00095 {23958, -17769}, 00096 {23605, -18236}, 00097 {23242, -18695}, 00098 {22871, -19148}, 00099 {22490, -19594}, 00100 {22101, -20031}, 00101 {21704, -20461}, 00102 {21298, -20884} 00103 }; 00104 00105 static const cos_msin_t a_cos_msin_16[80] = 00106 { 00107 {29828, -146}, 00108 {29825, -439}, 00109 {29819, -732}, 00110 {29811, -1025}, 00111 {29799, -1317}, 00112 {29785, -1610}, 00113 {29767, -1902}, 00114 {29747, -2194}, 00115 {29724, -2486}, 00116 {29698, -2778}, 00117 {29670, -3069}, 00118 {29638, -3360}, 00119 {29604, -3651}, 00120 {29567, -3942}, 00121 {29526, -4232}, 00122 {29483, -4521}, 00123 {29438, -4811}, 00124 {29389, -5099}, 00125 {29338, -5388}, 00126 {29283, -5676}, 00127 {29226, -5963}, 00128 {29166, -6249}, 00129 {29103, -6535}, 00130 {29038, -6821}, 00131 {28969, -7106}, 00132 {28898, -7390}, 00133 {28824, -7673}, 00134 {28748, -7956}, 00135 {28668, -8237}, 00136 {28586, -8518}, 00137 {28501, -8799}, 00138 {28413, -9078}, 00139 {28323, -9357}, 00140 {28229, -9634}, 00141 {28133, -9911}, 00142 {28035, -10187}, 00143 {27933, -10461}, 00144 {27829, -10735}, 00145 {27723, -11008}, 00146 {27613, -11279}, 00147 {27501, -11550}, 00148 {27387, -11819}, 00149 {27269, -12088}, 00150 {27149, -12355}, 00151 {27027, -12621}, 00152 {26901, -12885}, 00153 {26774, -13149}, 00154 {26643, -13411}, 00155 {26510, -13672}, 00156 {26375, -13932}, 00157 {26237, -14190}, 00158 {26096, -14447}, 00159 {25953, -14702}, 00160 {25807, -14956}, 00161 {25659, -15209}, 00162 {25509, -15460}, 00163 {25356, -15710}, 00164 {25200, -15958}, 00165 {25043, -16205}, 00166 {24882, -16450}, 00167 {24720, -16693}, 00168 {24554, -16935}, 00169 {24387, -17175}, 00170 {24217, -17414}, 00171 {24045, -17651}, 00172 {23871, -17886}, 00173 {23694, -18119}, 00174 {23515, -18351}, 00175 {23334, -18581}, 00176 {23150, -18809}, 00177 {22964, -19036}, 00178 {22776, -19260}, 00179 {22586, -19483}, 00180 {22394, -19704}, 00181 {22199, -19923}, 00182 {22003, -20140}, 00183 {21804, -20355}, 00184 {21603, -20568}, 00185 {21400, -20779}, 00186 {21195, -20988} 00187 }; 00188 00189 static const cos_msin_t a_cos_msin_32[160] = 00190 { 00191 {29828, -73}, 00192 {29827, -220}, 00193 {29826, -366}, 00194 {29824, -512}, 00195 {29821, -659}, 00196 {29817, -805}, 00197 {29813, -952}, 00198 {29808, -1098}, 00199 {29802, -1244}, 00200 {29796, -1390}, 00201 {29789, -1537}, 00202 {29781, -1683}, 00203 {29772, -1829}, 00204 {29763, -1975}, 00205 {29753, -2121}, 00206 {29742, -2267}, 00207 {29730, -2413}, 00208 {29718, -2559}, 00209 {29705, -2705}, 00210 {29692, -2851}, 00211 {29677, -2997}, 00212 {29662, -3142}, 00213 {29646, -3288}, 00214 {29630, -3433}, 00215 {29613, -3579}, 00216 {29595, -3724}, 00217 {29576, -3869}, 00218 {29557, -4014}, 00219 {29537, -4159}, 00220 {29516, -4304}, 00221 {29494, -4449}, 00222 {29472, -4594}, 00223 {29449, -4738}, 00224 {29426, -4883}, 00225 {29401, -5027}, 00226 {29376, -5172}, 00227 {29351, -5316}, 00228 {29324, -5460}, 00229 {29297, -5604}, 00230 {29269, -5747}, 00231 {29241, -5891}, 00232 {29211, -6034}, 00233 {29181, -6178}, 00234 {29151, -6321}, 00235 {29119, -6464}, 00236 {29087, -6607}, 00237 {29054, -6749}, 00238 {29021, -6892}, 00239 {28987, -7034}, 00240 {28952, -7177}, 00241 {28916, -7319}, 00242 {28880, -7460}, 00243 {28843, -7602}, 00244 {28805, -7744}, 00245 {28767, -7885}, 00246 {28728, -8026}, 00247 {28688, -8167}, 00248 {28648, -8308}, 00249 {28607, -8448}, 00250 {28565, -8589}, 00251 {28522, -8729}, 00252 {28479, -8869}, 00253 {28435, -9008}, 00254 {28391, -9148}, 00255 {28346, -9287}, 00256 {28300, -9426}, 00257 {28253, -9565}, 00258 {28206, -9703}, 00259 {28158, -9842}, 00260 {28109, -9980}, 00261 {28060, -10118}, 00262 {28010, -10255}, 00263 {27959, -10393}, 00264 {27908, -10530}, 00265 {27856, -10667}, 00266 {27803, -10803}, 00267 {27750, -10940}, 00268 {27696, -11076}, 00269 {27641, -11212}, 00270 {27586, -11347}, 00271 {27529, -11482}, 00272 {27473, -11617}, 00273 {27415, -11752}, 00274 {27357, -11886}, 00275 {27299, -12021}, 00276 {27239, -12154}, 00277 {27179, -12288}, 00278 {27119, -12421}, 00279 {27057, -12554}, 00280 {26996, -12687}, 00281 {26933, -12819}, 00282 {26870, -12951}, 00283 {26806, -13083}, 00284 {26741, -13215}, 00285 {26676, -13346}, 00286 {26610, -13476}, 00287 {26544, -13607}, 00288 {26477, -13737}, 00289 {26409, -13867}, 00290 {26340, -13996}, 00291 {26271, -14125}, 00292 {26202, -14254}, 00293 {26132, -14383}, 00294 {26061, -14511}, 00295 {25989, -14638}, 00296 {25917, -14766}, 00297 {25844, -14893}, 00298 {25771, -15020}, 00299 {25697, -15146}, 00300 {25622, -15272}, 00301 {25547, -15397}, 00302 {25471, -15523}, 00303 {25394, -15648}, 00304 {25317, -15772}, 00305 {25239, -15896}, 00306 {25161, -16020}, 00307 {25082, -16143}, 00308 {25003, -16266}, 00309 {24923, -16389}, 00310 {24842, -16511}, 00311 {24760, -16632}, 00312 {24678, -16754}, 00313 {24596, -16875}, 00314 {24513, -16995}, 00315 {24429, -17115}, 00316 {24345, -17235}, 00317 {24260, -17354}, 00318 {24174, -17473}, 00319 {24088, -17592}, 00320 {24002, -17710}, 00321 {23914, -17827}, 00322 {23827, -17945}, 00323 {23738, -18061}, 00324 {23649, -18178}, 00325 {23560, -18293}, 00326 {23470, -18409}, 00327 {23379, -18524}, 00328 {23288, -18638}, 00329 {23196, -18752}, 00330 {23104, -18866}, 00331 {23011, -18979}, 00332 {22917, -19092}, 00333 {22824, -19204}, 00334 {22729, -19316}, 00335 {22634, -19427}, 00336 {22538, -19538}, 00337 {22442, -19649}, 00338 {22345, -19759}, 00339 {22248, -19868}, 00340 {22150, -19977}, 00341 {22052, -20086}, 00342 {21953, -20194}, 00343 {21854, -20301}, 00344 {21754, -20408}, 00345 {21653, -20515}, 00346 {21552, -20621}, 00347 {21451, -20726}, 00348 {21349, -20831}, 00349 {21246, -20936}, 00350 {21143, -21040} 00351 }; 00352 00353 static const cos_msin_t a_cos_msin_64[320] = 00354 { 00355 {29827, -34}, 00356 {29827, -106}, 00357 {29827, -177}, 00358 {29827, -249}, 00359 {29826, -320}, 00360 {29825, -392}, 00361 {29824, -463}, 00362 {29823, -535}, 00363 {29821, -606}, 00364 {29819, -678}, 00365 {29818, -750}, 00366 {29816, -821}, 00367 {29814, -893}, 00368 {29812, -964}, 00369 {29809, -1035}, 00370 {29807, -1106}, 00371 {29804, -1177}, 00372 {29801, -1249}, 00373 {29797, -1320}, 00374 {29795, -1392}, 00375 {29791, -1463}, 00376 {29787, -1535}, 00377 {29784, -1606}, 00378 {29780, -1678}, 00379 {29776, -1749}, 00380 {29771, -1820}, 00381 {29767, -1892}, 00382 {29763, -1963}, 00383 {29758, -2035}, 00384 {29753, -2106}, 00385 {29748, -2177}, 00386 {29742, -2249}, 00387 {29737, -2320}, 00388 {29731, -2391}, 00389 {29726, -2462}, 00390 {29719, -2534}, 00391 {29713, -2605}, 00392 {29707, -2676}, 00393 {29701, -2747}, 00394 {29694, -2819}, 00395 {29686, -2890}, 00396 {29680, -2961}, 00397 {29673, -3032}, 00398 {29665, -3103}, 00399 {29658, -3174}, 00400 {29650, -3245}, 00401 {29643, -3316}, 00402 {29635, -3387}, 00403 {29626, -3459}, 00404 {29618, -3529}, 00405 {29610, -3600}, 00406 {29601, -3671}, 00407 {29592, -3742}, 00408 {29583, -3813}, 00409 {29574, -3884}, 00410 {29564, -3955}, 00411 {29554, -4026}, 00412 {29544, -4097}, 00413 {29535, -4167}, 00414 {29525, -4238}, 00415 {29514, -4309}, 00416 {29504, -4380}, 00417 {29493, -4450}, 00418 {29483, -4521}, 00419 {29472, -4591}, 00420 {29461, -4662}, 00421 {29450, -4733}, 00422 {29439, -4803}, 00423 {29427, -4874}, 00424 {29415, -4944}, 00425 {29403, -5015}, 00426 {29391, -5085}, 00427 {29379, -5155}, 00428 {29366, -5226}, 00429 {29353, -5296}, 00430 {29341, -5367}, 00431 {29328, -5438}, 00432 {29314, -5508}, 00433 {29301, -5578}, 00434 {29289, -5648}, 00435 {29274, -5718}, 00436 {29260, -5788}, 00437 {29247, -5858}, 00438 {29232, -5928}, 00439 {29218, -5998}, 00440 {29204, -6068}, 00441 {29188, -6139}, 00442 {29175, -6209}, 00443 {29159, -6279}, 00444 {29145, -6348}, 00445 {29128, -6418}, 00446 {29114, -6488}, 00447 {29097, -6557}, 00448 {29082, -6627}, 00449 {29066, -6697}, 00450 {29050, -6767}, 00451 {29034, -6837}, 00452 {29017, -6906}, 00453 {29001, -6975}, 00454 {28984, -7045}, 00455 {28966, -7114}, 00456 {28950, -7184}, 00457 {28933, -7254}, 00458 {28915, -7323}, 00459 {28897, -7392}, 00460 {28880, -7461}, 00461 {28862, -7530}, 00462 {28843, -7600}, 00463 {28825, -7669}, 00464 {28807, -7738}, 00465 {28788, -7806}, 00466 {28769, -7875}, 00467 {28751, -7944}, 00468 {28732, -8014}, 00469 {28712, -8082}, 00470 {28692, -8151}, 00471 {28672, -8219}, 00472 {28653, -8289}, 00473 {28633, -8357}, 00474 {28613, -8425}, 00475 {28593, -8494}, 00476 {28572, -8563}, 00477 {28551, -8632}, 00478 {28531, -8700}, 00479 {28510, -8768}, 00480 {28488, -8837}, 00481 {28468, -8905}, 00482 {28447, -8973}, 00483 {28425, -9041}, 00484 {28403, -9109}, 00485 {28381, -9177}, 00486 {28359, -9245}, 00487 {28336, -9313}, 00488 {28315, -9381}, 00489 {28292, -9448}, 00490 {28269, -9517}, 00491 {28246, -9584}, 00492 {28223, -9652}, 00493 {28200, -9720}, 00494 {28176, -9787}, 00495 {28153, -9854}, 00496 {28129, -9922}, 00497 {28105, -9990}, 00498 {28082, -10056}, 00499 {28057, -10124}, 00500 {28032, -10191}, 00501 {28009, -10258}, 00502 {27984, -10326}, 00503 {27959, -10392}, 00504 {27934, -10460}, 00505 {27909, -10526}, 00506 {27883, -10593}, 00507 {27858, -10661}, 00508 {27832, -10727}, 00509 {27807, -10794}, 00510 {27780, -10860}, 00511 {27754, -10927}, 00512 {27728, -10993}, 00513 {27701, -11059}, 00514 {27676, -11126}, 00515 {27648, -11192}, 00516 {27622, -11259}, 00517 {27595, -11324}, 00518 {27567, -11391}, 00519 {27540, -11456}, 00520 {27512, -11523}, 00521 {27484, -11588}, 00522 {27456, -11655}, 00523 {27429, -11720}, 00524 {27401, -11786}, 00525 {27372, -11852}, 00526 {27344, -11917}, 00527 {27315, -11982}, 00528 {27286, -12049}, 00529 {27257, -12114}, 00530 {27229, -12179}, 00531 {27199, -12244}, 00532 {27169, -12309}, 00533 {27140, -12375}, 00534 {27110, -12439}, 00535 {27080, -12505}, 00536 {27050, -12570}, 00537 {27019, -12634}, 00538 {26990, -12699}, 00539 {26958, -12764}, 00540 {26928, -12828}, 00541 {26897, -12892}, 00542 {26866, -12956}, 00543 {26835, -13021}, 00544 {26804, -13086}, 00545 {26773, -13149}, 00546 {26741, -13214}, 00547 {26709, -13278}, 00548 {26677, -13342}, 00549 {26645, -13406}, 00550 {26613, -13470}, 00551 {26581, -13534}, 00552 {26549, -13597}, 00553 {26515, -13661}, 00554 {26483, -13725}, 00555 {26450, -13788}, 00556 {26417, -13851}, 00557 {26384, -13915}, 00558 {26350, -13978}, 00559 {26316, -14041}, 00560 {26283, -14103}, 00561 {26248, -14166}, 00562 {26215, -14229}, 00563 {26180, -14292}, 00564 {26146, -14355}, 00565 {26112, -14417}, 00566 {26077, -14480}, 00567 {26042, -14543}, 00568 {26008, -14605}, 00569 {25972, -14667}, 00570 {25937, -14730}, 00571 {25901, -14792}, 00572 {25866, -14854}, 00573 {25830, -14916}, 00574 {25794, -14977}, 00575 {25759, -15039}, 00576 {25723, -15101}, 00577 {25687, -15162}, 00578 {25650, -15224}, 00579 {25613, -15286}, 00580 {25577, -15347}, 00581 {25540, -15408}, 00582 {25503, -15470}, 00583 {25465, -15531}, 00584 {25428, -15592}, 00585 {25391, -15653}, 00586 {25353, -15714}, 00587 {25315, -15774}, 00588 {25277, -15834}, 00589 {25240, -15895}, 00590 {25201, -15956}, 00591 {25162, -16016}, 00592 {25124, -16076}, 00593 {25086, -16136}, 00594 {25047, -16196}, 00595 {25008, -16256}, 00596 {24969, -16316}, 00597 {24930, -16375}, 00598 {24891, -16436}, 00599 {24851, -16496}, 00600 {24811, -16555}, 00601 {24772, -16615}, 00602 {24732, -16674}, 00603 {24692, -16732}, 00604 {24652, -16791}, 00605 {24612, -16852}, 00606 {24572, -16911}, 00607 {24531, -16969}, 00608 {24490, -17027}, 00609 {24449, -17086}, 00610 {24408, -17145}, 00611 {24367, -17203}, 00612 {24325, -17261}, 00613 {24284, -17320}, 00614 {24242, -17379}, 00615 {24200, -17436}, 00616 {24158, -17494}, 00617 {24116, -17552}, 00618 {24075, -17610}, 00619 {24032, -17668}, 00620 {23990, -17725}, 00621 {23947, -17782}, 00622 {23904, -17840}, 00623 {23862, -17897}, 00624 {23819, -17954}, 00625 {23775, -18011}, 00626 {23732, -18068}, 00627 {23689, -18125}, 00628 {23645, -18181}, 00629 {23602, -18238}, 00630 {23558, -18294}, 00631 {23514, -18351}, 00632 {23470, -18407}, 00633 {23426, -18464}, 00634 {23381, -18520}, 00635 {23337, -18576}, 00636 {23293, -18632}, 00637 {23248, -18688}, 00638 {23202, -18743}, 00639 {23158, -18799}, 00640 {23112, -18854}, 00641 {23068, -18910}, 00642 {23022, -18964}, 00643 {22977, -19020}, 00644 {22931, -19074}, 00645 {22885, -19129}, 00646 {22839, -19185}, 00647 {22793, -19239}, 00648 {22747, -19294}, 00649 {22700, -19348}, 00650 {22655, -19403}, 00651 {22607, -19457}, 00652 {22561, -19511}, 00653 {22514, -19565}, 00654 {22467, -19619}, 00655 {22421, -19673}, 00656 {22373, -19726}, 00657 {22326, -19780}, 00658 {22279, -19834}, 00659 {22230, -19887}, 00660 {22183, -19940}, 00661 {22135, -19993}, 00662 {22087, -20047}, 00663 {22039, -20099}, 00664 {21991, -20152}, 00665 {21942, -20205}, 00666 {21894, -20257}, 00667 {21845, -20309}, 00668 {21797, -20362}, 00669 {21748, -20413}, 00670 {21699, -20466}, 00671 {21650, -20518}, 00672 {21601, -20570}, 00673 {21551, -20621}, 00674 {21502, -20674} 00675 }; 00676 00677 static const cos_msin_t *a_cos_msin_table[] = 00678 { 00679 a_cos_msin_2, 00680 a_cos_msin_4, 00681 a_cos_msin_8, 00682 a_cos_msin_16, 00683 a_cos_msin_32, 00684 a_cos_msin_64 00685 }; 00686 00687 static const int16_t dct_core_a[10][10] = 00688 { 00689 00690 { 10453, 10196, 9688, 8941, 7973, 6810, 5479, 4013, 2448, 823 }, 00691 { 10196, 7973, 4013, -823, -5479, -8941, -10453, -9688, -6810, -2448 }, 00692 { 9688 , 4013, -4013, -9688, -9688, -4013, 4013, 9688, 9688, 4013 }, 00693 { 8941 , -823, -9688, -7973, 2448, 10196, 6810, -4013, -10453, -5479 }, 00694 { 7973 , -5479, -9688, 2448, 10453, 823, -10196, -4013, 8941, 6810 }, 00695 { 6810 , -8941, -4013, 10196, 823, -10453, 2448, 9688, -5479, -7973 }, 00696 { 5479 , -10453, 4013, 6810, -10196, 2448, 7973, -9688, 823, 8941 }, 00697 { 4013 , -9688, 9688, -4013, -4013, 9688, -9688, 4013, 4013, -9688 }, 00698 { 2448 , -6810, 9688, -10453, 8941, -5479, 823, 4013, -7973, 10196 }, 00699 { 823 , -2448, 4013, -5479, 6810, -7973, 8941, -9688, 10196, -10453 } 00700 }; 00701 00702 static const int16_t anal_bias[320] = 00703 { 00704 1, 1, 3, 1, 4, 1, 3, -2, 4, 3, 00705 4, 1, 3, 0, 2, -3, 0, 0, 2, 2, 00706 4, 1, 1, -5, 4, 1, 2, -1, 0, -1, 00707 1, -2, 0, 2, 2, 2, 4, 1, 3, 0, 00708 5, 3, 2, 0, 3, 0, 1, -4, 1, 1, 00709 2, 0, 4, 0, 1, -4, 6, 1, 3, -1, 00710 1, 0, 0, -4, 1, 1, 3, 1, 3, 2, 00711 4, -2, 4, 3, 5, 1, 3, 0, 1, -3, 00712 1, 1, 2, 0, 4, 1, 2, -4, 4, 2, 00713 2, -1, 1, -1, 1, -4, 0, 0, 3, 0, 00714 5, 2, 3, -1, 6, 2, 5, 0, 4, 0, 00715 1, -3, 1, 0, 3, 0, 4, 0, 1, -3, 00716 4, 1, 3, -1, 1, -2, 1, -4, 0, 1, 00717 2, 1, 3, 2, 2, -2, 4, 3, 3, 0, 00718 3, 0, 0, -2, 1, 0, 2, 0, 5, -1, 00719 1, -3, 4, 2, 2, 0, 2, -3, 1, -4, 00720 -1, 1, 2, 2, 4, 1, 3, -1, 5, 2, 00721 2, 0, 3, -1, 2, -3, 0, 1, 2, 2, 00722 4, 0, 1, -5, 5, 1, 3, 0, 2, -1, 00723 0, -2, 1, 2, 2, 2, 4, 1, 0, 0, 00724 4, 2, 4, 1, 4, -1, 1, -4, 0, 1, 00725 3, 1, 5, 1, 1, -2, 4, 0, 2, 0, 00726 2, -1, 0, -2, 0, 1, 1, 1, 4, 2, 00727 3, -2, 5, 4, 4, 0, 3, 0, 3, -4, 00728 1, 2, 2, 0, 4, 1, 0, -3, 4, 2, 00729 3, -1, 1, -1, 1, -4, 0, 2, 3, 1, 00730 4, 1, 3, 0, 3, 3, 4, 1, 2, 0, 00731 1, -3, 2, 2, 2, 1, 5, 0, 1, -4, 00732 4, 1, 3, -2, 3, -1, 0, -2, 0, 2, 00733 2, 0, 5, 1, 4, -1, 4, 3, 4, 1, 00734 3, 0, 1, -4, 2, 0, 3, 1, 5, 0, 00735 1, -5, 5, 2, 2, 0, 0, 0, 0, -4 00736 };