vlc.c
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:4k
源码类别:

DVD

开发平台:

Others

  1. #include "Includesysdefs.h"
  2. #include "PlaycoreCaptureLogompeg_encvlc.h"
  3. #ifdef SUPPORT_CAPTURE_LOGO
  4. CONST VLCtable mbtypetab[32]=
  5. { /* I */
  6.   {0,0}, {1,1}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0},
  7.   {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0},
  8.   {0,0}, {1,2}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0},
  9.   {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}
  10. };
  11. /* Table B-12, variable length codes for dct_dc_size_luminance
  12.  *
  13.  * indexed by [dct_dc_size_luminance]
  14.  */
  15. CONST sVLCtable DClumtab[12]=
  16. {
  17.   {0x0004,3}, {0x0000,2}, {0x0001,2}, {0x0005,3}, {0x0006,3}, {0x000e,4},
  18.   {0x001e,5}, {0x003e,6}, {0x007e,7}, {0x00fe,8}, {0x01fe,9}, {0x01ff,9}
  19. };
  20. /* Table B-13, variable length codes for dct_dc_size_chrominance
  21.  *
  22.  * indexed by [dct_dc_size_chrominance]
  23.  */
  24. CONST sVLCtable DCchromtab[12]=
  25. {
  26.   {0x0000,2}, {0x0001,2}, {0x0002,2}, {0x0006,3}, {0x000e,4}, {0x001e,5},
  27.   {0x003e,6}, {0x007e,7}, {0x00fe,8}, {0x01fe,9}, {0x03fe,10},{0x03ff,10}
  28. };
  29. /* Table B-14, DCT coefficients table zero
  30.  *
  31.  * indexed by [run][level-1]
  32.  * split into two tables (dct_code_tab1, dct_code_tab2) to reduce size
  33.  * 'first DCT coefficient' condition and 'End of Block' are treated elsewhere
  34.  * codes do not include s (sign bit)
  35.  */
  36. CONST VLCtable dct_code_tab1[2][40]=
  37. {
  38.  /* run = 0, level = 1...40 */
  39.  {
  40.   {0x03, 2}, {0x04, 4}, {0x05, 5}, {0x06, 7},
  41.   {0x26, 8}, {0x21, 8}, {0x0a,10}, {0x1d,12},
  42.   {0x18,12}, {0x13,12}, {0x10,12}, {0x1a,13},
  43.   {0x19,13}, {0x18,13}, {0x17,13}, {0x1f,14},
  44.   {0x1e,14}, {0x1d,14}, {0x1c,14}, {0x1b,14},
  45.   {0x1a,14}, {0x19,14}, {0x18,14}, {0x17,14},
  46.   {0x16,14}, {0x15,14}, {0x14,14}, {0x13,14},
  47.   {0x12,14}, {0x11,14}, {0x10,14}, {0x18,15},
  48.   {0x17,15}, {0x16,15}, {0x15,15}, {0x14,15},
  49.   {0x13,15}, {0x12,15}, {0x11,15}, {0x10,15}
  50.  },
  51.  /* run = 1, level = 1...18 */
  52.  {
  53.   {0x03, 3}, {0x06, 6}, {0x25, 8}, {0x0c,10},
  54.   {0x1b,12}, {0x16,13}, {0x15,13}, {0x1f,15},
  55.   {0x1e,15}, {0x1d,15}, {0x1c,15}, {0x1b,15},
  56.   {0x1a,15}, {0x19,15}, {0x13,16}, {0x12,16},
  57.   {0x11,16}, {0x10,16}, {0x00, 0}, {0x00, 0},
  58.   {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0},
  59.   {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0},
  60.   {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0},
  61.   {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0},
  62.   {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}
  63.  }
  64. };
  65. CONST VLCtable dct_code_tab2[30][5]=
  66. {
  67.   /* run = 2...31, level = 1...5 */
  68.   {{0x05, 4}, {0x04, 7}, {0x0b,10}, {0x14,12}, {0x14,13}},
  69.   {{0x07, 5}, {0x24, 8}, {0x1c,12}, {0x13,13}, {0x00, 0}},
  70.   {{0x06, 5}, {0x0f,10}, {0x12,12}, {0x00, 0}, {0x00, 0}},
  71.   {{0x07, 6}, {0x09,10}, {0x12,13}, {0x00, 0}, {0x00, 0}},
  72.   {{0x05, 6}, {0x1e,12}, {0x14,16}, {0x00, 0}, {0x00, 0}},
  73.   {{0x04, 6}, {0x15,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  74.   {{0x07, 7}, {0x11,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  75.   {{0x05, 7}, {0x11,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  76.   {{0x27, 8}, {0x10,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  77.   {{0x23, 8}, {0x1a,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  78.   {{0x22, 8}, {0x19,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  79.   {{0x20, 8}, {0x18,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  80.   {{0x0e,10}, {0x17,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  81.   {{0x0d,10}, {0x16,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  82.   {{0x08,10}, {0x15,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  83.   {{0x1f,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  84.   {{0x1a,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  85.   {{0x19,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  86.   {{0x17,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  87.   {{0x16,12}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  88.   {{0x1f,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  89.   {{0x1e,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  90.   {{0x1d,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  91.   {{0x1c,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  92.   {{0x1b,13}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  93.   {{0x1f,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  94.   {{0x1e,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  95.   {{0x1d,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  96.   {{0x1c,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}},
  97.   {{0x1b,16}, {0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0}}
  98. };
  99. #endif