MP4_VLD.H
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:8k
源码类别:

VC书籍

开发平台:

Visual C++

  1. #ifndef _MP4_VLD_H_
  2. #define _MP4_VLD_H_
  3. #define ESCAPE 7167
  4. /*** *** ***/
  5. typedef struct {
  6. int val, len;
  7. } tab_type;
  8. /***/
  9. typedef struct {
  10. int last;
  11. int run;
  12. int level;
  13. } event_t;
  14. /*** *** ***/
  15. // B16 VLC解码表  - 112个值
  16. static tab_type tableB16_1[] = 
  17. {4353, 7},  {4289, 7},  {385, 7},  {4417, 7},  {449, 7},  {130, 7},  {67, 7},  {9, 7},  {4098, 6},  {4098, 6},  
  18. {321, 6},  {321, 6},  {4225, 6},  {4225, 6},  {4161, 6},  {4161, 6},  {257, 6},  {257, 6},  {193, 6},  {193, 6},  
  19. {8, 6},  {8, 6},  {7, 6},  {7, 6},  {66, 6},  {66, 6},  {6, 6},  {6, 6},  {129, 5},  {129, 5},  
  20. {129, 5},  {129, 5},  {5, 5},  {5, 5},  {5, 5},  {5, 5},  {4, 5},  {4, 5},  {4, 5},  {4, 5},  
  21. {4097, 4},  {4097, 4},  {4097, 4},  {4097, 4},  {4097, 4},  {4097, 4},  {4097, 4},  {4097, 4},  {1, 2},  {1, 2},  
  22. {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  
  23. {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  
  24. {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  {1, 2},  
  25. {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  
  26. {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {2, 3},  {65, 4},  {65, 4},  {65, 4},  {65, 4},  
  27. {65, 4},  {65, 4},  {65, 4},  {65, 4},  {3, 4},  {3, 4},  {3, 4},  {3, 4},  {3, 4},  {3, 4},  
  28. {3, 4},  {3, 4} 
  29. };
  30. static tab_type tableB16_2[] = { {18, 10},  {17, 10},  {4993, 9},  {4993, 9},  {4929, 9},  {4929, 9},  {4865, 9},  {4865, 9},  {4801, 9},  {4801, 9},  {4737, 9},  {4737, 9},  {4162, 9},  {4162, 9},  {4100, 9},  {4100, 9},  {769, 9},  {769, 9},  {705, 9},  {705, 9},  {450, 9},  {450, 9},  {386, 9},  {386, 9},  {322, 9},  {322, 9},  {195, 9},  {195, 9},  {131, 9},  {131, 9},  {70, 9},  {70, 9},  {69, 9},  {69, 9},  {16, 9},  {16, 9},  {258, 9},  {258, 9},  {15, 9},  {15, 9},  {14, 9},  {14, 9},  {13, 9},  {13, 9},  {4609, 8},  {4609, 8},  {4609, 8},  {4609, 8},  {4545, 8},  {4545, 8},  {4545, 8},  {4545, 8},  {4481, 8},  {4481, 8},  {4481, 8},  {4481, 8},  {4099, 8},  {4099, 8},  {4099, 8},  {4099, 8},  {641, 8},  {641, 8},  {641, 8},  {641, 8},  {577, 8},  {577, 8},  {577, 8},  {577, 8},  {513, 8},  {513, 8},  {513, 8},  {513, 8},  {4673, 8},  {4673, 8},  {4673, 8},  {4673, 8},  {194, 8},  {194, 8},  {194, 8},  {194, 8},  {68, 8},  {68, 8},  {68, 8},  {68, 8},  {12, 8},  {12, 8},  {12, 8},  {12, 8},  {11, 8},  {11, 8},  {11, 8},  {11, 8},  {10, 8},  {10, 8},  {10, 8},  {10, 8} };
  31. static tab_type tableB16_3[] = { {4103, 11},  {4103, 11},  {4102, 11},  {4102, 11},  {22, 11},  {22, 11},  {21, 11},  {21, 11},  {4226, 10},  {4226, 10},  {4226, 10},  {4226, 10},  {4163, 10},  {4163, 10},  {4163, 10},  {4163, 10},  {4101, 10},  {4101, 10},  {4101, 10},  {4101, 10},  {833, 10},  {833, 10},  {833, 10},  {833, 10},  {323, 10},  {323, 10},  {323, 10},  {323, 10},  {514, 10},  {514, 10},  {514, 10},  {514, 10},  {259, 10},  {259, 10},  {259, 10},  {259, 10},  {196, 10},  {196, 10},  {196, 10},  {196, 10},  {132, 10},  {132, 10},  {132, 10},  {132, 10},  {71, 10},  {71, 10},  {71, 10},  {71, 10},  {20, 10},  {20, 10},  {20, 10},  {20, 10},  {19, 10},  {19, 10},  {19, 10},  {19, 10},  {23, 11},  {23, 11},  {24, 11},  {24, 11},  {72, 11},  {72, 11},  {578, 11},  {578, 11},  {4290, 11},  {4290, 11},  {4354, 11},  {4354, 11},  {5057, 11},  {5057, 11},  {5121, 11},  {5121, 11},  {25, 12},  {26, 12},  {27, 12},  {73, 12},  {387, 12},  {74, 12},  {133, 12},  {451, 12},  {897, 12},  {4104, 12},  {4418, 12},  {4482, 12},  {5185, 12},  {5249, 12},  {5313, 12},  {5377, 12},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7},  {7167, 7} };
  32. // B17 VLC解码表
  33. static tab_type tableB17_1[] = { {4225,7}, {4209,7}, {4193,7}, {4177,7}, {193,7}, {177,7}, {161,7}, {4,7}, {4161,6}, {4161,6}, {4145,6}, {4145,6}, {4129,6}, {4129,6}, {4113,6}, {4113,6}, {145,6}, {145,6}, {129,6}, {129,6}, {113,6}, {113,6}, {97,6}, {97,6}, {18,6}, {18,6}, {3,6}, {3,6}, {81,5}, {81,5}, {81,5}, {81,5}, {65,5}, {65,5}, {65,5}, {65,5}, {49,5}, {49,5}, {49,5}, {49,5}, {4097,4}, {4097,4}, {4097,4}, {4097,4}, {4097,4}, {4097,4}, {4097,4}, {4097,4}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {1,2}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {17,3}, {33,4}, {33,4}, {33,4}, {33,4}, {33,4}, {33,4}, {33,4}, {33,4}, {2,4}, {2,4},{2,4},{2,4}, {2,4}, {2,4},{2,4},{2,4} };
  34. static tab_type tableB17_2[] = { {9,10}, {8,10}, {4481,9}, {4481,9}, {4465,9}, {4465,9}, {4449,9}, {4449,9}, {4433,9}, {4433,9}, {4417,9}, {4417,9}, {4401,9}, {4401,9}, {4385,9}, {4385,9}, {4369,9}, {4369,9}, {4098,9}, {4098,9}, {353,9}, {353,9}, {337,9}, {337,9}, {321,9}, {321,9}, {305,9}, {305,9}, {289,9}, {289,9}, {273,9}, {273,9}, {257,9}, {257,9}, {241,9}, {241,9}, {66,9}, {66,9}, {50,9}, {50,9}, {7,9}, {7,9}, {6,9}, {6,9}, {4353,8}, {4353,8}, {4353,8}, {4353,8}, {4337,8}, {4337,8}, {4337,8}, {4337,8}, {4321,8}, {4321,8}, {4321,8}, {4321,8}, {4305,8}, {4305,8}, {4305,8}, {4305,8}, {4289,8}, {4289,8}, {4289,8}, {4289,8}, {4273,8}, {4273,8}, {4273,8}, {4273,8}, {4257,8}, {4257,8}, {4257,8}, {4257,8}, {4241,8}, {4241,8}, {4241,8}, {4241,8}, {225,8}, {225,8}, {225,8}, {225,8}, {209,8}, {209,8}, {209,8}, {209,8}, {34,8}, {34,8}, {34,8}, {34,8}, {19,8}, {19,8}, {19,8}, {19,8}, {5,8}, {5,8}, {5,8}, {5,8}, };
  35. static tab_type tableB17_3[] = { {4114,11}, {4114,11}, {4099,11}, {4099,11}, {11,11}, {11,11}, {10,11}, {10,11}, {4545,10}, {4545,10}, {4545,10}, {4545,10}, {4529,10}, {4529,10}, {4529,10}, {4529,10}, {4513,10}, {4513,10}, {4513,10}, {4513,10}, {4497,10}, {4497,10}, {4497,10}, {4497,10}, {146,10}, {146,10}, {146,10}, {146,10}, {130,10}, {130,10}, {130,10}, {130,10}, {114,10}, {114,10}, {114,10}, {114,10}, {98,10}, {98,10}, {98,10}, {98,10}, {82,10}, {82,10}, {82,10}, {82,10}, {51,10}, {51,10}, {51,10}, {51,10}, {35,10}, {35,10}, {35,10}, {35,10}, {20,10}, {20,10}, {20,10}, {20,10}, {12,11}, {12,11}, {21,11}, {21,11}, {369,11}, {369,11}, {385,11}, {385,11}, {4561,11}, {4561,11}, {4577,11}, {4577,11}, {4593,11}, {4593,11}, {4609,11}, {4609,11}, {22,12}, {36,12}, {67,12}, {83,12}, {99,12}, {162,12}, {401,12}, {417,12}, {4625,12}, {4641,12}, {4657,12}, {4673,12}, {4689,12}, {4705,12}, {4721,12}, {4737,12}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, {7167,7}, };
  36. /***/
  37. #endif // _MP4_VLD_H_
  38. /***/
  39. extern tab_type tableB16_1[];
  40. extern tab_type tableB16_2[];
  41. extern tab_type tableB16_3[];
  42. extern tab_type tableB17_1[];
  43. extern tab_type tableB17_2[];
  44. extern tab_type tableB17_3[];
  45. /***/
  46. int vldTableB19(int last, int run);
  47. int vldTableB20(int last, int run);
  48. int vldTableB21(int last, int level);
  49. int vldTableB22(int last, int level);
  50. tab_type *vldTableB16(int code);
  51. tab_type *vldTableB17(int code);
  52. /***/
  53. extern event_t vld_event(int intraFlag);
  54. extern event_t vld_intra_dct();
  55. extern event_t vld_inter_dct();
  56. /***/