⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vlc_codes.h

📁 网络MPEG4IP流媒体开发源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
	{0xe1, 14}, {0xe2, 14}, {0xe3, 14}, {0xe4, 14},	{0xe5, 14}, {0xe6, 14}, {0xe7, 14}, {0xe8, 14},	{0xe9, 14}, {0xea, 14}, {0xeb, 14}, {0xec, 14},	{0xed, 14}, {0xee, 14}, {0xef, 14}, {0xf0, 14},	{0xf1, 14}, {0xf2, 14}, {0xf3, 14}, {0xf4, 14},	{0xf5, 14}, {0xf6, 14}, {0xf7, 14}, {0xf8, 14},	{0xf9, 14}, {0xfa, 14}, {0xfb, 14}, {0xfc, 14},	{0xfd, 14}, {0xfe, 14}, {0xff, 14}, {0x180, 16},	{0x181, 16}, {0x182, 16}, {0x183, 16}, {0x184, 16},	{0x185, 16}, {0x186, 16}, {0x187, 16}, {0x188, 16},	{0x189, 16}, {0x18a, 16}, {0x18b, 16}, {0x18c, 16},	{0x18d, 16}, {0x18e, 16}, {0x18f, 16}, {0x190, 16},	{0x191, 16}, {0x192, 16}, {0x193, 16}, {0x194, 16},	{0x195, 16}, {0x196, 16}, {0x197, 16}, {0x198, 16},	{0x199, 16}, {0x19a, 16}, {0x19b, 16}, {0x19c, 16},	{0x19d, 16}, {0x19e, 16}, {0x19f, 16}, {0x1a0, 16},	{0x1a1, 16}, {0x1a2, 16}, {0x1a3, 16}, {0x1a4, 16},	{0x1a5, 16}, {0x1a6, 16}, {0x1a7, 16}, {0x1a8, 16},	{0x1a9, 16}, {0x1aa, 16}, {0x1ab, 16}, {0x1ac, 16},	{0x1ad, 16}, {0x1ae, 16}, {0x1af, 16}, {0x1b0, 16},	{0x1b1, 16}, {0x1b2, 16}, {0x1b3, 16}, {0x1b4, 16},	{0x1b5, 16}, {0x1b6, 16}, {0x1b7, 16}, {0x1b8, 16},	{0x1b9, 16}, {0x1ba, 16}, {0x1bb, 16}, {0x1bc, 16},	{0x1bd, 16}, {0x1be, 16}, {0x1bf, 16}, {0x1c0, 16},	{0x1c1, 16}, {0x1c2, 16}, {0x1c3, 16}, {0x1c4, 16},	{0x1c5, 16}, {0x1c6, 16}, {0x1c7, 16}, {0x1c8, 16},	{0x1c9, 16}, {0x1ca, 16}, {0x1cb, 16}, {0x1cc, 16},	{0x1cd, 16}, {0x1ce, 16}, {0x1cf, 16}, {0x1d0, 16},	{0x1d1, 16}, {0x1d2, 16}, {0x1d3, 16}, {0x1d4, 16},	{0x1d5, 16}, {0x1d6, 16}, {0x1d7, 16}, {0x1d8, 16},	{0x1d9, 16}, {0x1da, 16}, {0x1db, 16}, {0x1dc, 16},	{0x1dd, 16}, {0x1de, 16}, {0x1df, 16}, {0x1e0, 16},	{0x1e1, 16}, {0x1e2, 16}, {0x1e3, 16}, {0x1e4, 16},	{0x1e5, 16}, {0x1e6, 16}, {0x1e7, 16}, {0x1e8, 16},	{0x1e9, 16}, {0x1ea, 16}, {0x1eb, 16}, {0x1ec, 16},	{0x1ed, 16}, {0x1ee, 16}, {0x1ef, 16}, {0x1f0, 16},	{0x1f1, 16}, {0x1f2, 16}, {0x1f3, 16}, {0x1f4, 16},	{0x1f5, 16}, {0x1f6, 16}, {0x1f7, 16}, {0x1f8, 16},	{0x1f9, 16}, {0x1fa, 16}, {0x1fb, 16}, {0x1fc, 16},	{0x1fd, 16}, {0x1fe, 16}, {0x1ff, 16},};static const VLC mb_motion_table[65] = {	{0x05, 13}, {0x07, 13}, {0x05, 12}, {0x07, 12}, 	{0x09, 12}, {0x0b, 12}, {0x0d, 12}, {0x0f, 12}, 	{0x09, 11}, {0x0b, 11}, {0x0d, 11}, {0x0f, 11}, 	{0x11, 11}, {0x13, 11}, {0x15, 11}, {0x17, 11}, 	{0x19, 11}, {0x1b, 11}, {0x1d, 11}, {0x1f, 11}, 	{0x21, 11}, {0x23, 11}, {0x13, 10}, {0x15, 10}, 	{0x17, 10}, {0x07, 8}, {0x09, 8}, {0x0b, 8}, 	{0x07, 7}, {0x03, 5}, {0x03, 4}, {0x03, 3}, 	{0x01, 1}, {0x02, 3}, {0x02, 4}, {0x02, 5}, 	{0x06, 7}, {0x0a, 8}, {0x08, 8}, {0x06, 8}, 	{0x16, 10}, {0x14, 10}, {0x12, 10}, {0x22, 11}, 	{0x20, 11}, {0x1e, 11}, {0x1c, 11}, {0x1a, 11}, 	{0x18, 11}, {0x16, 11}, {0x14, 11}, {0x12, 11}, 	{0x10, 11}, {0x0e, 11}, {0x0c, 11}, {0x0a, 11}, 	{0x08, 11}, {0x0e, 12}, {0x0c, 12}, {0x0a, 12}, 	{0x08, 12}, {0x06, 12}, {0x04, 12}, {0x06, 13}, 	{0x04, 13}};/****************************************************************** * decoder tables                                                 * ******************************************************************/static const VLC mcbpc_intra_table[64] = {	{-1,0},	{20,6}, {36,6}, {52,6}, {4,4}, {4,4}, {4,4}, 	{4,4}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, 	{19,3}, {19,3}, {19,3}, {35,3}, {35,3}, {35,3}, 	{35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {51,3}, 	{51,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, 	{51,3}, {3, 1},	{3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1},	{3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1},	{3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1},	{3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1},	{3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1}, {3, 1},	{3, 1}};static const VLC mcbpc_inter_table[257] = {	{VLC_ERROR,0}, 	{255,9}, {52,9}, {36,9}, {20,9}, {49,9}, {35,8}, {35,8}, {19,8}, {19,8},	{50,8}, {50,8}, {51,7}, {51,7}, {51,7}, {51,7}, {34,7}, {34,7}, {34,7},	{34,7}, {18,7}, {18,7}, {18,7}, {18,7}, {33,7}, {33,7}, {33,7}, {33,7}, 	{17,7}, {17,7}, {17,7}, {17,7}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, 	{4,6}, {4,6}, {4,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, 	{48,6}, {48,6}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, 	{3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, 	{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 	{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 	{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 	{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {16,4}, {16,4}, {16,4}, {16,4}, 	{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 	{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 	{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 	{16,4}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 	{2,3}, {2,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 	{1,3}, {1,3}, {1,3}, {0,1}};static const VLC cbpy_table[64] = { 	{-1,0}, {-1,0}, {6,6},  {9,6},  {8,5},  {8,5},  {4,5},  {4,5},	{2,5},  {2,5},  {1,5},  {1,5},  {0,4},  {0,4},  {0,4},  {0,4}, 	{12,4}, {12,4}, {12,4}, {12,4}, {10,4}, {10,4}, {10,4}, {10,4},	{14,4}, {14,4}, {14,4}, {14,4}, {5,4},  {5,4},  {5,4},  {5,4},	{13,4}, {13,4}, {13,4}, {13,4}, {3,4},  {3,4},  {3,4},  {3,4}, 	{11,4}, {11,4}, {11,4}, {11,4}, {7,4},  {7,4},  {7,4},  {7,4},	{15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2},	{15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2}, {15, 2},	{15, 2}, {15, 2}};VLC TMNMVtab0[] = {	{3,4}, {-3,4}, {2,3}, {2,3}, {-2,3}, {-2,3}, {1,2}, {1,2}, {1,2}, {1,2},	{-1,2}, {-1,2}, {-1,2}, {-1,2}};VLC TMNMVtab1[] = {	{12,10}, {-12,10}, {11,10}, {-11,10}, {10,9}, {10,9}, {-10,9}, {-10,9},	{9,9}, {9,9}, {-9,9}, {-9,9}, {8,9}, {8,9}, {-8,9}, {-8,9}, {7,7}, {7,7},	{7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {-7,7}, {-7,7}, {-7,7}, {-7,7},	{-7,7}, {-7,7}, {-7,7}, {-7,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7}, {6,7},	{6,7}, {6,7}, {-6,7}, {-6,7}, {-6,7}, {-6,7}, {-6,7}, {-6,7}, {-6,7},	{-6,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {-5,7},	{-5,7}, {-5,7}, {-5,7}, {-5,7}, {-5,7}, {-5,7}, {-5,7}, {4,6}, {4,6}, {4,6},	{4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6},	{4,6}, {4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6},	{-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}, {-4,6}};VLC TMNMVtab2[] = {	{32,12}, {-32,12}, {31,12}, {-31,12}, {30,11}, {30,11}, {-30,11}, {-30,11},	{29,11}, {29,11}, {-29,11}, {-29,11}, {28,11}, {28,11}, {-28,11}, {-28,11},	{27,11}, {27,11}, {-27,11}, {-27,11}, {26,11}, {26,11}, {-26,11}, {-26,11},	{25,11}, {25,11}, {-25,11}, {-25,11}, {24,10}, {24,10}, {24,10}, {24,10},	{-24,10}, {-24,10}, {-24,10}, {-24,10}, {23,10}, {23,10}, {23,10}, {23,10},	{-23,10}, {-23,10}, {-23,10}, {-23,10}, {22,10}, {22,10}, {22,10}, {22,10},	{-22,10}, {-22,10}, {-22,10}, {-22,10}, {21,10}, {21,10}, {21,10}, {21,10},	{-21,10}, {-21,10}, {-21,10}, {-21,10}, {20,10}, {20,10}, {20,10}, {20,10},	{-20,10}, {-20,10}, {-20,10}, {-20,10}, {19,10}, {19,10}, {19,10}, {19,10},	{-19,10}, {-19,10}, {-19,10}, {-19,10}, {18,10}, {18,10}, {18,10}, {18,10},	{-18,10}, {-18,10}, {-18,10}, {-18,10}, {17,10}, {17,10}, {17,10}, {17,10},	{-17,10}, {-17,10}, {-17,10}, {-17,10}, {16,10}, {16,10}, {16,10}, {16,10},	{-16,10}, {-16,10}, {-16,10}, {-16,10}, {15,10}, {15,10}, {15,10}, {15,10},	{-15,10}, {-15,10}, {-15,10}, {-15,10}, {14,10}, {14,10}, {14,10}, {14,10},	{-14,10}, {-14,10}, {-14,10}, {-14,10}, {13,10}, {13,10}, {13,10}, {13,10},	{-13,10}, {-13,10}, {-13,10}, {-13,10}};VLC DCT3Dtab0[] = {	{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}};VLC DCT3Dtab1[] = {	{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}};VLC DCT3Dtab2[] = {	{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}};/* New tables for Intra luminance blocks */VLC DCT3Dtab3[] = {	{0x10401, 7}, {0x10301, 7}, {0x00601, 7}, {0x10501, 7},	{0x00701, 7}, {0x00202, 7}, {0x00103, 7}, {0x00009, 7},	{0x10002, 6}, {0x10002, 6}, {0x00501, 6}, {0x00501, 6}, 	{0x10201, 6}, {0x10201, 6}, {0x10101, 6}, {0x10101, 6},	{0x00401, 6}, {0x00401, 6}, {0x00301, 6}, {0x00301, 6},	{0x00008, 6}, {0x00008, 6}, {0x00007, 6}, {0x00007, 6}, 	{0x00102, 6}, {0x00102, 6}, {0x00006, 6}, {0x00006, 6},	{0x00201, 5}, {0x00201, 5}, {0x00201, 5}, {0x00201, 5},	{0x00005, 5}, {0x00005, 5}, {0x00005, 5}, {0x00005, 5}, 	{0x00004, 5}, {0x00004, 5}, {0x00004, 5}, {0x00004, 5}, 	{0x10001, 4}, {0x10001, 4}, {0x10001, 4}, {0x10001, 4},	{0x10001, 4}, {0x10001, 4}, {0x10001, 4}, {0x10001, 4},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2}, 	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2}, 	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00001, 2}, {0x00001, 2}, {0x00001, 2}, {0x00001, 2},	{0x00002, 3}, {0x00002, 3}, {0x00002, 3}, {0x00002, 3}, 	{0x00002, 3}, {0x00002, 3}, {0x00002, 3}, {0x00002, 3},	{0x00002, 3}, {0x00002, 3}, {0x00002, 3}, {0x00002, 3},	{0x00002, 3}, {0x00002, 3}, {0x00002, 3}, {0x00002, 3}, 	{0x00101, 4}, {0x00101, 4}, {0x00101, 4}, {0x00101, 4},	{0x00101, 4}, {0x00101, 4}, {0x00101, 4}, {0x00101, 4},	{0x00003, 4}, {0x00003, 4}, {0x00003, 4}, {0x00003, 4},	{0x00003, 4}, {0x00003, 4}, {0x00003, 4}, {0x00003, 4}};VLC DCT3Dtab4[] = {	{0x00012,10}, {0x00011,10}, {0x10e01, 9}, {0x10e01, 9},	{0x10d01, 9}, {0x10d01, 9}, {0x10c01, 9}, {0x10c01, 9},	{0x10b01, 9}, {0x10b01, 9}, {0x10a01, 9}, {0x10a01, 9}, 	{0x10102, 9}, {0x10102, 9}, {0x10004, 9}, {0x10004, 9},	{0x00c01, 9}, {0x00c01, 9}, {0x00b01, 9}, {0x00b01, 9},	{0x00702, 9}, {0x00702, 9}, {0x00602, 9}, {0x00602, 9}, 	{0x00502, 9}, {0x00502, 9}, {0x00303, 9}, {0x00303, 9},	{0x00203, 9}, {0x00203, 9}, {0x00106, 9}, {0x00106, 9},	{0x00105, 9}, {0x00105, 9}, {0x00010, 9}, {0x00010, 9}, 	{0x00402, 9}, {0x00402, 9}, {0x0000f, 9}, {0x0000f, 9},	{0x0000e, 9}, {0x0000e, 9}, {0x0000d, 9}, {0x0000d, 9},	{0x10801, 8}, {0x10801, 8}, {0x10801, 8}, {0x10801, 8}, 	{0x10701, 8}, {0x10701, 8}, {0x10701, 8}, {0x10701, 8},	{0x10601, 8}, {0x10601, 8}, {0x10601, 8}, {0x10601, 8},	{0x10003, 8}, {0x10003, 8}, {0x10003, 8}, {0x10003, 8},  	{0x00a01, 8}, {0x00a01, 8}, {0x00a01, 8}, {0x00a01, 8},	{0x00901, 8}, {0x00901, 8}, {0x00901, 8}, {0x00901, 8},	{0x00801, 8}, {0x00801, 8}, {0x00801, 8}, {0x00801, 8},  	{0x10901, 8}, {0x10901, 8}, {0x10901, 8}, {0x10901, 8},	{0x00302, 8}, {0x00302, 8}, {0x00302, 8}, {0x00302, 8},	{0x00104, 8}, {0x00104, 8}, {0x00104, 8}, {0x00104, 8},  	{0x0000c, 8}, {0x0000c, 8}, {0x0000c, 8}, {0x0000c, 8},	{0x0000b, 8}, {0x0000b, 8}, {0x0000b, 8}, {0x0000b, 8},	{0x0000a, 8}, {0x0000a, 8}, {0x0000a, 8}, {0x0000a, 8} };VLC DCT3Dtab5[] = {	{0x10007,11}, {0x10007,11}, {0x10006,11}, {0x10006,11},	{0x00016,11}, {0x00016,11}, {0x00015,11}, {0x00015,11},	{0x10202,10}, {0x10202,10}, {0x10202,10}, {0x10202,10},  	{0x10103,10}, {0x10103,10}, {0x10103,10}, {0x10103,10},	{0x10005,10}, {0x10005,10}, {0x10005,10}, {0x10005,10},	{0x00d01,10}, {0x00d01,10}, {0x00d01,10}, {0x00d01,10},  	{0x00503,10}, {0x00503,10}, {0x00503,10}, {0x00503,10},	{0x00802,10}, {0x00802,10}, {0x00802,10}, {0x00802,10},	{0x00403,10}, {0x00403,10}, {0x00403,10}, {0x00403,10},  	{0x00304,10}, {0x00304,10}, {0x00304,10}, {0x00304,10},	{0x00204,10}, {0x00204,10}, {0x00204,10}, {0x00204,10},	{0x00107,10}, {0x00107,10}, {0x00107,10}, {0x00107,10}, 	{0x00014,10}, {0x00014,10}, {0x00014,10}, {0x00014,10},	{0x00013,10}, {0x00013,10}, {0x00013,10}, {0x00013,10},	{0x00017,11}, {0x00017,11}, {0x00018,11}, {0x00018,11}, 	{0x00108,11}, {0x00108,11}, {0x00902,11}, {0x00902,11},	{0x10302,11}, {0x10302,11}, {0x10402,11}, {0x10402,11},	{0x10f01,11}, {0x10f01,11}, {0x11001,11}, {0x11001,11}, 	{0x00019,12}, {0x0001a,12}, {0x0001b,12}, {0x00109,12},	{0x00603,12}, {0x0010a,12}, {0x00205,12}, {0x00703,12},	{0x00e01,12}, {0x10008,12}, {0x10502,12}, {0x10602,12}, 	{0x11101,12}, {0x11201,12}, {0x11301,12}, {0x11401,12},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7},	{0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}, {0x01bff, 7}};VLC ERRtab[] = {	{VLC_ERROR, 0}, {VLC_ERROR, 0}, {VLC_ERROR, 0},	{VLC_ERROR, 0}, {VLC_ERROR, 0}, {VLC_ERROR, 0},	{VLC_ERROR, 0}, {VLC_ERROR, 0}, {VLC_ERROR, 0},	{VLC_ERROR, 0}, {VLC_ERROR, 0}, {VLC_ERROR, 0},	{VLC_ERROR, 0}, {VLC_ERROR, 0}, {VLC_ERROR, 0}};static const VLC dc_lum_tab[] = {	{0, 0},	{4, 3}, {3, 3}, {0, 3},	{2, 2}, {2, 2}, {1, 2}, {1, 2},};static __inline int get_coeff(Bitstream * bs, int *run, int *last,							  int intra, int short_video_header) {	uint32_t mode;	const VLC *tab;	int32_t level;	if(short_video_header) // inter-VLCs will be used for both intra and inter blocks		intra = 0;		tab = &DCT3D[intra][BitstreamShowBits(bs, 12)];		if(tab->code == -1)		goto error;	BitstreamSkip(bs, tab->len);	if(tab->code != ESCAPE) {		if(!intra) 		{			*run = (tab->code >> 4) & 255;			level = tab->code & 15;			*last = (tab->code >> 12) & 1;		}		else 		{			*run = (tab->code >> 8) & 255;			level = tab->code & 255;			*last = (tab->code >> 16) & 1;		}		return BitstreamGetBit(bs) ? -level : level;	}	if(short_video_header)	{		// escape mode 4 - H.263 type, only used if short_video_header = 1 		*last = BitstreamGetBit(bs);		*run = BitstreamGetBits(bs, 6);		level = BitstreamGetBits(bs, 8);		if (level == 0 || level == 128) 			DEBUG1("Illegal LEVEL for ESCAPE mode 4:", level);		return (level >= 128 ? -(256 - level) : level);	}		mode = BitstreamShowBits(bs, 2);	if(mode < 3) {		BitstreamSkip(bs, (mode == 2) ? 2 : 1);		tab = &DCT3D[intra][BitstreamShowBits(bs, 12)];		if (tab->code == -1)			goto error;		BitstreamSkip(bs, tab->len);		if (!intra) {					*run = (tab->code >> 4) & 255;			level = tab->code & 15;			*last = (tab->code >> 12) & 1;		}		else 		{			*run = (tab->code >> 8) & 255;			level = tab->code & 255;			*last = (tab->code >> 16) & 1;		}      		if(mode < 2) // first escape mode, level is offset			level += max_level[*last + (!intra<<1)][*run]; // need to add back the max level		else if(mode == 2)  // second escape mode, run is offset			*run += max_run[*last + (!intra<<1)][level] + 1;				return BitstreamGetBit(bs) ? -level : level;	} 	// third escape mode - fixed length codes	BitstreamSkip(bs, 2);	*last = BitstreamGetBits(bs, 1);	*run = BitstreamGetBits(bs, 6);				BitstreamSkip(bs, 1);				// marker	level = BitstreamGetBits(bs, 12);			BitstreamSkip(bs, 1);				// marker	return (level & 0x800) ? (level | (-1 ^ 0xfff)) : level; error:	*run = VLC_ERROR;	return 0;}#endif /* _VLC_CODES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -