📄 vp3data.h
字号:
#ifndef VP3DATA_H#define VP3DATA_H/* these coefficients dequantize intraframe Y plane coefficients * (note: same as JPEG) */static int16_t vp31_intra_y_dequant[64] ={ 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 58, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99};/* these coefficients dequantize intraframe C plane coefficients * (note: same as JPEG) */static int16_t vp31_intra_c_dequant[64] ={ 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99};/* these coefficients dequantize interframe coefficients (all planes) */static int16_t vp31_inter_dequant[64] ={ 16, 16, 16, 20, 24, 28, 32, 40, 16, 16, 20, 24, 28, 32, 40, 48, 16, 20, 24, 28, 32, 40, 48, 64, 20, 24, 28, 32, 40, 48, 64, 64, 24, 28, 32, 40, 48, 64, 64, 64, 28, 32, 40, 48, 64, 64, 64, 96, 32, 40, 48, 64, 64, 64, 96, 128, 40, 48, 64, 64, 64, 96, 128, 128};static int16_t vp31_dc_scale_factor[64] ={ 220, 200, 190, 180, 170, 170, 160, 160, 150, 150, 140, 140, 130, 130, 120, 120, 110, 110, 100, 100, 90, 90, 90, 80, 80, 80, 70, 70, 70, 60, 60, 60, 60, 50, 50, 50, 50, 40, 40, 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10};static uint32_t vp31_ac_scale_factor[64] ={ 500, 450, 400, 370, 340, 310, 285, 265, 245, 225, 210, 195, 185, 180, 170, 160, 150, 145, 135, 130, 125, 115, 110, 107, 100, 96, 93, 89, 85, 82, 75, 74, 70, 68, 64, 60, 57, 56, 52, 50, 49, 45, 44, 43, 40, 38, 37, 35, 33, 32, 30, 29, 28, 25, 24, 22, 21, 19, 18, 17, 15, 13, 12, 10};/* table used to convert natural order <-> zigzag order */static const int dezigzag_index[64] ={ 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63};/* inverse of dezigzag index */static int zigzag_index[64];static const uint16_t dc_bias[16][32][2] = { { /* DC bias table 0 */ { 0x2D, 6 }, { 0x26, 7 }, { 0x166, 9 }, { 0x4E, 8 }, { 0x2CE, 10 }, { 0x59E, 11 }, { 0x27D, 11 }, { 0x8, 5 }, { 0x4F9, 12 }, { 0xF, 4 }, { 0xE, 4 }, { 0x1B, 5 }, { 0x6, 4 }, { 0x8, 4 }, { 0x5, 4 }, { 0x1A, 5 }, { 0x15, 5 }, { 0x7, 4 }, { 0xC, 4 }, { 0x1, 3 }, { 0x0, 3 }, { 0x9, 4 }, { 0x17, 5 }, { 0x29, 6 }, { 0x28, 6 }, { 0xB2, 8 }, { 0x4F8, 12 }, { 0x59F, 11 }, { 0x9E, 9 }, { 0x13F, 10 }, { 0x12, 6 }, { 0x58, 7 } }, { /* DC bias table 1 */ { 0x10, 5 }, { 0x47, 7 }, { 0x1FF, 9 }, { 0x8C, 8 }, { 0x3FC, 10 }, { 0x46A, 11 }, { 0x469, 11 }, { 0x22, 6 }, { 0x11A1, 13 }, { 0xE, 4 }, { 0xD, 4 }, { 0x4, 4 }, { 0x5, 4 }, { 0x9, 4 }, { 0x6, 4 }, { 0x1E, 5 }, { 0x16, 5 }, { 0x7, 4 }, { 0xC, 4 }, { 0x1, 3 }, { 0x0, 3 }, { 0xA, 4 }, { 0x17, 5 }, { 0x7D, 7 }, { 0x7E, 7 }, { 0x11B, 9 }, { 0x8D1, 12 }, { 0x3FD, 10 }, { 0x46B, 11 }, { 0x11A0, 13 }, { 0x7C, 7 }, { 0xFE, 8 } }, { /* DC bias table 2 */ { 0x16, 5 }, { 0x20, 6 }, { 0x86, 8 }, { 0x87, 8 }, { 0x367, 10 }, { 0x6CC, 11 }, { 0x6CB, 11 }, { 0x6E, 7 }, { 0x366D, 14 }, { 0xF, 4 }, { 0xE, 4 }, { 0x4, 4 }, { 0x5, 4 }, { 0xA, 4 }, { 0x6, 4 }, { 0x1A, 5 }, { 0x11, 5 }, { 0x7, 4 }, { 0xC, 4 }, { 0x1, 3 }, { 0x0, 3 }, { 0x9, 4 }, { 0x17, 5 }, { 0x6F, 7 }, { 0x6D, 7 }, { 0x364, 10 }, { 0xD9A, 12 }, { 0x6CA, 11 }, { 0x1B37, 13 }, { 0x366C, 14 }, { 0x42, 7 }, { 0xD8, 8 } }, { /* DC bias table 3 */ { 0x0, 4 }, { 0x2D, 6 }, { 0xF7, 8 }, { 0x58, 7 }, { 0x167, 9 }, { 0x2CB, 10 }, { 0x2CA, 10 }, { 0xE, 6 }, { 0x1661, 13 }, { 0x3, 3 }, { 0x2, 3 }, { 0x8, 4 }, { 0x9, 4 }, { 0xD, 4 }, { 0x2, 4 }, { 0x1F, 5 }, { 0x17, 5 }, { 0x1, 4 }, { 0xC, 4 }, { 0xE, 4 }, { 0xA, 4 }, { 0x6, 5 }, { 0x78, 7 }, { 0xF, 6 }, { 0x7A, 7 }, { 0x164, 9 }, { 0x599, 11 }, { 0x2CD, 10 }, { 0xB31, 12 }, { 0x1660, 13 }, { 0x79, 7 }, { 0xF6, 8 } }, { /* DC bias table 4 */ { 0x3, 4 }, { 0x3C, 6 }, { 0xF, 7 }, { 0x7A, 7 }, { 0x1D, 8 }, { 0x20, 9 }, { 0x72, 10 }, { 0x6, 6 }, { 0x399, 13 }, { 0x4, 3 }, { 0x5, 3 }, { 0x5, 4 }, { 0x6, 4 }, { 0xE, 4 }, { 0x4, 4 }, { 0x0, 4 }, { 0x19, 5 }, { 0x2, 4 }, { 0xD, 4 }, { 0x7, 4 }, { 0x1F, 5 }, { 0x30, 6 }, { 0x11, 8 }, { 0x31, 6 }, { 0x5, 6 }, { 0x21, 9 }, { 0xE7, 11 }, { 0x38, 9 }, { 0x1CD, 12 }, { 0x398, 13 }, { 0x7B, 7 }, { 0x9, 7 } }, { /* DC bias table 5 */ { 0x9, 4 }, { 0x2, 5 }, { 0x74, 7 }, { 0x7, 6 }, { 0xEC, 8 }, { 0xD1, 9 }, { 0x1A6, 10 }, { 0x6, 6 }, { 0xD21, 13 }, { 0x5, 3 }, { 0x6, 3 }, { 0x8, 4 }, { 0x7, 4 }, { 0xF, 4 }, { 0x4, 4 }, { 0x0, 4 }, { 0x1C, 5 }, { 0x2, 4 }, { 0x5, 4 }, { 0x3, 4 }, { 0xC, 5 }, { 0x35, 7 }, { 0x1A7, 10 }, { 0x1B, 6 }, { 0x77, 7 }, { 0x1A5, 10 }, { 0x349, 11 }, { 0xD0, 9 }, { 0x691, 12 }, { 0xD20, 13 }, { 0x75, 7 }, { 0xED, 8 } }, { /* DC bias table 6 */ { 0xA, 4 }, { 0xC, 5 }, { 0x12, 6 }, { 0x1B, 6 }, { 0xB7, 8 }, { 0x16C, 9 }, { 0x99, 9 }, { 0x5A, 7 }, { 0x16D8, 13 }, { 0x7, 3 }, { 0x6, 3 }, { 0x9, 4 }, { 0x8, 4 }, { 0x0, 3 }, { 0x5, 4 }, { 0x17, 5 }, { 0xE, 5 }, { 0x2, 4 }, { 0x3, 4 }, { 0xF, 5 }, { 0x1A, 6 }, { 0x4D, 8 }, { 0x2DB3, 14 }, { 0x2C, 6 }, { 0x11, 6 }, { 0x2DA, 10 }, { 0x5B7, 11 }, { 0x98, 9 }, { 0xB6D, 12 }, { 0x2DB2, 14 }, { 0x10, 6 }, { 0x27, 7 } }, { /* DC bias table 7 */ { 0xD, 4 }, { 0xF, 5 }, { 0x1D, 6 }, { 0x8, 5 }, { 0x51, 7 }, { 0x56, 8 }, { 0xAF, 9 }, { 0x2A, 7 }, { 0x148A, 13 }, { 0x7, 3 }, { 0x0, 2 }, { 0x8, 4 }, { 0x9, 4 }, { 0xC, 4 }, { 0x6, 4 }, { 0x17, 5 }, { 0xB, 5 }, { 0x16, 5 }, { 0x15, 5 }, { 0x9, 5 }, { 0x50, 7 }, { 0xAE, 9 }, { 0x2917, 14 }, { 0x1C, 6 }, { 0x14, 6 }, { 0x290, 10 }, { 0x523, 11 }, { 0x149, 9 }, { 0xA44, 12 }, { 0x2916, 14 }, { 0x53, 7 }, { 0xA5, 8 } }, { /* DC bias table 8 */ { 0x1, 4 }, { 0x1D, 6 }, { 0xF5, 8 }, { 0xF4, 8 }, { 0x24D, 10 }, { 0x499, 11 }, { 0x498, 11 }, { 0x1, 5 }, { 0x21, 6 }, { 0x6, 3 }, { 0x5, 3 }, { 0x6, 4 }, { 0x5, 4 }, { 0x2, 4 }, { 0x7, 5 }, { 0x25, 6 }, { 0x7B, 7 }, { 0x1C, 6 }, { 0x20, 6 }, { 0xD, 6 }, { 0x48, 7 }, { 0x92, 8 }, { 0x127, 9 }, { 0xE, 4 }, { 0x4, 4 }, { 0x11, 5 }, { 0xC, 6 }, { 0x3C, 6 }, { 0xF, 5 }, { 0x0, 5 }, { 0x1F, 5 }, { 0x13, 5 } }, { /* DC bias table 9 */ { 0x5, 4 }, { 0x3C, 6 }, { 0x40, 7 }, { 0xD, 7 }, { 0x31, 9 }, { 0x61, 10 }, { 0x60, 10 }, { 0x2, 5 }, { 0xF5, 8 }, { 0x6, 3 }, { 0x5, 3 }, { 0x7, 4 }, { 0x6, 4 }, { 0x2, 4 }, { 0x9, 5 }, { 0x25, 6 }, { 0x7, 6 }, { 0x21, 6 }, { 0x24, 6 }, { 0x10, 6 }, { 0x41, 7 }, { 0xF4, 8 }, { 0x19, 8 }, { 0xE, 4 }, { 0x3, 4 }, { 0x11, 5 }, { 0x11, 6 }, { 0x3F, 6 }, { 0x3E, 6 }, { 0x7B, 7 }, { 0x0, 4 }, { 0x13, 5 } }, { /* DC bias table 10 */ { 0xA, 4 }, { 0x7, 5 }, { 0x1, 6 }, { 0x9, 6 }, { 0x131, 9 }, { 0x261, 10 }, { 0x260, 10 }, { 0x15, 6 }, { 0x1, 7 }, { 0x7, 3 }, { 0x6, 3 }, { 0x8, 4 }, { 0x7, 4 }, { 0x6, 4 }, { 0x12, 5 }, { 0x2F, 6 }, { 0x14, 6 }, { 0x27, 6 }, { 0x2D, 6 }, { 0x16, 6 }, { 0x4D, 7 }, { 0x99, 8 }, { 0x0, 7 }, { 0x4, 4 }, { 0x1, 4 }, { 0x5, 5 }, { 0x17, 6 }, { 0x2E, 6 }, { 0x2C, 6 }, { 0x8, 6 }, { 0x6, 5 }, { 0x1, 5 } }, { /* DC bias table 11 */ { 0x0, 3 }, { 0xE, 5 }, { 0x17, 6 }, { 0x2A, 6 }, { 0x10, 7 }, { 0xF9, 10 }, { 0xF8, 10 }, { 0x1E, 7 }, { 0x3F, 8 }, { 0x7, 3 }, { 0x6, 3 }, { 0x9, 4 }, { 0x8, 4 }, { 0x6, 4 }, { 0xF, 5 }, { 0x5, 5 }, { 0x16, 6 }, { 0x29, 6 }, { 0x2B, 6 }, { 0x15, 6 }, { 0x50, 7 }, { 0x11, 7 }, { 0x7D, 9 }, { 0x4, 4 }, { 0x17, 5 }, { 0x6, 5 }, { 0x14, 6 }, { 0x2C, 6 }, { 0x2D, 6 }, { 0xE, 6 }, { 0x9, 6 }, { 0x51, 7 } }, { /* DC bias table 12 */ { 0x2, 3 }, { 0x18, 5 }, { 0x2F, 6 }, { 0xD, 5 }, { 0x53, 7 }, { 0x295, 10 }, { 0x294, 10 }, { 0xA4, 8 }, { 0x7C, 8 }, { 0x0, 2 }, { 0x7, 3 }, { 0x9, 4 }, { 0x8, 4 }, { 0x1B, 5 }, { 0xC, 5 }, { 0x28, 6 }, { 0x6A, 7 }, { 0x1E, 6 }, { 0x1D, 6 }, { 0x69, 7 }, { 0xD7, 8 }, { 0x7D, 8 }, { 0x14B, 9 }, { 0x19, 5 }, { 0x16, 5 }, { 0x2E, 6 }, { 0x1C, 6 }, { 0x2B, 6 }, { 0x2A, 6 }, { 0x68, 7 }, { 0x3F, 7 }, { 0xD6, 8 } }, { /* DC bias table 13 */ { 0x2, 3 }, { 0x1B, 5 }, { 0xC, 5 }, { 0x18, 5 }, { 0x29, 6 }, { 0x7F, 8 }, { 0x2F0, 10 }, { 0x198, 9 }, { 0x179, 9 }, { 0x0, 2 }, { 0x7, 3 }, { 0x9, 4 }, { 0x8, 4 }, { 0x1A, 5 }, { 0xD, 5 }, { 0x2A, 6 }, { 0x64, 7 }, { 0x1E, 6 }, { 0x67, 7 }, { 0x5F, 7 }, { 0xCD, 8 }, { 0x7E, 8 }, { 0x2F1, 10 }, { 0x16, 5 }, { 0xE, 5 }, { 0x2E, 6 }, { 0x65, 7 }, { 0x2B, 6 }, { 0x28, 6 }, { 0x3E, 7 }, { 0xBD, 8 }, { 0x199, 9 } }, { /* DC bias table 14 */ { 0x2, 3 }, { 0x7, 4 }, { 0x16, 5 }, { 0x6, 4 }, { 0x36, 6 }, { 0x5C, 7 }, { 0x15D, 9 }, { 0x15C, 9 }, { 0x2BF, 10 }, { 0x0, 2 }, { 0x7, 3 }, { 0x9, 4 }, { 0x8, 4 }, { 0x18, 5 }, { 0x34, 6 }, { 0x2A, 6 }, { 0x5E, 7 }, { 0x6A, 7 }, { 0x64, 7 }, { 0x5D, 7 }, { 0xCB, 8 }, { 0xAD, 8 }, { 0x2BE, 10 }, { 0x14, 5 }, { 0x33, 6 }, { 0x6E, 7 }, { 0x5F, 7 }, { 0x6F, 7 }, { 0x6B, 7 }, { 0xCA, 8 }, { 0xAC, 8 }, { 0x15E, 9 } }, { /* DC bias table 15 */ { 0xF, 4 }, { 0x1D, 5 }, { 0x18, 5 }, { 0xB, 4 }, { 0x19, 5 }, { 0x29, 6 }, { 0xD6, 8 }, { 0x551, 11 }, { 0xAA1, 12 }, { 0x1, 2 }, { 0x0, 2 }, { 0x9, 4 }, { 0x8, 4 }, { 0x1B, 5 }, { 0x38, 6 }, { 0x28, 6 }, { 0x57, 7 }, { 0x6A, 7 }, { 0x68, 7 }, { 0x56, 7 }, { 0xE5, 8 }, { 0x155, 9 }, { 0xAA0, 12 }, { 0x73, 7 }, { 0x69, 7 }, { 0xD7, 8 }, { 0xAB, 8 }, { 0xE4, 8 }, { 0xA9, 8 }, { 0x151, 9 }, { 0x150, 9 }, { 0x2A9, 10 } }};static const uint16_t ac_bias_0[16][32][2] = { { /* AC bias group 1, table 0 */ { 0x8, 5 }, { 0x25, 7 }, { 0x17A, 9 }, { 0x2F7, 10 }, { 0xBDB, 12 }, { 0x17B4, 13 }, { 0x2F6B, 14 }, { 0x1D, 5 }, { 0x2F6A, 14 }, { 0x8, 4 }, { 0x7, 4 }, { 0x1, 4 }, { 0x2, 4 }, { 0xA, 4 }, { 0x6, 4 }, { 0x0, 4 }, { 0x1C, 5 }, { 0x9, 4 }, { 0xD, 4 }, { 0xF, 4 }, { 0xC, 4 }, { 0x3, 4 }, { 0xA, 5 }, { 0x16, 5 }, { 0x13, 6 }, { 0x5D, 7 }, { 0x24, 7 }, { 0xBC, 8 }, { 0x5C, 7 }, { 0x5EC, 11 }, { 0xB, 5 }, { 0x5F, 7 } }, { /* AC bias group 1, table 1 */ { 0xF, 5 }, { 0x10, 6 }, { 0x4B, 8 }, { 0xC6, 8 }, { 0x31D, 10 }, { 0xC71, 12 }, { 0xC70, 12 }, { 0x1, 4 }, { 0xC73, 12 }, { 0x8, 4 }, { 0x9, 4 }, { 0x2, 4 }, { 0x3, 4 }, { 0xB, 4 }, { 0x6, 4 }, { 0x0, 4 }, { 0x1C, 5 }, { 0x5, 4 }, { 0xD, 4 }, { 0xF, 4 }, { 0xA, 4 }, { 0x19, 5 }, { 0x13, 6 }, { 0x1D, 5 }, { 0x30, 6 }, { 0x62, 7 }, { 0x24, 7 }, { 0x4A, 8 }, { 0x18F, 9 }, { 0xC72, 12 }, { 0xE, 5 }, { 0x11, 6 } }, { /* AC bias group 1, table 2 */ { 0x1B, 5 }, { 0x3, 6 }, { 0x8D, 8 }, { 0x40, 7 }, { 0x239, 10 }, { 0x471, 11 }, { 0x8E0, 12 }, { 0x3, 4 }, { 0x11C3, 13 },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -