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

📄 hufftables.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
📖 第 1 页 / 共 3 页
字号:
/********************************************************************
 *                                                                  *
 * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE.   *
 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
 *                                                                  *
 * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2003                *
 * by the Xiph.Org Foundation http://www.xiph.org/                  *
 *                                                                  *
 ********************************************************************

  function:

 ********************************************************************/

#include "huffman.h"
#include "codec_internal.h"

const unsigned char ExtraBitLengths_VP31[MAX_ENTROPY_TOKENS] = {
  0, 0, 0, 2, 3, 4, 12,3, 6,                 /* EOB and Zero-run tokens. */
  0, 0, 0, 0,                                /* Very low value tokens. */
  1, 1, 1, 1, 2, 3, 4, 5, 6, 10,             /* Other value tokens */
  1, 1, 1, 1, 1, 3, 4,                       /* Category 1 runs. */
  2, 3,                                      /* Category 2 runs. */
};

#define NEW_FREQS 0 /* dbm - test new frequency tables */

#if NEW_FREQS
/* New baseline frequency tables for encoder version >= 2 */
const ogg_uint32_t FrequencyCounts_VP3[NUM_HUFF_TABLES][MAX_ENTROPY_TOKENS] = {
  /* DC Intra bias  */
  {  272,    84,    31,    36,    10,    2,    1,    92,    1,
     701,   872,   410,   478,
     630,   502,   417,   356,   582,   824,   985,   965,   697,   606,
     125,   119,    40,    3,    9,    15,    10,
     73,    37,
  },
  {  311,   107,    41,    51,    18,    4,    2,   120,    1,
     824,  1037,   468,   541,
     714,   555,   451,   374,   595,   819,   929,   817,   474,   220,
     172,   142,    27,    4,    9,    10,    2,
     98,    48,
  },
  {  353,   125,    49,    66,    24,    6,    2,   124,    1,
     926,  1172,   512,   594,
     766,   581,   458,   379,   590,   789,   849,   665,   306,    80,
     204,   147,    25,    5,    12,    9,    2,
     108,    54,
  },
  {  392,   141,    57,    75,    31,    7,    4,   138,    1,
     1050,  1321,   559,   649,
     806,   594,   460,   372,   568,   727,   710,   475,   155,    19,
     251,   174,    27,    7,    16,    8,    2,
     126,    62,
  },
  {  455,   168,    66,    87,    39,    10,    6,   124,    2,
     1143,  1455,   592,   692,
     824,   596,   453,   361,   542,   657,   592,   329,    78,    5,
     269,   184,    27,    9,    19,    7,    2,
     127,    66,
  },
  {  544,   201,    80,   102,    45,    11,    6,    99,    1,
     1236,  1587,   610,   720,
     833,   590,   444,   348,   506,   588,   487,   226,    39,    2,
     253,   178,    27,    10,    20,    7,    2,
     118,    65,
  },
  {  649,   241,    98,   121,    54,    14,    8,    84,    1,
     1349,  1719,   634,   763,
     847,   583,   428,   323,   456,   492,   349,   120,    13,    1,
     231,   170,    24,    8,    19,    7,    1,
     109,    67,
  },
  {  824,   304,   129,   158,    66,    19,    10,    44,    2,
     1476,  1925,   644,   794,
     838,   559,   396,   289,   392,   384,   223,    53,    3,    1,
     159,   121,    17,    6,    16,    6,    2,
     69,    53,
  },

  /* DC Inter Bias */
  {  534,   174,    71,    68,    10,    1,    1,    68,   119,
     1674,  1526,   560,   536,
     539,   331,   229,   168,   233,   262,   231,   149,    71,    51,
     629,   530,   284,   126,   182,   208,   184,
     148,    87,
  },
  {  594,   195,    77,    71,    9,    1,    1,    47,    89,
     1723,  1592,   595,   570,
     574,   351,   241,   176,   243,   271,   234,   144,    65,    37,
     534,   449,   240,   117,   167,   277,   153,
     96,    54,
  },
  {  642,   213,    88,    83,    12,    1,    1,    40,    80,
     1751,  1630,   621,   600,
     598,   367,   250,   183,   251,   276,   235,   143,    62,    28,
     485,   397,   212,   110,   161,   193,   141,
     84,    48,
  },
  {  693,   258,   114,   131,    27,    3,    1,    44,    79,
     1794,  1644,   550,   533,
     518,   314,   213,   154,   209,   223,   174,    97,    40,    14,
     584,   463,   236,   138,   196,   249,   143,
     94,    54,
  },
  {  758,   303,   144,   189,    53,    8,    1,    37,    69,
     1842,  1732,   513,   504,
     478,   287,   191,   137,   182,   186,   137,    72,    31,    6,
     589,   469,   199,   128,   177,   264,   161,
     89,    49,
  },
  {  817,   344,   170,   243,    84,    18,    2,    30,    65,
     1836,  1733,   518,   511,
     477,   281,   185,   130,   169,   166,   117,    59,    25,    3,
     572,   450,   185,   121,   173,   232,   146,
     80,    43,
  },
  {  865,   389,   204,   322,   139,    42,    9,    26,    51,
     1848,  1766,   531,   522,
     477,   275,   177,   122,   153,   144,    97,    50,    16,    1,
     485,   378,   167,   115,   164,   203,   128,
     74,    42,
  },
  {  961,   447,   243,   407,   196,    74,    26,    12,    34,
     2003,  1942,   571,   565,
     494,   278,   173,   116,   141,   129,    85,    44,    8,    1,
     285,   223,   101,    66,   104,   120,    74,
     35,    22,
  },

  /* AC INTRA Tables  */
  /* AC Intra bias group 1 tables */
  {  245,    68,    25,    28,    5,    1,    1,   359,    4,
     910,   904,   570,   571,
     766,   620,   478,   375,   554,   684,   652,   441,   182,    30,
     535,   206,   118,    77,    69,    90,    16,
     299,   100,
  },
  {  302,    86,    32,    36,    8,    1,    1,   362,    3,
     974,   968,   599,   599,
     774,   635,   469,   365,   528,   628,   557,   337,   118,    14,
     577,   219,   136,    82,    69,    65,    13,
     317,   112,
  },
  {  348,   102,    39,    44,    9,    2,    1,   363,    3,
     1062,  1055,   607,   609,
     787,   626,   457,   348,   494,   550,   452,   233,    60,    2,
     636,   244,   159,    92,    74,    68,    12,
     327,   119,
  },
  {  400,   121,    47,    51,    11,    2,    1,   366,    3,
     1109,  1102,   620,   622,
     786,   624,   450,   331,   459,   490,   366,   163,    29,    1,
     673,   257,   175,    98,    77,    63,    14,
     344,   131,
  },
  {  470,   151,    59,    67,    15,    3,    1,   354,    4,
     1198,  1189,   640,   643,
     769,   603,   410,   294,   386,   381,   240,    78,    5,    1,
     746,   282,   205,   113,    87,    64,    15,
     368,   145,
  },
  {  553,   189,    77,    94,    24,    6,    1,   347,    4,
     1244,  1232,   650,   653,
     739,   551,   360,   249,   303,   261,   129,    24,    1,    1,
     828,   313,   245,   135,   108,    77,    17,
     403,   169,
  },
  {  701,   253,   109,   140,    42,    12,    2,   350,    6,
     1210,  1197,   652,   647,
     673,   495,   299,   189,   211,   151,    50,    2,    1,    1,
     892,   336,   284,   162,   134,   101,    25,
     455,   205,
  },
  {  924,   390,   180,   248,    85,    31,    13,   286,    14,
     1242,  1206,   601,   577,
     519,   342,   175,   100,    85,    36,    1,    1,    1,    1,
     1031,   348,   346,   204,   166,   131,    34,
     473,   197,
  },
  /* AC Inter bias group 1 tables */
  {  459,   128,    50,    48,    8,    1,    1,   224,    69,
     1285,  1227,   587,   565,
     573,   406,   261,   180,   228,   213,   130,    47,    11,    3,
     1069,   540,   309,   231,   147,   279,   157,
     383,   165,
  },
  {  524,   155,    62,    64,    14,    2,    1,   209,    63,
     1345,  1288,   523,   507,
     515,   358,   225,   153,   183,   160,    87,    29,    7,    2,
     1151,   591,   365,   282,   179,   308,   133,
     344,   157,
  },
  {  588,   181,    75,    81,    19,    3,    1,   204,    68,
     1344,  1288,   517,   503,
     505,   346,   216,   141,   169,   139,    71,    21,    5,    1,
     1146,   584,   366,   286,   170,   298,   153,
     342,   157,
  },
  {  634,   196,    82,    89,    22,    4,    1,   194,    60,
     1356,  1312,   515,   502,
     489,   331,   199,   127,   145,   111,    51,    14,    3,    1,
     1156,   589,   393,   300,   182,   285,   144,
     340,   159,
  },
  {  715,   231,    98,   113,    31,    7,    1,   181,    57,
     1345,  1303,   498,   490,
     448,   291,   166,   101,   106,    75,    30,    9,    1,    1,
     1175,   584,   416,   321,   209,   333,   164,
     330,   159,
  },
  {  825,   283,   125,   149,    44,    11,    2,   160,    59,
     1343,  1308,   476,   469,
     405,   247,   131,    75,    76,    47,    18,    5,    1,    1,
     1192,   579,   432,   332,   217,   327,   176,
     320,   154,
  },
  {  961,   361,   170,   215,    70,    20,    5,   161,    55,
     1250,  1218,   463,   460,
     354,   204,   101,    52,    48,    28,    11,    1,    1,    1,
     1172,   570,   449,   350,   222,   332,   169,
     338,   174,
  },
  {  1139,   506,   266,   387,   156,    57,    26,   114,    48,
     1192,  1170,   366,   366,
     226,   113,    47,    22,    22,    12,    1,    1,    1,    1,
     1222,   551,   462,   391,   220,   322,   156,
     290,   136,
  },

  /* AC Intra bias group 2 tables */
  {  245,    49,    15,    11,    1,    1,    1,   332,    38,
     1163,  1162,   685,   683,
     813,   623,   437,   318,   421,   424,   288,   109,    14,    1,
     729,   303,   179,   112,    87,   199,    46,
     364,   135,
  },
  {  305,    67,    22,    17,    2,    1,    1,   329,    39,
     1250,  1245,   706,   705,
     801,   584,   385,   267,   330,   296,   165,    40,    3,    1,
     798,   340,   206,   131,   108,   258,    52,
     382,   154,
  },
  {  356,    82,    28,    23,    3,    1,    1,   312,    42,
     1340,  1334,   701,   703,
     770,   545,   346,   227,   269,   223,   100,    17,    1,    1,
     846,   359,   222,   142,   120,   284,    55,
     379,   157,
  },
  {  402,    95,    33,    30,    4,    1,    1,   300,    43,
     1379,  1371,   710,   714,
     724,   486,   289,   182,   202,   144,    47,    5,    1,    1,
     908,   394,   250,   161,   141,   350,    60,
     391,   171,
  },
  {  499,   122,    44,    42,    7,    1,    1,   267,    45,
     1439,  1436,   690,   694,
     628,   385,   213,   122,   117,    62,    14,    1,    1,    1,
     992,   441,   288,   187,   167,   446,    82,
     378,   176,
  },
  {  641,   168,    62,    60,    12,    1,    1,   247,    49,
     1435,  1436,   662,   669,
     527,   298,   142,    71,    55,    22,    3,    1,    1,    1,
     1036,   470,   319,   208,   193,   548,   106,
     362,   184,
  },
  {  860,   274,   111,   113,    23,    4,    1,   229,    59,
     1331,  1323,   629,   645,
     419,   192,    72,    30,    19,    6,    1,    1,    1,    1,
     1022,   478,   339,   225,   213,   690,   142,
     342,   198,
  },
  {  1059,   437,   218,   285,    84,    17,    2,   152,    44,
     1284,  1313,   530,   561,
     212,    66,    17,    6,    3,    1,    1,    1,    1,    1,
     1034,   485,   346,   226,   207,   819,   185,
     248,   145,
  },
  /* AC Inter bias group 2 tables */
  {  407,    93,    31,    24,    2,    1,    1,   232,   108,
     1365,  1349,   581,   578,
     498,   305,   170,   100,   103,    67,    24,    5,    1,    1,
     1175,   604,   393,   268,   209,   506,   217,
     379,   193,
  },
  {  521,   129,    46,    39,    4,    1,    1,   199,   116,
     1419,  1403,   543,   540,
     446,   263,   138,    78,    75,    44,    13,    2,    1,    1,
     1201,   605,   392,   267,   214,   533,   252,
     334,   167,
  },
  {  575,   144,    52,    46,    6,    1,    1,   193,   124,
     1394,  1384,   528,   528,
     406,   227,   112,    59,    54,    28,    7,    1,    1,    1,
     1210,   621,   412,   284,   235,   604,   265,
     320,   167,
  },
  {  673,   174,    64,    59,    9,    1,    1,   177,   128,
     1392,  1385,   499,   499,
     352,   183,    85,    42,    35,    16,    3,    1,    1,    1,
     1210,   626,   418,   289,   246,   675,   297,
     292,   158,
  },
  {  804,   225,    85,    77,    12,    1,    1,   150,   129,
     1387,  1384,   455,   455,
     277,   129,    53,    23,    17,    7,    1,    1,    1,    1,
     1212,   635,   433,   306,   268,   760,   313,
     249,   137,
  },
  {  975,   305,   123,   117,    20,    2,    1,   135,   140,
     1312,  1310,   401,   399,
     201,    80,    28,    11,    8,    2,    1,    1,    1,    1,
     1162,   623,   439,   314,   283,   906,   368,
     203,   121,
  },
  {  1205,   452,   208,   231,    50,    6,    1,   123,   149,
     1161,  1164,   370,   370,
     137,    45,    14,    4,    2,    1,    1,    1,    1,    1,
     1047,   562,   413,   300,   277,  1020,   404,
     168,   105,
  },
  {  1297,   662,   389,   574,   200,    39,    4,    55,   120,
     1069,  1076,   273,   265,
     66,    14,    2,    1,    1,    1,    1,    1,    1,    1,
     930,   475,   345,   249,   236,  1124,   376,
     91,    56,
  },

  /* AC Intra bias group 3 tables */
  {  278,    55,    17,    12,    1,    1,    1,   288,    71,
     1315,  1304,   725,   724,
     733,   506,   307,   195,   225,   175,    77,    12,    1,    1,
     904,   414,   246,   170,   126,   290,   205,
     423,   185,
  },
  {  382,    80,    26,    21,    2,    1,    1,   239,    64,
     1442,  1429,   706,   701,
     664,   420,   239,   146,   152,   105,    34,    2,    1,    1,
     975,   440,   263,   185,   140,   332,   229,
     397,   169,
  },
  {  451,    97,    32,    27,    4,    1,    1,   223,    75,

⌨️ 快捷键说明

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