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

📄 h264data.h

📁 播放H264文件的播放器
💻 H
📖 第 1 页 / 共 4 页
字号:
 1+4*8, 2+4*8, 6+0*8, 4+3*8, 0+7*8, 4+4*8, 7+2*8, 3+6*8, 5+5*8, 6+5*8, 6+6*8, 7+7*8,};static const uint8_t field_scan8x8[64]={ 0+0*8, 0+1*8, 0+2*8, 1+0*8, 1+1*8, 0+3*8, 0+4*8, 1+2*8, 2+0*8, 1+3*8, 0+5*8, 0+6*8, 0+7*8, 1+4*8, 2+1*8, 3+0*8, 2+2*8, 1+5*8, 1+6*8, 1+7*8, 2+3*8, 3+1*8, 4+0*8, 3+2*8, 2+4*8, 2+5*8, 2+6*8, 2+7*8, 3+3*8, 4+1*8, 5+0*8, 4+2*8, 3+4*8, 3+5*8, 3+6*8, 3+7*8, 4+3*8, 5+1*8, 6+0*8, 5+2*8, 4+4*8, 4+5*8, 4+6*8, 4+7*8, 5+3*8, 6+1*8, 6+2*8, 5+4*8, 5+5*8, 5+6*8, 5+7*8, 6+3*8, 7+0*8, 7+1*8, 6+4*8, 6+5*8, 6+6*8, 6+7*8, 7+2*8, 7+3*8, 7+4*8, 7+5*8, 7+6*8, 7+7*8,};static const uint8_t field_scan8x8_cavlc[64]={ 0+0*8, 1+1*8, 2+0*8, 0+7*8, 2+2*8, 2+3*8, 2+4*8, 3+3*8, 3+4*8, 4+3*8, 4+4*8, 5+3*8, 5+5*8, 7+0*8, 6+6*8, 7+4*8, 0+1*8, 0+3*8, 1+3*8, 1+4*8, 1+5*8, 3+1*8, 2+5*8, 4+1*8, 3+5*8, 5+1*8, 4+5*8, 6+1*8, 5+6*8, 7+1*8, 6+7*8, 7+5*8, 0+2*8, 0+4*8, 0+5*8, 2+1*8, 1+6*8, 4+0*8, 2+6*8, 5+0*8, 3+6*8, 6+0*8, 4+6*8, 6+2*8, 5+7*8, 6+4*8, 7+2*8, 7+6*8, 1+0*8, 1+2*8, 0+6*8, 3+0*8, 1+7*8, 3+2*8, 2+7*8, 4+2*8, 3+7*8, 5+2*8, 4+7*8, 5+4*8, 6+3*8, 6+5*8, 7+3*8, 7+7*8,};typedef struct IMbInfo{    uint16_t type;    uint8_t pred_mode;    uint8_t cbp;} IMbInfo;static const IMbInfo i_mb_type_info[26]={{MB_TYPE_INTRA4x4  , -1, -1},{MB_TYPE_INTRA16x16,  2,  0},{MB_TYPE_INTRA16x16,  1,  0},{MB_TYPE_INTRA16x16,  0,  0},{MB_TYPE_INTRA16x16,  3,  0},{MB_TYPE_INTRA16x16,  2,  16},{MB_TYPE_INTRA16x16,  1,  16},{MB_TYPE_INTRA16x16,  0,  16},{MB_TYPE_INTRA16x16,  3,  16},{MB_TYPE_INTRA16x16,  2,  32},{MB_TYPE_INTRA16x16,  1,  32},{MB_TYPE_INTRA16x16,  0,  32},{MB_TYPE_INTRA16x16,  3,  32},{MB_TYPE_INTRA16x16,  2,  15+0},{MB_TYPE_INTRA16x16,  1,  15+0},{MB_TYPE_INTRA16x16,  0,  15+0},{MB_TYPE_INTRA16x16,  3,  15+0},{MB_TYPE_INTRA16x16,  2,  15+16},{MB_TYPE_INTRA16x16,  1,  15+16},{MB_TYPE_INTRA16x16,  0,  15+16},{MB_TYPE_INTRA16x16,  3,  15+16},{MB_TYPE_INTRA16x16,  2,  15+32},{MB_TYPE_INTRA16x16,  1,  15+32},{MB_TYPE_INTRA16x16,  0,  15+32},{MB_TYPE_INTRA16x16,  3,  15+32},{MB_TYPE_INTRA_PCM , -1, -1},};typedef struct PMbInfo{    uint16_t type;    uint8_t partition_count;} PMbInfo;static const PMbInfo p_mb_type_info[5]={{MB_TYPE_16x16|MB_TYPE_P0L0             , 1},{MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},{MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P1L0, 4},{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P1L0|MB_TYPE_REF0, 4},};static const PMbInfo p_sub_mb_type_info[4]={{MB_TYPE_16x16|MB_TYPE_P0L0             , 1},{MB_TYPE_16x8 |MB_TYPE_P0L0             , 2},{MB_TYPE_8x16 |MB_TYPE_P0L0             , 2},{MB_TYPE_8x8  |MB_TYPE_P0L0             , 4},};static const PMbInfo b_mb_type_info[23]={{MB_TYPE_DIRECT2                                                   , 1, },{MB_TYPE_16x16|MB_TYPE_P0L0                                       , 1, },{MB_TYPE_16x16             |MB_TYPE_P0L1                          , 1, },{MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1                          , 1, },{MB_TYPE_16x8 |MB_TYPE_P0L0             |MB_TYPE_P1L0             , 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0             |MB_TYPE_P1L0             , 2, },{MB_TYPE_16x8              |MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_8x16              |MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0                          |MB_TYPE_P1L1, 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0                          |MB_TYPE_P1L1, 2, },{MB_TYPE_16x8              |MB_TYPE_P0L1|MB_TYPE_P1L0             , 2, },{MB_TYPE_8x16              |MB_TYPE_P0L1|MB_TYPE_P1L0             , 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0             |MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0             |MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_16x8              |MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x16              |MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0             , 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0             , 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 4, },};static const PMbInfo b_sub_mb_type_info[13]={{MB_TYPE_DIRECT2                                                   , 1, },{MB_TYPE_16x16|MB_TYPE_P0L0                                       , 1, },{MB_TYPE_16x16             |MB_TYPE_P0L1                          , 1, },{MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1                          , 1, },{MB_TYPE_16x8 |MB_TYPE_P0L0             |MB_TYPE_P1L0             , 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0             |MB_TYPE_P1L0             , 2, },{MB_TYPE_16x8              |MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_8x16              |MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },{MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },{MB_TYPE_8x8  |MB_TYPE_P0L0             |MB_TYPE_P1L0             , 4, },{MB_TYPE_8x8               |MB_TYPE_P0L1             |MB_TYPE_P1L1, 4, },{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 4, },};static const uint8_t default_scaling4[2][16]={{   6,13,20,28,   13,20,28,32,   20,28,32,37,   28,32,37,42},{   10,14,20,24,   14,20,24,27,   20,24,27,30,   24,27,30,34}};static const uint8_t default_scaling8[2][64]={{   6,10,13,16,18,23,25,27,   10,11,16,18,23,25,27,29,   13,16,18,23,25,27,29,31,   16,18,23,25,27,29,31,33,   18,23,25,27,29,31,33,36,   23,25,27,29,31,33,36,38,   25,27,29,31,33,36,38,40,   27,29,31,33,36,38,40,42},{    9,13,15,17,19,21,22,24,   13,13,17,19,21,22,24,25,   15,17,19,21,22,24,25,27,   17,19,21,22,24,25,27,28,   19,21,22,24,25,27,28,30,   21,22,24,25,27,28,30,32,   22,24,25,27,28,30,32,33,   24,25,27,28,30,32,33,35}};static const uint8_t dequant4_coeff_init[6][3]={  {10,13,16},  {11,14,18},  {13,16,20},  {14,18,23},  {16,20,25},  {18,23,29},};static const uint8_t dequant8_coeff_init_scan[16] = {  0,3,4,3, 3,1,5,1, 4,5,2,5, 3,1,5,1};static const uint8_t dequant8_coeff_init[6][6]={  {20,18,32,19,25,24},  {22,19,35,21,28,26},  {26,23,42,24,33,31},  {28,25,45,26,35,33},  {32,28,51,30,40,38},  {36,32,58,34,46,43},};/* Deblocking filter (p153) */static const uint8_t alpha_table[52*3] = {     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  4,  4,  5,  6,     7,  8,  9, 10, 12, 13, 15, 17, 20, 22,    25, 28, 32, 36, 40, 45, 50, 56, 63, 71,    80, 90,101,113,127,144,162,182,203,226,   255,255,   255,255,255,255,255,255,255,255,255,255,255,255,255,   255,255,255,255,255,255,255,255,255,255,255,255,255,   255,255,255,255,255,255,255,255,255,255,255,255,255,   255,255,255,255,255,255,255,255,255,255,255,255,255,};static const uint8_t beta_table[52*3] = {     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,     0,  0,  0,  0,  0,  0,  2,  2,  2,  3,     3,  3,  3,  4,  4,  4,  6,  6,  7,  7,     8,  8,  9,  9, 10, 10, 11, 11, 12, 12,    13, 13, 14, 14, 15, 15, 16, 16, 17, 17,    18, 18,    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,};static const uint8_t tc0_table[52*3][4] = {    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 },    {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 0 }, {-1, 0, 0, 1 },    {-1, 0, 0, 1 }, {-1, 0, 0, 1 }, {-1, 0, 0, 1 }, {-1, 0, 1, 1 }, {-1, 0, 1, 1 }, {-1, 1, 1, 1 },    {-1, 1, 1, 1 }, {-1, 1, 1, 1 }, {-1, 1, 1, 1 }, {-1, 1, 1, 2 }, {-1, 1, 1, 2 }, {-1, 1, 1, 2 },    {-1, 1, 1, 2 }, {-1, 1, 2, 3 }, {-1, 1, 2, 3 }, {-1, 2, 2, 3 }, {-1, 2, 2, 4 }, {-1, 2, 3, 4 },    {-1, 2, 3, 4 }, {-1, 3, 3, 5 }, {-1, 3, 4, 6 }, {-1, 3, 4, 6 }, {-1, 4, 5, 7 }, {-1, 4, 5, 8 },    {-1, 4, 6, 9 }, {-1, 5, 7,10 }, {-1, 6, 8,11 }, {-1, 6, 8,13 }, {-1, 7,10,14 }, {-1, 8,11,16 },    {-1, 9,12,18 }, {-1,10,13,20 }, {-1,11,15,23 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },    {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 }, {-1,13,17,25 },};/* Cabac pre state table */static const int8_t cabac_context_init_I[460][2] ={    /* 0 - 10 */    { 20, -15 }, {  2, 54 },  {  3,  74 }, { 20, -15 },    {  2,  54 }, {  3, 74 },  { -28,127 }, { -23, 104 },    { -6,  53 }, { -1, 54 },  {  7,  51 },    /* 11 - 23 unsused for I */    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    /* 24- 39 */    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    /* 40 - 53 */    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    /* 54 - 59 */    { 0, 0 },    { 0, 0 },    { 0, 0 },      { 0, 0 },    { 0, 0 },    { 0, 0 },    /* 60 - 69 */    { 0, 41 },   { 0, 63 },   { 0, 63 },     { 0, 63 },    { -9, 83 },  { 4, 86 },   { 0, 97 },     { -7, 72 },    { 13, 41 },  { 3, 62 },    /* 70 -> 87 */    { 0, 11 },   { 1, 55 },   { 0, 69 },     { -17, 127 },    { -13, 102 },{ 0, 82 },   { -7, 74 },    { -21, 107 },    { -27, 127 },{ -31, 127 },{ -24, 127 },  { -18, 95 },    { -27, 127 },{ -21, 114 },{ -30, 127 },  { -17, 123 },    { -12, 115 },{ -16, 122 },    /* 88 -> 104 */    { -11, 115 },{ -12, 63 }, { -2, 68 },    { -15, 84 },

⌨️ 快捷键说明

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