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

📄 cabac.c

📁 在dsp上实现h.264编解码
💻 C
📖 第 1 页 / 共 4 页
字号:
        /* 11 - 23 */        {  29,  16 }, {  25,   0 }, {  14,   0 }, { -10,  51 },        {  -3,  62 }, { -27,  99 }, {  26,  16 }, {  -4,  85 },        { -24, 102 }, {   5,  57 }, {   6,  57 }, { -17,  73 },        {  14,  57 },        /* 24 - 39 */        {  20,  40 }, {  20,  10 }, {  29,   0 }, {  54,   0 },        {  37,  42 }, {  12,  97 }, { -32, 127 }, { -22, 117 },        {  -2,  74 }, {  -4,  85 }, { -24, 102 }, {   5,  57 },        {  -6,  93 }, { -14,  88 }, {  -6,  44 }, {   4,  55 },        /* 40 - 53 */        { -11,  89 },{ -15,  103 },{ -21,  116 },{  19,  57 },        {  20,  58 },{   4,  84 },{   6,  96 },{   1,  63 },        {  -5,  85 },{ -13,  106 },{   5,  63 },{   6,  75 },        {  -3,  90 },{  -1,  101 },        /* 54 - 59 */        {   3,  55 },{  -4,  79 },{  -2,  75 },{ -12,  97 },        {  -7,  50 },{   1,  60 },        /* 60 - 69 */        { 0, 41 },   { 0, 63 },   { 0, 63 },     { 0, 63 },        { -9, 83 },  { 4, 86 },   { 0, 97 },     { -7, 72 },        { 13, 41 },  { 3, 62 },        /* 70 - 104 */        {   7,  34 }, {  -9,  88 }, { -20, 127 }, { -36, 127 },        { -17,  91 }, { -14,  95 }, { -25,  84 }, { -25,  86 },        { -12,  89 }, { -17,  91 }, { -31, 127 }, { -14,  76 },        { -18, 103 }, { -13,  90 }, { -37, 127 }, {  11,  80 },        {   5,  76 }, {   2,  84 }, {   5,  78 }, {  -6,  55 },        {   4,  61 }, { -14,  83 }, { -37, 127 }, {  -5,  79 },        { -11, 104 }, { -11,  91 }, { -30, 127 }, {   0,  65 },        {  -2,  79 }, {   0,  72 }, {  -4,  92 }, {  -6,  56 },        {   3,  68 }, {  -8,  71 }, { -13,  98 },        /* 105 -> 165 */        {  -4,  86 }, { -12,  88 }, {  -5,  82 }, {  -3,  72 },        {  -4,  67 }, {  -8,  72 }, { -16,  89 }, {  -9,  69 },        {  -1,  59 }, {   5,  66 }, {   4,  57 }, {  -4,  71 },        {  -2,  71 }, {   2,  58 }, {  -1,  74 }, {  -4,  44 },        {  -1,  69 }, {   0,  62 }, {  -7,  51 }, {  -4,  47 },        {  -6,  42 }, {  -3,  41 }, {  -6,  53 }, {   8,  76 },        {  -9,  78 }, { -11,  83 }, {   9,  52 }, {   0,  67 },        {  -5,  90 }, {   1,  67 }, { -15,  72 }, {  -5,  75 },        {  -8,  80 }, { -21,  83 }, { -21,  64 }, { -13,  31 },        { -25,  64 }, { -29,  94 }, {   9,  75 }, {  17,  63 },        {  -8,  74 }, {  -5,  35 }, {  -2,  27 }, {  13,  91 },        {   3,  65 }, {  -7,  69 }, {   8,  77 }, { -10,  66 },        {   3,  62 }, {  -3,  68 }, { -20,  81 }, {   0,  30 },        {   1,   7 }, {  -3,  23 }, { -21,  74 }, {  16,  66 },        { -23, 124 }, {  17,  37 }, {  44, -18 }, {  50, -34 },        { -22, 127 },        /* 166 - 226 */        {   4,  39 }, {   0,  42 }, {   7,  34 }, {  11,  29 },        {   8,  31 }, {   6,  37 }, {   7,  42 }, {   3,  40 },        {   8,  33 }, {  13,  43 }, {  13,  36 }, {   4,  47 },        {   3,  55 }, {   2,  58 }, {   6,  60 }, {   8,  44 },        {  11,  44 }, {  14,  42 }, {   7,  48 }, {   4,  56 },        {   4,  52 }, {  13,  37 }, {   9,  49 }, {  19,  58 },        {  10,  48 }, {  12,  45 }, {   0,  69 }, {  20,  33 },        {   8,  63 }, {  35, -18 }, {  33, -25 }, {  28,  -3 },        {  24,  10 }, {  27,   0 }, {  34, -14 }, {  52, -44 },        {  39, -24 }, {  19,  17 }, {  31,  25 }, {  36,  29 },        {  24,  33 }, {  34,  15 }, {  30,  20 }, {  22,  73 },        {  20,  34 }, {  19,  31 }, {  27,  44 }, {  19,  16 },        {  15,  36 }, {  15,  36 }, {  21,  28 }, {  25,  21 },        {  30,  20 }, {  31,  12 }, {  27,  16 }, {  24,  42 },        {   0,  93 }, {  14,  56 }, {  15,  57 }, {  26,  38 },        { -24, 127 },        /* 227 - 275 */        { -24, 115 }, { -22,  82 }, {  -9,  62 }, {   0,  53 },        {   0,  59 }, { -14,  85 }, { -13,  89 }, { -13,  94 },        { -11,  92 }, { -29, 127 }, { -21, 100 }, { -14,  57 },        { -12,  67 }, { -11,  71 }, { -10,  77 }, { -21,  85 },        { -16,  88 }, { -23, 104 }, { -15,  98 }, { -37, 127 },        { -10,  82 }, {  -8,  48 }, {  -8,  61 }, {  -8,  66 },        {  -7,  70 }, { -14,  75 }, { -10,  79 }, {  -9,  83 },        { -12,  92 }, { -18, 108 }, {  -4,  79 }, { -22,  69 },        { -16,  75 }, {  -2,  58 }, {   1,  58 }, { -13,  78 },        {  -9,  83 }, {  -4,  81 }, { -13,  99 }, { -13,  81 },        {  -6,  38 }, { -13,  62 }, {  -6,  58 }, {  -2,  59 },        { -16,  73 }, { -10,  76 }, { -13,  86 }, {  -9,  83 },        { -10,  87 },        /* 276 a bit special (not used, SHU264_cabac_encode_bypass is used instead) */        { 0, 0 },        /* 277 - 337 */        { -22, 127 }, { -25, 127 }, { -25, 120 }, { -27, 127 },        { -19, 114 }, { -23, 117 }, { -25, 118 }, { -26, 117 },        { -24, 113 }, { -28, 118 }, { -31, 120 }, { -37, 124 },        { -10,  94 }, { -15, 102 }, { -10,  99 }, { -13, 106 },        { -50, 127 }, {  -5,  92 }, {  17,  57 }, {  -5,  86 },        { -13,  94 }, { -12,  91 }, {  -2,  77 }, {   0,  71 },        {  -1,  73 }, {   4,  64 }, {  -7,  81 }, {   5,  64 },        {  15,  57 }, {   1,  67 }, {   0,  68 }, { -10,  67 },        {   1,  68 }, {   0,  77 }, {   2,  64 }, {   0,  68 },        {  -5,  78 }, {   7,  55 }, {   5,  59 }, {   2,  65 },        {  14,  54 }, {  15,  44 }, {   5,  60 }, {   2,  70 },        {  -2,  76 }, { -18,  86 }, {  12,  70 }, {   5,  64 },        { -12,  70 }, {  11,  55 }, {   5,  56 }, {   0,  69 },        {   2,  65 }, {  -6,  74 }, {   5,  54 }, {   7,  54 },        {  -6,  76 }, { -11,  82 }, {  -2,  77 }, {  -2,  77 },        {  25,  42 },        /* 338 - 398 */        {  17, -13 }, {  16,  -9 }, {  17, -12 }, {  27, -21 },        {  37, -30 }, {  41, -40 }, {  42, -41 }, {  48, -47 },        {  39, -32 }, {  46, -40 }, {  52, -51 }, {  46, -41 },        {  52, -39 }, {  43, -19 }, {  32,  11 }, {  61, -55 },        {  56, -46 }, {  62, -50 }, {  81, -67 }, {  45, -20 },        {  35,  -2 }, {  28,  15 }, {  34,   1 }, {  39,   1 },        {  30,  17 }, {  20,  38 }, {  18,  45 }, {  15,  54 },        {   0,  79 }, {  36, -16 }, {  37, -14 }, {  37, -17 },        {  32,   1 }, {  34,  15 }, {  29,  15 }, {  24,  25 },        {  34,  22 }, {  31,  16 }, {  35,  18 }, {  31,  28 },        {  33,  41 }, {  36,  28 }, {  27,  47 }, {  21,  62 },        {  18,  31 }, {  19,  26 }, {  36,  24 }, {  24,  23 },        {  27,  16 }, {  24,  30 }, {  31,  29 }, {  22,  41 },        {  22,  42 }, {  16,  60 }, {  15,  52 }, {  14,  60 },        {   3,  78 }, { -16, 123 }, {  21,  53 }, {  22,  56 },        {  25,  61 },        /* 399 -> 435 */        {  21,  33 }, {  19,  50 }, {  17,  61 },        {  -3,  78 }, {  -8,  74 }, {  -9,  72 }, { -10,  72 },        { -18,  75 }, { -12,  71 }, { -11,  63 }, {  -5,  70 },        { -17,  75 }, { -14,  72 }, { -16,  67 }, {  -8,  53 },        { -14,  59 }, {  -9,  52 }, { -11,  68 }, {   9,  -2 },        {  30, -10 }, {  31,  -4 }, {  33,  -1 }, {  33,   7 },        {  31,  12 }, {  37,  23 }, {  31,  38 }, {  20,  64 },        {  -9,  71 }, {  -7,  37 }, {  -8,  44 }, { -11,  49 },        { -10,  56 }, { -12,  59 }, {  -8,  63 }, {  -9,  67 },        {  -6,  68 }, { -10,  79 },        /* 436 -> 459 */        {  -3,  78 }, {  -8,  74 }, {  -9,  72 }, { -10,  72 },        { -18,  75 }, { -12,  71 }, { -11,  63 }, {  -5,  70 },        { -17,  75 }, { -14,  72 }, { -16,  67 }, {  -8,  53 },        { -14,  59 }, {  -9,  52 }, { -11,  68 }, {   9,  -2 },        {  30, -10 }, {  31,  -4 }, {  33,  -1 }, {  33,   7 },        {  31,  12 }, {  37,  23 }, {  31,  38 }, {  20,  64 },    }};/* FIXME could avoid this duplication by reversing the order of states * with MPS=0, but that would uglify the other tables */static const int SHU264_cabac_range_lps[128][4] ={    {   2,   2,   2,   2 },    {   6,   7,   8,   9 }, {   6,   7,   9,  10 }, {   6,   8,   9,  11 },    {   7,   8,  10,  11 }, {   7,   9,  10,  12 }, {   7,   9,  11,  12 },    {   8,   9,  11,  13 }, {   8,  10,  12,  14 }, {   9,  11,  12,  14 },    {   9,  11,  13,  15 }, {  10,  12,  14,  16 }, {  10,  12,  15,  17 },    {  11,  13,  15,  18 }, {  11,  14,  16,  19 }, {  12,  14,  17,  20 },    {  12,  15,  18,  21 }, {  13,  16,  19,  22 }, {  14,  17,  20,  23 },    {  14,  18,  21,  24 }, {  15,  19,  22,  25 }, {  16,  20,  23,  27 },    {  17,  21,  25,  28 }, {  18,  22,  26,  30 }, {  19,  23,  27,  31 },    {  20,  24,  29,  33 }, {  21,  26,  30,  35 }, {  22,  27,  32,  37 },    {  23,  28,  33,  39 }, {  24,  30,  35,  41 }, {  26,  31,  37,  43 },    {  27,  33,  39,  45 }, {  29,  35,  41,  48 }, {  30,  37,  43,  50 },    {  32,  39,  46,  53 }, {  33,  41,  48,  56 }, {  35,  43,  51,  59 },    {  37,  45,  54,  62 }, {  39,  48,  56,  65 }, {  41,  50,  59,  69 },    {  43,  53,  63,  72 }, {  46,  56,  66,  76 }, {  48,  59,  69,  80 },    {  51,  62,  73,  85 }, {  53,  65,  77,  89 }, {  56,  69,  81,  94 },    {  59,  72,  86,  99 }, {  62,  76,  90, 104 }, {  66,  80,  95, 110 },    {  69,  85, 100, 116 }, {  73,  89, 105, 122 }, {  77,  94, 111, 128 },    {  81,  99, 117, 135 }, {  85, 104, 123, 142 }, {  90, 110, 130, 150 },    {  95, 116, 137, 158 }, { 100, 122, 144, 166 }, { 105, 128, 152, 175 },    { 111, 135, 160, 185 }, { 116, 142, 169, 195 }, { 123, 150, 178, 205 },    { 128, 158, 187, 216 }, { 128, 167, 197, 227 }, { 128, 176, 208, 240 },    { 128, 176, 208, 240 }, { 128, 167, 197, 227 }, { 128, 158, 187, 216 },    { 123, 150, 178, 205 }, { 116, 142, 169, 195 }, { 111, 135, 160, 185 },    { 105, 128, 152, 175 }, { 100, 122, 144, 166 }, {  95, 116, 137, 158 },    {  90, 110, 130, 150 }, {  85, 104, 123, 142 }, {  81,  99, 117, 135 },    {  77,  94, 111, 128 }, {  73,  89, 105, 122 }, {  69,  85, 100, 116 },    {  66,  80,  95, 110 }, {  62,  76,  90, 104 }, {  59,  72,  86,  99 },    {  56,  69,  81,  94 }, {  53,  65,  77,  89 }, {  51,  62,  73,  85 },    {  48,  59,  69,  80 }, {  46,  56,  66,  76 }, {  43,  53,  63,  72 },    {  41,  50,  59,  69 }, {  39,  48,  56,  65 }, {  37,  45,  54,  62 },    {  35,  43,  51,  59 }, {  33,  41,  48,  56 }, {  32,  39,  46,  53 },    {  30,  37,  43,  50 }, {  29,  35,  41,  48 }, {  27,  33,  39,  45 },    {  26,  31,  37,  43 }, {  24,  30,  35,  41 }, {  23,  28,  33,  39 },    {  22,  27,  32,  37 }, {  21,  26,  30,  35 }, {  20,  24,  29,  33 },    {  19,  23,  27,  31 }, {  18,  22,  26,  30 }, {  17,  21,  25,  28 },    {  16,  20,  23,  27 }, {  15,  19,  22,  25 }, {  14,  18,  21,  24 },    {  14,  17,  20,  23 }, {  13,  16,  19,  22 }, {  12,  15,  18,  21 },    {  12,  14,  17,  20 }, {  11,  14,  16,  19 }, {  11,  13,  15,  18 },    {  10,  12,  15,  17 }, {  10,  12,  14,  16 }, {   9,  11,  13,  15 },    {   9,  11,  12,  14 }, {   8,  10,  12,  14 }, {   8,   9,  11,  13 },    {   7,   9,  11,  12 }, {   7,   9,  10,  12 }, {   7,   8,  10,  11 },    {   6,   8,   9,  11 }, {   6,   7,   9,  10 }, {   6,   7,   8,   9 },    {   2,   2,   2,   2 },};static const int SHU264_cabac_transition[2][128] ={{      0,  1,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,     15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,     31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,     47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,     63, 64, 65, 66, 66, 68, 68, 69, 70, 71, 72, 73, 73, 75, 75, 76,     77, 77, 79, 79, 80, 80, 82, 82, 83, 83, 85, 85, 86, 86, 87, 88,     88, 89, 90, 90, 91, 91, 92, 93, 93, 94, 94, 94, 95, 96, 96, 97,     97, 97, 98, 98, 99, 99, 99,100,100,100,101,101,101,102,102,127,},{      0, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 30, 30,     30, 31, 31, 32, 33, 33, 33, 34, 34, 35, 36, 36, 37, 37, 38, 39,     39, 40, 41, 41, 42, 42, 44, 44, 45, 45, 47, 47, 48, 48, 50, 50,     51, 52, 52, 54, 54, 55, 56, 57, 58, 59, 59, 61, 61, 62, 63, 64,     65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,     81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,     97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,    113,114,115,116,117,118,119,120,121,122,123,124,125,126,126,127,}};static const int SHU264_cabac_probability[128] ={    FIX8(0.9812), FIX8(0.9802), FIX8(0.9792), FIX8(0.9781),    FIX8(0.9769), FIX8(0.9757), FIX8(0.9744), FIX8(0.9730),    FIX8(0.9716), FIX8(0.9700), FIX8(0.9684), FIX8(0.9667),    FIX8(0.9650), FIX8(0.9631), FIX8(0.9611), FIX8(0.9590),    FIX8(0.9568), FIX8(0.9545), FIX8(0.9521), FIX8(0.9495),    FIX8(0.9468), FIX8(0.9440), FIX8(0.9410), FIX8(0.9378),    FIX8(0.9345), FIX8(0.9310), FIX8(0.9273), FIX8(0.9234),    FIX8(0.9193), FIX8(0.9150), FIX8(0.9105), FIX8(0.9057),    FIX8(0.9006), FIX8(0.8953), FIX8(0.8897), FIX8(0.8838),    FIX8(0.8776), FIX8(0.8710), FIX8(0.8641), FIX8(0.8569),    FIX8(0.8492), FIX8(0.8411), FIX8(0.8326), FIX8(0.8237),    FIX8(0.8143), FIX8(0.8043), FIX8(0.7938), FIX8(0.7828),    FIX8(0.7712), FIX8(0.7590), FIX8(0.7461), FIX8(0.7325),    FIX8(0.7182), FIX8(0.7031), FIX8(0.6872), FIX8(0.6705),    FIX8(0.6528), FIX8(0.6343), FIX8(0.6147), FIX8(0.5941),    FIX8(0.5724), FIX8(0.5495), FIX8(0.5254), FIX8(0.5000),    FIX8(0.5000), FIX8(0.4746), FIX8(0.4505), FIX8(0.4276),    FIX8(0.4059), FIX8(0.3853), FIX8(0.3657), FIX8(0.3472),    FIX8(0.3295), FIX8(0.3128), FIX8(0.2969), FIX8(0.2818),    FIX8(0.2675), FIX8(0.2539), FIX8(0.2410), FIX8(0.2288),    FIX8(0.2172), FIX8(0.2062), FIX8(0.1957), FIX8(0.1857),    FIX8(0.1763), FIX8(0.1674), FIX8(0.1589), FIX8(0.1508),    FIX8(0.1431), FIX8(0.1359), FIX8(0.1290), FIX8(0.1224),    FIX8(0.1162), FIX8(0.1103), FIX8(0.1047), FIX8(0.0994),    FIX8(0.0943), FIX8(0.0895), FIX8(0.0850), FIX8(0.0807),    FIX8(0.0766), FIX8(0.0727), FIX8(0.0690), FIX8(0.0655),    FIX8(0.0622), FIX8(0.0590), FIX8(0.0560), FIX8(0.0532),    FIX8(0.0505), FIX8(0.0479), FIX8(0.0455), FIX8(0.0432),    FIX8(0.0410), FIX8(0.0389), FIX8(0.0369), FIX8(0.0350),    FIX8(0.0333), FIX8(0.0316), FIX8(0.0300), FIX8(0.0284),    FIX8(0.0270), FIX8(0.0256), FIX8(0.0243), FIX8(0.0231),    FIX8(0.0219), FIX8(0.0208), FIX8(0.0198), FIX8(0.0187)};/* -ln2(probability) */static const int SHU264_cabac_entropy[128] ={

⌨️ 快捷键说明

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