00001
00002
00003 #ifndef _VLC_H_
00004 #define _VLC_H_
00005
00006
00007
00008 typedef struct
00009 {
00010 U_Int code;
00011 Int len;
00012 } VLCtable;
00013
00014
00015
00016
00017 static VLCtable DCtab_lum[13] =
00018 {
00019 {3,3}, {3,2}, {2,2}, {2,3}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7},
00020 {1,8}, {1,9}, {1,10}, {1,11}
00021 };
00022
00023 static VLCtable DCtab_chrom[13] =
00024 {
00025 {3,2}, {2,2}, {1,2}, {1,3}, {1,4}, {1,5}, {1,6}, {1,7}, {1,8},
00026 {1,9}, {1,10}, {1,11}, {1,12}
00027 };
00028
00029
00030
00031
00032 static VLCtable mvtab[33] =
00033 {
00034 {1,1}, {1,2}, {1,3}, {1,4}, {3,6}, {5,7}, {4,7}, {3,7},
00035 {11,9}, {10,9}, {9,9}, {17,10}, {16,10}, {15,10}, {14,10}, {13,10},
00036 {12,10}, {11,10}, {10,10}, {9,10}, {8,10}, {7,10}, {6,10}, {5,10},
00037 {4,10}, {7,11}, {6,11}, {5,11}, {4,11}, {3,11}, {2,11}, {3,12},
00038 {2,12}
00039 };
00040
00041
00042
00043
00044
00045
00046 static VLCtable mcbpc_intra_tab[15] =
00047 {
00048 {0x01,9}, {0x01,1}, {0x01,4}, {0x00,0},
00049 {0x00,0}, {0x01,3}, {0x01,6}, {0x00,0},
00050 {0x00,0}, {0x02,3}, {0x02,6}, {0x00,0},
00051 {0x00,0}, {0x03,3}, {0x03,6}
00052 };
00053
00054
00055
00056
00057
00058 static VLCtable mcbpc_inter_tab[29] =
00059 {
00060 {1,1}, {3,3}, {2,3}, {3,5}, {4,6}, {1,9}, {0,0}, {0,0},
00061 {3,4}, {7,7}, {5,7}, {4,8}, {4,9}, {0,0}, {0,0}, {0,0},
00062 {2,4}, {6,7}, {4,7}, {3,8}, {3,9}, {0,0}, {0,0}, {0,0},
00063 {5,6}, {5,9}, {5,8}, {3,7}, {2,9}
00064 };
00065
00066 static VLCtable mcbpc_sprite_tab[31] =
00067 {
00068 {1,1}, {0,12}, {2,3}, {3,5}, {4,6}, {3,3}, {12,4}, {1,9},
00069 {3,4}, {1,12}, {5,7}, {4,8}, {4,9}, {7,7}, {12,5}, {0,0},
00070 {2,4}, {2,12}, {4,7}, {3,8}, {3,9}, {6,7}, {12,6}, {0,0},
00071 {5,6}, {3,12}, {5,8}, {3,7}, {2,9}, {5,9}, {12,7}
00072 };
00073
00074
00075
00076 static VLCtable modb_tab[3] =
00077 {
00078 {1,1}, {1,2}, {0,2}
00079 };
00080
00081 #if 0
00082
00083
00084 static VLCtable mcbpc_sep_tab[9] =
00085 {
00086 {1,1}, {1,3}, {2,3}, {3,3}, {1,4}, {1,6}, {2,6}, {3,6}, {1,9}
00087 };
00088 #endif
00089
00090
00091
00092 static VLCtable cbpy_tab[16] =
00093 {
00094 {3,4}, {5,5}, {4,5}, {9,4}, {3,5}, {7,4}, {2,6}, {11,4},
00095 {2,5}, {3,6}, {5,4}, {10,4}, {4,4}, {8,4}, {6,4}, {3,2}
00096 };
00097
00098 static VLCtable cbpy_tab3[8] =
00099 {
00100 {3,3},{1,6},{1,5},{2,3},{2,5},{3,5},{1,3},{1,1}
00101 };
00102 static VLCtable cbpy_tab2[4] =
00103 {
00104 {1,4},{1,3},{1,2},{1,1}
00105 };
00106
00107
00108
00109
00110
00111
00112
00113 static VLCtable coeff_tab0[2][12] =
00114 {
00115
00116 {
00117 {0x02, 2}, {0x0f, 4}, {0x15, 6}, {0x17, 7},
00118 {0x1f, 8}, {0x25, 9}, {0x24, 9}, {0x21,10},
00119 {0x20,10}, {0x07,11}, {0x06,11}, {0x20,11}
00120 },
00121
00122 {
00123 {0x06, 3}, {0x14, 6}, {0x1e, 8}, {0x0f,10},
00124 {0x21,11}, {0x50,12}, {0x00, 0}, {0x00, 0},
00125 {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00126 }
00127 };
00128
00129
00130
00131 static VLCtable coeff_tab1[25][4] =
00132 {
00133
00134 {
00135 {0x0e, 4}, {0x1d, 8}, {0x0e,10}, {0x51,12}
00136 },
00137
00138 {
00139 {0x0d, 5}, {0x23, 9}, {0x0d,10}, {0x00, 0}
00140 },
00141
00142 {
00143 {0x0c, 5}, {0x22, 9}, {0x52,12}, {0x00, 0}
00144 },
00145 {
00146 {0x0b, 5}, {0x0c,10}, {0x53,12}, {0x00, 0}
00147 },
00148 {
00149 {0x13, 6}, {0x0b,10}, {0x54,12}, {0x00, 0}
00150 },
00151 {
00152 {0x12, 6}, {0x0a,10}, {0x00, 0}, {0x00, 0}
00153 },
00154 {
00155 {0x11, 6}, {0x09,10}, {0x00, 0}, {0x00, 0}
00156 },
00157 {
00158 {0x10, 6}, {0x08,10}, {0x00, 0}, {0x00, 0}
00159 },
00160 {
00161 {0x16, 7}, {0x55,12}, {0x00, 0}, {0x00, 0}
00162 },
00163 {
00164 {0x15, 7}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00165 },
00166 {
00167 {0x14, 7}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00168 },
00169 {
00170 {0x1c, 8}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00171 },
00172 {
00173 {0x1b, 8}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00174 },
00175 {
00176 {0x21, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00177 },
00178 {
00179 {0x20, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00180 },
00181 {
00182 {0x1f, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00183 },
00184 {
00185 {0x1e, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00186 },
00187 {
00188 {0x1d, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00189 },
00190 {
00191 {0x1c, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00192 },
00193 {
00194 {0x1b, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00195 },
00196 {
00197 {0x1a, 9}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00198 },
00199 {
00200 {0x22,11}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00201 },
00202 {
00203 {0x23,11}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00204 },
00205 {
00206 {0x56,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00207 },
00208 {
00209 {0x57,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}
00210 }
00211 };
00212
00213
00214
00215 static VLCtable coeff_tab2[2][3] =
00216 {
00217
00218 {
00219 {0x07, 4}, {0x19, 9}, {0x05,11}
00220 },
00221
00222 {
00223 {0x0f, 6}, {0x04,11}, {0x00, 0}
00224 }
00225 };
00226
00227
00228
00229 static VLCtable coeff_tab3[40] =
00230 {
00231 {0x0e, 6}, {0x0d, 6}, {0x0c, 6},
00232 {0x13, 7}, {0x12, 7}, {0x11, 7}, {0x10, 7},
00233 {0x1a, 8}, {0x19, 8}, {0x18, 8}, {0x17, 8},
00234 {0x16, 8}, {0x15, 8}, {0x14, 8}, {0x13, 8},
00235 {0x18, 9}, {0x17, 9}, {0x16, 9}, {0x15, 9},
00236 {0x14, 9}, {0x13, 9}, {0x12, 9}, {0x11, 9},
00237 {0x07,10}, {0x06,10}, {0x05,10}, {0x04,10},
00238 {0x24,11}, {0x25,11}, {0x26,11}, {0x27,11},
00239 {0x58,12}, {0x59,12}, {0x5a,12}, {0x5b,12},
00240 {0x5c,12}, {0x5d,12}, {0x5e,12}, {0x5f,12},
00241 {0x00, 0}
00242 };
00243
00244
00245
00246
00247
00248
00249 static VLCtable coeff_tab4[27] =
00250 {
00251
00252 {0x02, 2}, {0x06, 3}, {0x0f, 4}, {0x0d, 5},
00253 {0x0c, 5}, {0x15, 6}, {0x13, 6}, {0x12, 6},
00254 {0x17, 7}, {0x1f, 8}, {0x1e, 8}, {0x1d, 8},
00255 {0x25, 9}, {0x24, 9}, {0x23, 9}, {0x21, 9},
00256 {0x21,10}, {0x20,10}, {0x0f,10}, {0x0e,10},
00257 {0x07,11}, {0x06,11}, {0x20,11}, {0x21,11},
00258 {0x50,12}, {0x51,12}, {0x52,12}
00259 };
00260
00261
00262
00263 static VLCtable coeff_tab5[10] =
00264 {
00265 {0x0e, 4}, {0x14, 6}, {0x16, 7}, {0x1c, 8},
00266 {0x20, 9}, {0x1f, 9}, {0x0d,10}, {0x22,11},
00267 {0x53,12}, {0x55,12}
00268 };
00269
00270
00271
00272 static VLCtable coeff_tab6[8][5] =
00273 {
00274
00275 {
00276 {0x0b, 5}, {0x15, 7}, {0x1e, 9}, {0x0c,10},
00277 {0x56,12}
00278 },
00279
00280 {
00281 {0x11, 6}, {0x1b, 8}, {0x1d, 9}, {0x0b,10},
00282 {0x00, 0}
00283 },
00284
00285 {
00286 {0x10, 6}, {0x22, 9}, {0x0a,10}, {0x00, 0},
00287 {0x00, 0}
00288 },
00289
00290 {
00291 {0x0d, 6}, {0x1c, 9}, {0x08,10}, {0x00, 0},
00292 {0x00, 0}
00293 },
00294
00295 {
00296 {0x12, 7}, {0x1b, 9}, {0x54,12}, {0x00, 0},
00297 {0x00, 0}
00298 },
00299
00300 {
00301 {0x14, 7}, {0x1a, 9}, {0x57,12}, {0x00, 0},
00302 {0x00, 0}
00303 },
00304
00305 {
00306 {0x19, 8}, {0x09,10}, {0x00, 0}, {0x00, 0},
00307 {0x00, 0}
00308 },
00309
00310 {
00311 {0x18, 8}, {0x23,11}, {0x00, 0}, {0x00, 0},
00312 {0x00, 0}
00313 }
00314 };
00315
00316
00317
00318 static VLCtable coeff_tab7[5] =
00319 {
00320 {0x17, 8}, {0x19, 9}, {0x18, 9}, {0x07,10},
00321 {0x58,12}
00322 };
00323
00324
00325
00326 static VLCtable coeff_tab8[8] =
00327 {
00328 {0x07, 4}, {0x0c, 6}, {0x16, 8}, {0x17, 9},
00329 {0x06,10}, {0x05,11}, {0x04,11}, {0x59,12}
00330 };
00331
00332
00333
00334 static VLCtable coeff_tab9[6][3] =
00335 {
00336
00337 {
00338 {0x0f, 6}, {0x16, 9}, {0x05,10}
00339 },
00340
00341 {
00342 {0x0e, 6}, {0x04,10}, {0x00, 0}
00343 },
00344
00345 {
00346 {0x11, 7}, {0x24,11}, {0x00, 0}
00347 },
00348
00349 {
00350 {0x10, 7}, {0x25,11}, {0x00, 0}
00351 },
00352
00353 {
00354 {0x13, 7}, {0x5a,12}, {0x00, 0}
00355 },
00356
00357 {
00358 {0x15, 8}, {0x5b,12}, {0x00, 0}
00359 }
00360 };
00361
00362
00363
00364 static VLCtable coeff_tab10[14] =
00365 {
00366 {0x14, 8}, {0x13, 8}, {0x1a, 8}, {0x15, 9},
00367 {0x14, 9}, {0x13, 9}, {0x12, 9}, {0x11, 9},
00368 {0x26,11}, {0x27,11}, {0x5c,12}, {0x5d,12},
00369 {0x5e,12}, {0x5f,12}
00370 };
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382 static VLCtable coeff_RVLCtab1[27] =
00383 {
00384
00385 { 0x6, 3},
00386 { 0x7, 3},
00387 { 0xa, 4},
00388 { 0x9, 5},
00389 { 0x14, 6},
00390 { 0x15, 6},
00391 { 0x34, 7},
00392 { 0x74, 8},
00393 { 0x75, 8},
00394 { 0xdd, 9},
00395 { 0xec, 9},
00396 { 0x1ec, 10},
00397 { 0x1ed, 10},
00398 { 0x1f4, 10},
00399 { 0x3ec, 11},
00400 { 0x3ed, 11},
00401 { 0x3f4, 11},
00402 { 0x77d, 12},
00403 { 0x7bc, 12},
00404 { 0xfbd, 13},
00405 { 0xfdc, 13},
00406 { 0x7bd, 12},
00407 { 0xfdd, 13},
00408 { 0x1fbd, 14},
00409 { 0x1fdc, 14},
00410 { 0x1fdd, 14},
00411 { 0x1ffc, 15}
00412 };
00413
00414
00415
00416
00417 static VLCtable coeff_RVLCtab2[13] =
00418 {
00419
00420 { 0x1, 4},
00421 { 0x8, 5},
00422 { 0x2d, 7},
00423 { 0x6c, 8},
00424 { 0x6d, 8},
00425 { 0xdc, 9},
00426 { 0x1dd, 10},
00427 { 0x3dc, 11},
00428 { 0x3dd, 11},
00429 { 0x77c, 12},
00430 { 0xfbc, 13},
00431 { 0x1f7d, 14},
00432 { 0x1fbc, 14}
00433 };
00434
00435
00436
00437
00438 static VLCtable coeff_RVLCtab3[11] =
00439 {
00440
00441 { 0x4, 5},
00442 { 0x2c, 7},
00443 { 0xbc, 9},
00444 { 0x1dc, 10},
00445 { 0x3bc, 11},
00446 { 0x3bd, 11},
00447 { 0xefd, 13},
00448 { 0xf7c, 13},
00449 { 0xf7d, 13},
00450 { 0x1efd, 14},
00451 { 0x1f7c, 14}
00452 };
00453
00454
00455
00456
00457 static VLCtable coeff_RVLCtab4[9] =
00458 {
00459
00460 { 0x5, 5},
00461 { 0x5c, 8},
00462 { 0xbd, 9},
00463 { 0x37d, 11},
00464 { 0x6fc, 12},
00465 { 0xefc, 13},
00466 { 0x1dfd, 14},
00467 { 0x1efc, 14},
00468 { 0x1ffd, 15}
00469 };
00470
00471
00472
00473
00474 static VLCtable coeff_RVLCtab5[2][6] =
00475 {
00476
00477 {
00478 { 0xc, 6},
00479 { 0x5d, 8},
00480 { 0x1bd, 10},
00481 { 0x3fd, 12},
00482 { 0x6fd, 12},
00483 { 0x1bfd, 14}
00484 },
00485
00486 {
00487 { 0xd, 6},
00488 { 0x7d, 9},
00489 { 0x2fc, 11},
00490 { 0x5fc, 12},
00491 { 0x1bfc, 14},
00492 { 0x1dfc, 14}
00493 }
00494 };
00495
00496
00497
00498
00499 static VLCtable coeff_RVLCtab6[2][5] =
00500 {
00501
00502 {
00503 { 0x1c, 7},
00504 { 0x17c, 10},
00505 { 0x2fd, 11},
00506 { 0x5fd, 12},
00507 { 0x2ffc, 15}
00508 },
00509
00510 {
00511 { 0x1d, 7},
00512 { 0x17d, 10},
00513 { 0x37c, 11},
00514 { 0xdfd, 13},
00515 { 0x2ffd, 15}
00516 }
00517 };
00518
00519
00520
00521
00522 static VLCtable coeff_RVLCtab7[2][4] =
00523 {
00524
00525 {
00526 { 0x3c, 8},
00527 { 0x1bc, 10},
00528 { 0xbfd, 13},
00529 { 0x17fd, 14}
00530 },
00531
00532 {
00533 { 0x3d, 8},
00534 { 0x1fd, 11},
00535 { 0xdfc, 13},
00536 { 0x37fc, 15},
00537 }
00538 };
00539
00540
00541
00542
00543 static VLCtable coeff_RVLCtab8[3][2] =
00544 {
00545
00546 {
00547 { 0x7c, 9},
00548 { 0x3fc, 12}
00549 },
00550
00551 {
00552 { 0xfc, 10},
00553 { 0xbfc, 13}
00554 },
00555
00556 {
00557 { 0xfd, 10},
00558 { 0x37fd, 15}
00559 }
00560 };
00561
00562
00563
00564
00565 static VLCtable coeff_RVLCtab9[7] =
00566 {
00567
00568 { 0x1fc, 11},
00569 { 0x7fc, 13},
00570 { 0x7fd, 13},
00571 { 0xffc, 14},
00572 { 0xffd, 14},
00573 { 0x17fc, 14},
00574 { 0x3bfc, 15}
00575 };
00576
00577
00578
00579
00580 static VLCtable coeff_RVLCtab10[2][5] =
00581 {
00582
00583 {
00584 { 0xb, 4},
00585 { 0x78, 8},
00586 { 0x3f5, 11},
00587 { 0xfec, 13},
00588 { 0x1fec, 14}
00589 },
00590
00591 {
00592 { 0x12, 5},
00593 { 0xed, 9},
00594 { 0x7dc, 12},
00595 { 0x1fed, 14},
00596 { 0x3bfd, 15}
00597 }
00598 };
00599
00600
00601 static VLCtable coeff_RVLCtab11[3] =
00602 {
00603
00604 { 0x13, 5},
00605 { 0x3f8, 11},
00606 { 0x3dfc, 15}
00607 };
00608
00609
00610 static VLCtable coeff_RVLCtab12[11][2] =
00611 {
00612
00613 {
00614 { 0x18, 6},
00615 { 0x7dd, 12}
00616 },
00617
00618 {
00619 { 0x19, 6},
00620 { 0x7ec, 12}
00621 },
00622
00623 {
00624 { 0x22, 6},
00625 { 0xfed, 13}
00626 },
00627
00628 {
00629 { 0x23, 6},
00630 { 0xff4, 13}
00631 },
00632
00633 {
00634 { 0x35, 7},
00635 { 0xff5, 13}
00636 },
00637
00638 {
00639 { 0x38, 7},
00640 { 0xff8, 13}
00641 },
00642
00643 {
00644 { 0x39, 7},
00645 { 0xff9, 13}
00646 },
00647
00648 {
00649 { 0x42, 7},
00650 { 0x1ff4, 14}
00651 },
00652
00653 {
00654 { 0x43, 7},
00655 { 0x1ff5, 14}
00656 },
00657
00658 {
00659 { 0x79, 8},
00660 { 0x1ff8, 14}
00661 },
00662
00663 {
00664 { 0x82, 8},
00665 { 0x3dfd, 15}
00666 }
00667 };
00668
00669
00670 static VLCtable coeff_RVLCtab13[32] =
00671 {
00672
00673 { 0x83, 8},
00674 { 0xf4, 9},
00675 { 0xf5, 9},
00676 { 0xf8, 9},
00677 { 0xf9, 9},
00678 { 0x102, 9},
00679 { 0x103, 9},
00680 { 0x1f5, 10},
00681 { 0x1f8, 10},
00682 { 0x1f9, 10},
00683 { 0x202, 10},
00684 { 0x203, 10},
00685 { 0x3f9, 11},
00686 { 0x402, 11},
00687 { 0x403, 11},
00688 { 0x7ed, 12},
00689 { 0x7f4, 12},
00690 { 0x7f5, 12},
00691 { 0x7f8, 12},
00692 { 0x7f9, 12},
00693 { 0x802, 12},
00694 { 0x803, 12},
00695 { 0x1002, 13},
00696 { 0x1003, 13},
00697 { 0x1ff9, 14},
00698 { 0x2002, 14},
00699 { 0x2003, 14},
00700 { 0x3efc, 15},
00701 { 0x3efd, 15},
00702 { 0x3f7c, 15},
00703 { 0x3f7d, 15}
00704 };
00705
00706
00707
00708
00709 static VLCtable coeff_RVLCtab14[19] =
00710 {
00711
00712 { 0x6, 3},
00713 { 0x1, 4},
00714 { 0x4, 5},
00715 { 0x1c, 7},
00716 { 0x3c, 8},
00717 { 0x3d, 8},
00718 { 0x7c, 9},
00719 { 0xfc, 10},
00720 { 0xfd, 10},
00721 { 0x1fc, 11},
00722 { 0x1fd, 11},
00723 { 0x3fc, 12},
00724 { 0x7fc, 13},
00725 { 0x7fd, 13},
00726 { 0xbfc, 13},
00727 { 0xbfd, 13},
00728 { 0xffc, 14},
00729 { 0xffd, 14},
00730 { 0x1ffc, 15}
00731 };
00732
00733 static VLCtable coeff_RVLCtab15[10] =
00734 {
00735
00736 { 0x7, 3},
00737 { 0xc, 6},
00738 { 0x5c, 8},
00739 { 0x7d, 9},
00740 { 0x17c, 10},
00741 { 0x2fc, 11},
00742 { 0x3fd, 12},
00743 { 0xdfc, 13},
00744 { 0x17fc, 14},
00745 { 0x17fd, 14}
00746 };
00747
00748 static VLCtable coeff_RVLCtab16[2][7] =
00749 {
00750
00751 {
00752 { 0xa, 4},
00753 { 0x1d, 7},
00754 { 0xbc, 9},
00755 { 0x2fd, 11},
00756 { 0x5fc, 12},
00757 { 0x1bfc, 14},
00758 { 0x1bfd, 14}
00759 },
00760
00761 {
00762 { 0x5, 5},
00763 { 0x5d, 8},
00764 { 0x17d, 10},
00765 { 0x5fd, 12},
00766 { 0xdfd, 13},
00767 { 0x1dfc, 14},
00768 { 0x1ffd, 15}
00769 }
00770 };
00771
00772 static VLCtable coeff_RVLCtab17[5] =
00773 {
00774
00775 { 0x8, 5},
00776 { 0x6c, 8},
00777 { 0x37c, 11},
00778 { 0xefc, 13},
00779 { 0x2ffc, 15}
00780 };
00781
00782 static VLCtable coeff_RVLCtab18[3][4] =
00783 {
00784
00785 {
00786 { 0x9, 5},
00787 { 0xbd, 9},
00788 { 0x37d, 11},
00789 { 0xefd, 13}
00790 },
00791
00792 {
00793 { 0xd, 6},
00794 { 0x1bc, 10},
00795 { 0x6fc, 12},
00796 { 0x1dfd, 14}
00797 },
00798
00799 {
00800 { 0x14, 6},
00801 { 0x1bd, 10},
00802 { 0x6fd, 12},
00803 { 0x2ffd, 15}
00804 }
00805 };
00806
00807 static VLCtable coeff_RVLCtab19[2][3] =
00808 {
00809
00810 {
00811 { 0x15, 6},
00812 { 0x1dc, 10},
00813 { 0xf7c, 13}
00814 },
00815
00816 {
00817 { 0x2c, 7},
00818 { 0x1dd, 10},
00819 { 0x1efc, 14}
00820 }
00821 };
00822
00823 static VLCtable coeff_RVLCtab20[8][2] =
00824 {
00825
00826 {
00827 { 0x2d, 7},
00828 { 0x3bc, 11}
00829 },
00830
00831 {
00832 { 0x34, 7},
00833 { 0x77c, 12}
00834 },
00835
00836 {
00837 { 0x6d, 8},
00838 { 0xf7d, 13}
00839 },
00840
00841 {
00842 { 0x74, 8},
00843 { 0x1efd, 14}
00844 },
00845
00846 {
00847 { 0x75, 8},
00848 { 0x1f7c, 14}
00849 },
00850
00851 {
00852 { 0xdc, 9},
00853 { 0x1f7d, 14}
00854 },
00855
00856 {
00857 { 0xdd, 9},
00858 { 0x1fbc, 14}
00859 },
00860
00861 {
00862 { 0xec, 9},
00863 { 0x37fc, 15}
00864 }
00865 };
00866
00867 static VLCtable coeff_RVLCtab21[21] =
00868 {
00869
00870 { 0x1ec, 10},
00871 { 0x1ed, 10},
00872 { 0x1f4, 10},
00873 { 0x3bd, 11},
00874 { 0x3dc, 11},
00875 { 0x3dd, 11},
00876 { 0x3ec, 11},
00877 { 0x3ed, 11},
00878 { 0x3f4, 11},
00879 { 0x77d, 12},
00880 { 0x7bc, 12},
00881 { 0x7bd, 12},
00882 { 0xfbc, 13},
00883 { 0xfbd, 13},
00884 { 0xfdc, 13},
00885 { 0xfdd, 13},
00886 { 0x1fbd, 14},
00887 { 0x1fdc, 14},
00888 { 0x1fdd, 14},
00889 { 0x37fd, 15},
00890 { 0x3bfc, 15}
00891 };
00892
00893
00894
00895
00896 static VLCtable coeff_RVLCtab22[2][5] =
00897 {
00898
00899 {
00900 { 0xb, 4},
00901 { 0x78, 8},
00902 { 0x3f5, 11},
00903 { 0xfec, 13},
00904 { 0x1fec, 14}
00905 },
00906
00907 {
00908 { 0x12, 5},
00909 { 0xed, 9},
00910 { 0x7dc, 12},
00911 { 0x1fed, 14},
00912 { 0x3bfd, 15}
00913 }
00914 };
00915
00916 static VLCtable coeff_RVLCtab23[3] =
00917 {
00918
00919 { 0x13, 5},
00920 { 0x3f8, 11},
00921 { 0x3dfc, 15}
00922 };
00923
00924 static VLCtable coeff_RVLCtab24[11][2] =
00925 {
00926
00927 {
00928 { 0x18, 6},
00929 { 0x7dd, 12}
00930 },
00931
00932 {
00933 { 0x19, 6},
00934 { 0x7ec, 12}
00935 },
00936
00937 {
00938 { 0x22, 6},
00939 { 0xfed, 13}
00940 },
00941
00942 {
00943 { 0x23, 6},
00944 { 0xff4, 13}
00945 },
00946
00947 {
00948 { 0x35, 7},
00949 { 0xff5, 13}
00950 },
00951
00952 {
00953 { 0x38, 7},
00954 { 0xff8, 13}
00955 },
00956
00957 {
00958 { 0x39, 7},
00959 { 0xff9, 13}
00960 },
00961
00962 {
00963 { 0x42, 7},
00964 { 0x1ff4, 14}
00965 },
00966
00967 {
00968 { 0x43, 7},
00969 { 0x1ff5, 14}
00970 },
00971
00972 {
00973 { 0x79, 8},
00974 { 0x1ff8, 14}
00975 },
00976
00977 {
00978 { 0x82, 8},
00979 { 0x3dfd, 15}
00980 }
00981 };
00982
00983
00984 static VLCtable coeff_RVLCtab25[32] =
00985 {
00986
00987 { 0x83, 8},
00988 { 0xf4, 9},
00989 { 0xf5, 9},
00990 { 0xf8, 9},
00991 { 0xf9, 9},
00992 { 0x102, 9},
00993 { 0x103, 9},
00994 { 0x1f5, 10},
00995 { 0x1f8, 10},
00996 { 0x1f9, 10},
00997 { 0x202, 10},
00998 { 0x203, 10},
00999 { 0x3f9, 11},
01000 { 0x402, 11},
01001 { 0x403, 11},
01002 { 0x7ed, 12},
01003 { 0x7f4, 12},
01004 { 0x7f5, 12},
01005 { 0x7f8, 12},
01006 { 0x7f9, 12},
01007 { 0x802, 12},
01008 { 0x803, 12},
01009 { 0x1002, 13},
01010 { 0x1003, 13},
01011 { 0x1ff9, 14},
01012 { 0x2002, 14},
01013 { 0x2003, 14},
01014 { 0x3efc, 15},
01015 { 0x3efd, 15},
01016 { 0x3f7c, 15},
01017 { 0x3f7d, 15}
01018 };
01019
01020 #endif
01021
01022
01023
01024
01025