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

📄 umc_vc1_enc_tables.cpp

📁 audio-video-codecs.rar语音编解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/* /////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2007 Intel Corporation. All Rights Reserved.
//
//
//          VC-1 (VC1) encoder, coding tables
//
*/
#include "umc_defs.h"

#if defined (UMC_ENABLE_VC1_VIDEO_ENCODER)

#include "ippvc.h"
#include "umc_vc1_enc_def.h"

namespace UMC_VC1_ENCODER
{
// Tables for encoding intra DC
extern const Ipp32u DCLumaLowMotionEncTableVLC [120*2] =
{
    /*code, len*/
        1, 1,              1, 2,            1,  4,            1, 5,            5, 5,              7, 5,            8,  6,           12, 6,
        0, 7,              2, 7,           18,  7,           26, 7,            3, 8,              7, 8,           39,  8,           55, 8,
        5, 9,             76, 9,          108,  9,          109, 9,            8, 10,            25, 10,          155, 10,          27, 10,
      154, 10,            19, 11,           52, 11,          53, 11,          97, 12,            72, 13,          196, 13,          74, 13,
      198, 13,           199, 13,          146, 14,         395, 14,         147, 14,           387, 14,          386, 14,         150, 14,
      151, 14,           384, 14,          788, 15,         789, 15,        1541, 16,          1540, 16,         1542, 16,        3086, 17,
   197581, 23,        197577, 23,       197576, 23,      197578, 23,      197579, 23,        197580, 23,       197582, 23,      197583, 23,
   197584, 23,        197585, 23,       197586, 23,      197587, 23,      197588, 23,        197589, 23,       197590, 23,      197591, 23,
   197592, 23,        197593, 23,       197594, 23,      197595, 23,      197596, 23,        197597, 23,       197598, 23,      197599, 23,
   197600, 23,        197601, 23,       197602, 23,      197603, 23,      197604, 23,        197605, 23,       197606, 23,      197607, 23,
   197608, 23,        197609, 23,       197610, 23,      197611, 23,      197612, 23,        197613, 23,       197614, 23,      197615, 23,
   197616, 23,        197617, 23,       197618, 23,      197619, 23,      197620, 23,        197621, 23,       197622, 23,      197623, 23,
   197624, 23,        197625, 23,       197626, 23,      197627, 23,      197628, 23,        197629, 23,       197630, 23,      197631, 23,
   395136, 24,        395137, 24,       395138, 24,      395139, 24,      395140, 24,        395141, 24,       395142, 24,      395143, 24,
   395144, 24,        395145, 24,       395146, 24,      395147, 24,      395148, 24,        395149, 24,       395150, 24,      395151, 24
};

extern const Ipp32u DCLumaHighMotionEncTableVLC [120*2] =
{
    /*code, len*/

       2, 2,             3, 2,              3, 3,            2, 4,             5, 4,             1, 5,              3, 5,            8, 5,
       0, 6,             5, 6,             13, 6,           15, 6,            19, 6,             8, 7,             24, 7,           28, 7,
      36, 7,             4, 8,              6, 8,           18, 8,            50, 8,            59, 8,             74, 8,           75, 8,
      11, 9,            38, 9,             39, 9,          102, 9,           116, 9,           117, 9,             20, 10,          28, 10,
      31, 10,           29, 10,            43, 11,          61, 11,          413, 11,          415, 11,            84, 12,         825, 12,
     824, 12,          829, 12,           171, 13,         241, 13,         1656, 13,          242, 13,           480, 14,         481, 14,
     340, 14,         3314, 14,           972, 15,         683, 15,         6631, 15,          974, 15,          6630, 15,        1364, 16,
    1951, 16,         1365, 16,          3901, 17,        3895, 17,         3900, 17,         3893, 17,          7789, 18,        7784, 18,
   15576, 19,        15571, 19,         15577, 19,       31140, 20,       996538, 25,       996532, 25,        996533, 25,      996534, 25,
  996535, 25,       996536, 25,        996537, 25,      996539, 25,       996540, 25,       996541, 25,        996542, 25,      996543, 25,
 1993024, 26,      1993025, 26,       1993026, 26,     1993027, 26,      1993028, 26,      1993029, 26,       1993030, 26,     1993031, 26,
 1993032, 26,      1993033, 26,       1993034, 26,     1993035, 26,      1993036, 26,      1993037, 26,       1993038, 26,     1993039, 26,
 1993040, 26,      1993041, 26,       1993042, 26,     1993043, 26,      1993044, 26,      1993045, 26,       1993046, 26,     1993047, 26,
 1993048, 26,      1993049, 26,       1993050, 26,     1993051, 26,      1993052, 26,      1993053, 26,       1993054, 26,     1993055, 26,
 1993056, 26,      1993057, 26,       1993058, 26,     1993059, 26,      1993060, 26,      1993061, 26,       1993062, 26,     1993063, 26

};


extern const Ipp32u DCChromaLowMotionEncTableVLC [120*2] =
{
    /*code, len*/

       0, 2,          1, 2,           5, 3,           9, 4,           13, 4,         17, 5,          29, 5,          31, 5,
      33, 6,         49, 6,          56, 6,          51, 6,           57, 6,         61, 6,          97, 7,         121, 7,
     128, 8,        200, 8,         202, 8,         240, 8,          129, 8,        192, 8,         201, 8,         263, 9,
     262, 9,        406, 9,         387, 9,         483, 9,          482, 9,        522, 10,        523, 10,       1545, 11,
    1042, 11,      1043, 11,       1547, 11,       1041, 11,        1546, 11,      1631, 11,       1040, 11,       1629, 11,
    1630, 11,      3256, 12,       3088, 12,       3257, 12,        6179, 13,     12357, 14,      24713, 15,      49424, 16,
 3163208, 22,   3163209, 22,    3163210, 22,    3163211, 22,     3163212, 22,   3163213, 22,    3163214, 22,    3163215, 22,
 3163216, 22,   3163217, 22,    3163218, 22,    3163219, 22,     3163220, 22,   3163221, 22,    3163222, 22,    3163223, 22,
 3163224, 22,   3163225, 22,    3163226, 22,    3163227, 22,     3163228, 22,   3163229, 22,    3163230, 22,    3163231, 22,
 3163232, 22,   3163233, 22,    3163234, 22,    3163235, 22,     3163236, 22,   3163237, 22,    3163238, 22,    3163239, 22,
 3163240, 22,   3163241, 22,    3163242, 22,    3163243, 22,     3163244, 22,   3163245, 22,    3163246, 22,    3163247, 22,
 3163248, 22,   3163249, 22,    3163250, 22,    3163251, 22,     3163252, 22,   3163253, 22,    3163254, 22,    3163255, 22,
 3163256, 22,   3163257, 22,    3163258, 22,    3163259, 22,     3163260, 22,   3163261, 22,    3163262, 22,    3163263, 22,
 6326400, 23,   6326401, 23,    6326402, 23,    6326403, 23,     6326404, 23,   6326405, 23,    6326406, 23,    6326407, 23,
 6326408, 23,   6326409, 23,    6326410, 23,    6326411, 23,     6326412, 23,   6326413, 23,    6326414, 23,    6326415, 23

};

extern const Ipp32u DCCromaHighMotionEncTableVLC [120*2] =

{
    /*code, len*/

           0, 2,            1, 2,           4, 3,           7, 3,          11, 4,          13, 4,          21, 5,          40, 6,
          48, 6,           50, 6,          82, 7,          98, 7,         102, 7,         166, 8,         198, 8,         207, 8,
         335, 9,          398, 9,         412, 9,         669, 10,        826, 10,       1336, 11,       1596, 11,       1598, 11,
        1599, 11,        1654, 11,       2675, 12,       3194, 12,       3311, 12,       5349, 13,       6621, 13,      10696, 14,
       10697, 14,       25565, 15,      13240, 14,      13241, 14,      51126, 16,      25560, 15,      25567, 15,      51123, 16,
       51124, 16,       51125, 16,      25566, 15,      51127, 16,      51128, 16,      51129, 16,     102245, 17,     204488, 18,
    13087304, 24,    13087305, 24,   13087306, 24,   13087307, 24,   13087308, 24,   13087309, 24,   13087310, 24,   13087311, 24,
    13087312, 24,    13087313, 24,   13087314, 24,   13087315, 24,   13087316, 24,   13087317, 24,   13087318, 24,   13087319, 24,
    13087320, 24,    13087321, 24,   13087322, 24,   13087323, 24,   13087324, 24,   13087325, 24,   13087326, 24,   13087327, 24,
    13087328, 24,    13087329, 24,   13087330, 24,   13087331, 24,   13087332, 24,   13087333, 24,   13087334, 24,   13087335, 24,
    13087336, 24,    13087337, 24,   13087338, 24,   13087339, 24,   13087340, 24,   13087341, 24,   13087342, 24,   13087343, 24,
    13087344, 24,    13087345, 24,   13087346, 24,   13087347, 24,   13087348, 24,   13087349, 24,   13087350, 24,   13087351, 24,
    13087352, 24,    13087353, 24,   13087354, 24,   13087355, 24,   13087356, 24,   13087357, 24,   13087358, 24,   13087359, 24,
    26174592, 25,    26174593, 25,   26174594, 25,   26174595, 25,   26174596, 25,   26174597, 25,   26174598, 25,   26174599, 25,
    26174600, 25,    26174601, 25,   26174602, 25,   26174603, 25,   26174604, 25,   26174605, 25,   26174606, 25,   26174607, 25
};



extern const Ipp8u HighMotionIntraIndexLevelLast0[31] =
{
    /*  level        run        index*/
    /*1..    19    ,    0    */    0      ,
    /*1..    15    ,    1    */    19     ,
    /*1..    12    ,    2    */    34     ,
    /*1..    11    ,    3    */    46     ,
    /*1..    6    ,    4     */    57     ,
    /*1..    5    ,    5     */    63     ,
    /*1..    4    ,    6     */    68     ,
    /*1..    4    ,    7     */    72     ,
    /*1..    4    ,    8     */    76     ,
    /*1..    4    ,    9     */    80     ,
    /*1..    3    ,    10    */    84     ,
    /*1..    3    ,    11    */    87     ,
    /*1..    3    ,    12    */    90     ,
    /*1..    3    ,    13    */    93     ,
    /*1..    3    ,    14    */    96     ,
    /*1..    3    ,    15    */    99     ,
    /*1..    2    ,    16    */    102    ,
    /*1..    2    ,    17    */    104    ,
    /*1..    1    ,    18    */    106    ,
    /*1..    1    ,    19    */    107    ,
    /*1..    1    ,    20    */    108    ,
    /*1..    1    ,    21    */    109    ,
    /*1..    1    ,    22    */    110    ,
    /*1..    1    ,    23    */    111    ,
    /*1..    1    ,    24    */    112    ,
    /*1..    1    ,    25    */    113    ,
    /*1..    1    ,    26    */    114    ,
    /*1..    1    ,    27    */    115    ,
    /*1..    1    ,    28    */    116    ,
    /*1..    1    ,    29    */    117    ,
    /*1..    1    ,    30    */    118
};
extern const Ipp8u HighMotionIntraIndexLevelLast1[38] =
{
    /*  level     run        index*/
    /*1..    6    ,    0     */    119    ,
    /*1..    5    ,    1     */    125    ,
    /*1..    4    ,    2     */    130    ,
    /*1..    4    ,    3     */    134    ,
    /*1..    3    ,    4     */    138    ,
    /*1..    2    ,    5     */    141    ,
    /*1..    2    ,    6     */    143    ,
    /*1..    2    ,    7     */    145    ,
    /*1..    2    ,    8     */    147    ,
    /*1..    2    ,    9     */    149    ,
    /*1..    2    ,    10    */    151    ,
    /*1..    2    ,    11    */    153    ,
    /*1..    2    ,    12    */    155    ,
    /*1..    2    ,    13    */    157    ,
    /*1..    2    ,    14    */    159    ,
    /*1..    2    ,    15    */    161    ,
    /*1..    1    ,    16    */    163    ,
    /*1..    1    ,    17    */    164    ,
    /*1..    1    ,    18    */    165    ,
    /*1..    1    ,    19    */    166    ,
    /*1..    1    ,    20    */    167    ,
    /*1..    1    ,    21    */    168    ,
    /*1..    1    ,    22    */    169    ,
    /*1..    1    ,    23    */    170    ,
    /*1..    1    ,    24    */    171    ,
    /*1..    1    ,    25    */    172    ,
    /*1..    1    ,    26    */    173    ,
    /*1..    1    ,    27    */    174    ,
    /*1..    1    ,    28    */    175    ,
    /*1..    1    ,    29    */    176    ,
    /*1..    1    ,    30    */    177    ,
    /*1..    1    ,    31    */    178    ,
    /*1..    1    ,    32    */    179    ,
    /*1..    1    ,    33    */    180    ,
    /*1..    1    ,    34    */    181    ,
    /*1..    1    ,    35    */    182    ,
    /*1..    1    ,    36    */    183    ,
    /*1..    1    ,    37    */    184
};

extern const Ipp8u LowMotionIntraIndexLevelLast0[21] =
{
    /*  level       run        index*/
    /*1..    16    ,    0    */     0     ,
    /*1..    11    ,    1    */     16    ,
    /*1..    8    ,    2     */     27    ,
    /*1..    7    ,    3     */     35    ,
    /*1..    5    ,    4     */     42    ,
    /*1..    4    ,    5     */     47    ,
    /*1..    4        6      */     51    ,
    /*1..    3        7      */     55    ,
    /*1..    3        8      */     58    ,
    /*1..    3        9      */     61    ,
    /*1..    3        10     */     64    ,
    /*1..    3        11     */     67    ,
    /*1..    3        12     */     70    ,
    /*1..    3        13     */     73    ,
    /*1..    2        14     */     76    ,
    /*1..    2        15     */     78    ,
    /*1..    1        16     */     80    ,
    /*1..    1        17     */     81    ,
    /*1..    1        18     */     82    ,
    /*1..    1        19     */     83    ,
    /*1..    1        20     */     84
};


extern const Ipp8u LowMotionIntraIndexLevelLast1[27] =
{
    /*  level        run        index*/
    /*1..    4    ,    0    */    85     ,
    /*1..    4    ,    1    */    89     ,
    /*1..    3    ,    2    */    93     ,
    /*1..    3    ,    3    */    96     ,
    /*1..    2    ,    4    */    99     ,
    /*1..    2    ,    5    */    101    ,
    /*1..    2        6     */    103    ,
    /*1..    2        7     */    105    ,
    /*1..    2        8     */    107    ,
    /*1..    2        9     */    109    ,
    /*1..    2        10    */    111    ,
    /*1..    2        11    */    113    ,
    /*1..    2        12    */    115    ,
    /*1..    2        13    */    117    ,
    /*1..    1        14    */    119    ,
    /*1..    1        15    */    120    ,
    /*1..    1        16    */    121    ,
    /*1..    1        17    */    122    ,
    /*1..    1        18    */    123    ,
    /*1..    1        19    */    124    ,
    /*1..    1        20    */    125    ,
    /*1..    1        21    */    126    ,
    /*1..    1        22    */    127    ,
    /*1..    1        23    */    128    ,
    /*1..    1        24    */    129    ,
    /*1..    1        25    */    130    ,
    /*1..    1        26    */    131

};
extern const Ipp8u MidRateIntraIndexLevelLast0[15] =
{
    /*  level        run        index*/
    /*1..    27    ,    0    */    0     ,
    /*1..    10    ,    1    */    27    ,
    /*1..    5    ,    2     */    37    ,
    /*1..    4    ,    3     */    42    ,
    /*1..    3    ,    4     */    46    ,
    /*1..    3    ,    5     */    49    ,
    /*1..    3    ,    6     */    52    ,
    /*1..    3    ,    7     */    55    ,
    /*1..    2    ,    8     */    58    ,
    /*1..    2    ,    9     */    60    ,
    /*1..    1    ,    10    */    62    ,
    /*1..    1    ,    11    */    63    ,
    /*1..    1    ,    12    */    64    ,
    /*1..    1    ,    13    */    65    ,
    /*1..    1    ,    14    */    66

};

extern const Ipp8u MidRateIntraIndexLevelLast1[21] =
{
    /*  level        run        index*/
    /*1..    8    ,    0     */    67    ,
    /*1..    3    ,    1     */    75    ,

⌨️ 快捷键说明

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