hcb_11.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:10k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2. ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
  3. ** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
  4. **  
  5. ** This program is free software; you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation; either version 2 of the License, or
  8. ** (at your option) any later version.
  9. ** 
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. ** GNU General Public License for more details.
  14. ** 
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program; if not, write to the Free Software 
  17. ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. **
  19. ** Any non-GPL usage of this software or parts of this software is strictly
  20. ** forbidden.
  21. **
  22. ** Commercial non-GPL licensing of this software is possible.
  23. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
  24. **
  25. ** $Id: hcb_11.h,v 1.2 2005/11/01 21:41:43 gabest Exp $
  26. **/
  27. /* 2-step huffman table HCB_11 */
  28. /* 1st step: 5 bits
  29.  *           2^5 = 32 entries
  30.  *
  31.  * Used to find offset into 2nd step table and number of extra bits to get
  32.  */
  33. static hcb hcb11_1[] = {
  34.     /* 4 bits */
  35.     { /* 00000 */ 0, 0 },
  36.     { /*       */ 0, 0 },
  37.     { /* 00010 */ 1, 0 },
  38.     { /*       */ 1, 0 },
  39.     /* 5 bits */
  40.     { /* 00100 */ 2, 0 },
  41.     { /* 00101 */ 3, 0 },
  42.     { /* 00110 */ 4, 0 },
  43.     { /* 00111 */ 5, 0 },
  44.     { /* 01000 */ 6, 0 },
  45.     { /* 01001 */ 7, 0 },
  46.     /* 6 bits */
  47.     { /* 01010 */ 8,  1 },
  48.     { /* 01011 */ 10, 1 },
  49.     { /* 01100 */ 12, 1 },
  50.     /* 6/7 bits */
  51.     { /* 01101 */ 14, 2 },
  52.     /* 7 bits */
  53.     { /* 01110 */ 18, 2 },
  54.     { /* 01111 */ 22, 2 },
  55.     { /* 10000 */ 26, 2 },
  56.     /* 7/8 bits */
  57.     { /* 10001 */ 30, 3 },
  58.     /* 8 bits */
  59.     { /* 10010 */ 38, 3 },
  60.     { /* 10011 */ 46, 3 },
  61.     { /* 10100 */ 54, 3 },
  62.     { /* 10101 */ 62, 3 },
  63.     { /* 10110 */ 70, 3 },
  64.     { /* 10111 */ 78, 3 },
  65.     /* 8/9 bits */
  66.     { /* 11000 */ 86, 4 },
  67.     /* 9 bits */
  68.     { /* 11001 */ 102, 4 },
  69.     { /* 11010 */ 118, 4 },
  70.     { /* 11011 */ 134, 4 },
  71.     /* 9/10 bits */
  72.     { /* 11100 */ 150, 5 },
  73.     /* 10 bits */
  74.     { /* 11101 */ 182, 5 },
  75.     { /* 11110 */ 214, 5 },
  76.     /* 10/11/12 bits */
  77.     { /* 11111 */ 246, 7 }
  78. };
  79. /* 2nd step table
  80.  *
  81.  * Gives size of codeword and actual data (x,y,v,w)
  82.  */
  83. static hcb_2_pair hcb11_2[] = {
  84.     /* 4 */
  85.     { 4,  0,  0 },
  86.     { 4,  1,  1 },
  87.     /* 5 */
  88.     { 5, 16, 16 },
  89.     { 5,  1,  0 },
  90.     { 5,  0,  1 },
  91.     { 5,  2,  1 },
  92.     { 5,  1,  2 },
  93.     { 5,  2,  2 },
  94.     /* 6 */
  95.     { 6,  1,  3 },
  96.     { 6,  3,  1 },
  97.     { 6,  3,  2 },
  98.     { 6,  2,  0 },
  99.     { 6,  2,  3 },
  100.     { 6,  0,  2 },
  101.     /* 6/7 */
  102.     { 6,  3,  3 }, { 6,  3,  3 },
  103.     { 7,  4,  1 },
  104.     { 7,  1,  4 },
  105.     /* 7 */
  106.     { 7,  4,  2 },
  107.     { 7,  2,  4 },
  108.     { 7,  4,  3 },
  109.     { 7,  3,  4 },
  110.     { 7,  3,  0 },
  111.     { 7,  0,  3 },
  112.     { 7,  5,  1 },
  113.     { 7,  5,  2 },
  114.     { 7,  2,  5 },
  115.     { 7,  4,  4 },
  116.     { 7,  1,  5 },
  117.     { 7,  5,  3 },
  118.     /* 7/8 */
  119.     { 7,  3,  5 }, { 7,  3,  5 },
  120.     { 7,  5,  4 }, { 7,  5,  4 },
  121.     { 8,  4,  5 },
  122.     { 8,  6,  2 },
  123.     { 8,  2,  6 },
  124.     { 8,  6,  1 },
  125.     /* 8 */
  126.     { 8,  6,  3 },
  127.     { 8,  3,  6 },
  128.     { 8,  1,  6 },
  129.     { 8,  4, 16 },
  130.     { 8,  3, 16 },
  131.     { 8, 16,  5 },
  132.     { 8, 16,  3 },
  133.     { 8, 16,  4 },
  134.     { 8,  6,  4 },
  135.     { 8, 16,  6 },
  136.     { 8,  4,  0 },
  137.     { 8,  4,  6 },
  138.     { 8,  0,  4 },
  139.     { 8,  2, 16 },
  140.     { 8,  5,  5 },
  141.     { 8,  5, 16 },
  142.     { 8, 16,  7 },
  143.     { 8, 16,  2 },
  144.     { 8, 16,  8 },
  145.     { 8,  2,  7 },
  146.     { 8,  7,  2 },
  147.     { 8,  3,  7 },
  148.     { 8,  6,  5 },
  149.     { 8,  5,  6 },
  150.     { 8,  6, 16 },
  151.     { 8, 16, 10 },
  152.     { 8,  7,  3 },
  153.     { 8,  7,  1 },
  154.     { 8, 16,  9 },
  155.     { 8,  7, 16 },
  156.     { 8,  1, 16 },
  157.     { 8,  1,  7 },
  158.     { 8,  4,  7 },
  159.     { 8, 16, 11 },
  160.     { 8,  7,  4 },
  161.     { 8, 16, 12 },
  162.     { 8,  8, 16 },
  163.     { 8, 16,  1 },
  164.     { 8,  6,  6 },
  165.     { 8,  9, 16 },
  166.     { 8,  2,  8 },
  167.     { 8,  5,  7 },
  168.     { 8, 10, 16 },
  169.     { 8, 16, 13 },
  170.     { 8,  8,  3 },
  171.     { 8,  8,  2 },
  172.     { 8,  3,  8 },
  173.     { 8,  5,  0 },
  174.     /* 8/9 */
  175.     { 8, 16, 14 }, { 8, 16, 14 },
  176.     { 8, 11, 16 }, { 8, 11, 16 },
  177.     { 8,  7,  5 }, { 8,  7,  5 },
  178.     { 8,  4,  8 }, { 8,  4,  8 },
  179.     { 8,  6,  7 }, { 8,  6,  7 },
  180.     { 8,  7,  6 }, { 8,  7,  6 },
  181.     { 8,  0,  5 }, { 8,  0,  5 },
  182.     { 9,  8,  4 },
  183.     { 9, 16, 15 },
  184.     /* 9 */
  185.     { 9, 12, 16 },
  186.     { 9,  1,  8 },
  187.     { 9,  8,  1 },
  188.     { 9, 14, 16 },
  189.     { 9,  5,  8 },
  190.     { 9, 13, 16 },
  191.     { 9,  3,  9 },
  192.     { 9,  8,  5 },
  193.     { 9,  7,  7 },
  194.     { 9,  2,  9 },
  195.     { 9,  8,  6 },
  196.     { 9,  9,  2 },
  197.     { 9,  9,  3 },
  198.     { 9, 15, 16 },
  199.     { 9,  4,  9 },
  200.     { 9,  6,  8 },
  201.     { 9,  6,  0 },
  202.     { 9,  9,  4 },
  203.     { 9,  5,  9 },
  204.     { 9,  8,  7 },
  205.     { 9,  7,  8 },
  206.     { 9,  1,  9 },
  207.     { 9, 10,  3 },
  208.     { 9,  0,  6 },
  209.     { 9, 10,  2 },
  210.     { 9,  9,  1 },
  211.     { 9,  9,  5 },
  212.     { 9,  4, 10 },
  213.     { 9,  2, 10 },
  214.     { 9,  9,  6 },
  215.     { 9,  3, 10 },
  216.     { 9,  6,  9 },
  217.     { 9, 10,  4 },
  218.     { 9,  8,  8 },
  219.     { 9, 10,  5 },
  220.     { 9,  9,  7 },
  221.     { 9, 11,  3 },
  222.     { 9,  1, 10 },
  223.     { 9,  7,  0 },
  224.     { 9, 10,  6 },
  225.     { 9,  7,  9 },
  226.     { 9,  3, 11 },
  227.     { 9,  5, 10 },
  228.     { 9, 10,  1 },
  229.     { 9,  4, 11 },
  230.     { 9, 11,  2 },
  231.     { 9, 13,  2 },
  232.     { 9,  6, 10 },
  233.     /* 9/10 */
  234.     { 9, 13,  3 }, { 9, 13,  3 },
  235.     { 9,  2, 11 }, { 9,  2, 11 },
  236.     { 9, 16,  0 }, { 9, 16,  0 },
  237.     { 9,  5, 11 }, { 9,  5, 11 },
  238.     { 9, 11,  5 }, { 9, 11,  5 },
  239.     { 10, 11,  4 },
  240.     { 10,  9,  8 },
  241.     { 10,  7, 10 },
  242.     { 10,  8,  9 },
  243.     { 10,  0, 16 },
  244.     { 10,  4, 13 },
  245.     { 10,  0,  7 },
  246.     { 10,  3, 13 },
  247.     { 10, 11,  6 },
  248.     { 10, 13,  1 },
  249.     { 10, 13,  4 },
  250.     { 10, 12,  3 },
  251.     { 10,  2, 13 },
  252.     { 10, 13,  5 },
  253.     { 10,  8, 10 },
  254.     { 10,  6, 11 },
  255.     { 10, 10,  8 },
  256.     { 10, 10,  7 },
  257.     { 10, 14,  2 },
  258.     { 10, 12,  4 },
  259.     { 10,  1, 11 },
  260.     { 10,  4, 12 },
  261.     /* 10 */
  262.     { 10, 11,  1 },
  263.     { 10,  3, 12 },
  264.     { 10,  1, 13 },
  265.     { 10, 12,  2 },
  266.     { 10,  7, 11 },
  267.     { 10,  3, 14 },
  268.     { 10,  5, 12 },
  269.     { 10,  5, 13 },
  270.     { 10, 14,  4 },
  271.     { 10,  4, 14 },
  272.     { 10, 11,  7 },
  273.     { 10, 14,  3 },
  274.     { 10, 12,  5 },
  275.     { 10, 13,  6 },
  276.     { 10, 12,  6 },
  277.     { 10,  8,  0 },
  278.     { 10, 11,  8 },
  279.     { 10,  2, 12 },
  280.     { 10,  9,  9 },
  281.     { 10, 14,  5 },
  282.     { 10,  6, 13 },
  283.     { 10, 10, 10 },
  284.     { 10, 15,  2 },
  285.     { 10,  8, 11 },
  286.     { 10,  9, 10 },
  287.     { 10, 14,  6 },
  288.     { 10, 10,  9 },
  289.     { 10,  5, 14 },
  290.     { 10, 11,  9 },
  291.     { 10, 14,  1 },
  292.     { 10,  2, 14 },
  293.     { 10,  6, 12 },
  294.     { 10,  1, 12 },
  295.     { 10, 13,  8 },
  296.     { 10,  0,  8 },
  297.     { 10, 13,  7 },
  298.     { 10,  7, 12 },
  299.     { 10, 12,  7 },
  300.     { 10,  7, 13 },
  301.     { 10, 15,  3 },
  302.     { 10, 12,  1 },
  303.     { 10,  6, 14 },
  304.     { 10,  2, 15 },
  305.     { 10, 15,  5 },
  306.     { 10, 15,  4 },
  307.     { 10,  1, 14 },
  308.     { 10,  9, 11 },
  309.     { 10,  4, 15 },
  310.     { 10, 14,  7 },
  311.     { 10,  8, 13 },
  312.     { 10, 13,  9 },
  313.     { 10,  8, 12 },
  314.     { 10,  5, 15 },
  315.     { 10,  3, 15 },
  316.     { 10, 10, 11 },
  317.     { 10, 11, 10 },
  318.     { 10, 12,  8 },
  319.     { 10, 15,  6 },
  320.     { 10, 15,  7 },
  321.     { 10,  8, 14 },
  322.     { 10, 15,  1 },
  323.     { 10,  7, 14 },
  324.     { 10,  9,  0 },
  325.     { 10,  0,  9 },
  326.     /* 10/11/12 */
  327.     { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 },
  328.     { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 },
  329.     { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 },
  330.     { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 },
  331.     { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 },
  332.     { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 },
  333.     { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 },
  334.     { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 },
  335.     { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 },
  336.     { 11,  9, 14 }, { 11,  9, 14 },
  337.     { 11, 15,  8 }, { 11, 15,  8 },
  338.     { 11, 11, 11 }, { 11, 11, 11 },
  339.     { 11, 11, 14 }, { 11, 11, 14 },
  340.     { 11,  1, 15 }, { 11,  1, 15 },
  341.     { 11, 10, 12 }, { 11, 10, 12 },
  342.     { 11, 10, 14 }, { 11, 10, 14 },
  343.     { 11, 13, 11 }, { 11, 13, 11 },
  344.     { 11, 13, 10 }, { 11, 13, 10 },
  345.     { 11, 11, 13 }, { 11, 11, 13 },
  346.     { 11, 11, 12 }, { 11, 11, 12 },
  347.     { 11,  8, 15 }, { 11,  8, 15 },
  348.     { 11, 14, 11 }, { 11, 14, 11 },
  349.     { 11, 13, 12 }, { 11, 13, 12 },
  350.     { 11, 12, 13 }, { 11, 12, 13 },
  351.     { 11, 15,  9 }, { 11, 15,  9 },
  352.     { 11, 14, 10 }, { 11, 14, 10 },
  353.     { 11, 10,  0 }, { 11, 10,  0 },
  354.     { 11, 12, 11 }, { 11, 12, 11 },
  355.     { 11,  9, 15 }, { 11,  9, 15 },
  356.     { 11,  0, 10 }, { 11,  0, 10 },
  357.     { 11, 12, 12 }, { 11, 12, 12 },
  358.     { 11, 11,  0 }, { 11, 11,  0 },
  359.     { 11, 12, 14 }, { 11, 12, 14 },
  360.     { 11, 10, 15 }, { 11, 10, 15 },
  361.     { 11, 13, 13 }, { 11, 13, 13 },
  362.     { 11,  0, 13 }, { 11,  0, 13 },
  363.     { 11, 14, 12 }, { 11, 14, 12 },
  364.     { 11, 15, 10 }, { 11, 15, 10 },
  365.     { 11, 15, 11 }, { 11, 15, 11 },
  366.     { 11, 11, 15 }, { 11, 11, 15 },
  367.     { 11, 14, 13 }, { 11, 14, 13 },
  368.     { 11, 13,  0 }, { 11, 13,  0 },
  369.     { 11,  0, 11 }, { 11,  0, 11 },
  370.     { 11, 13, 14 }, { 11, 13, 14 },
  371.     { 11, 15, 12 }, { 11, 15, 12 },
  372.     { 11, 15, 13 }, { 11, 15, 13 },
  373.     { 11, 12, 15 }, { 11, 12, 15 },
  374.     { 11, 14,  0 }, { 11, 14,  0 },
  375.     { 11, 14, 14 }, { 11, 14, 14 },
  376.     { 11, 13, 15 }, { 11, 13, 15 },
  377.     { 11, 12,  0 }, { 11, 12,  0 },
  378.     { 11, 14, 15 }, { 11, 14, 15 },
  379.     { 12,  0, 14 },
  380.     { 12,  0, 12 },
  381.     { 12, 15, 14 },
  382.     { 12, 15,  0 },
  383.     { 12,  0, 15 },
  384.     { 12, 15, 15 }
  385. };