Commit d027922c authored by Wei-Ting Lin's avatar Wei-Ting Lin Committed by Wei-ting Lin
Browse files

ncobmc_adapt_weight: add interpolation kernels

Change-Id: I58c135ac173801dc7fafd27b0c1cafb072db52e5
parent 940942ba
......@@ -192,8 +192,14 @@ AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/highbd_convolve_2d_ssse3.c
endif
endif
ifeq ($(CONFIG_Q_ADAPT_PROBS),yes)
AV1_COMMON_SRCS-yes += common/token_cdfs.h
endif
ifeq ($(CONFIG_NCOBMC_ADAPT_WEIGHT),yes)
AV1_COMMON_SRCS-yes += common/ncobmc_kernels.h
AV1_COMMON_SRCS-yes += common/ncobmc_kernels.c
endif
$(eval $(call rtcd_h_template,av1_rtcd,av1/common/av1_rtcd_defs.pl))
/*
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
* Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
#include "av1/common/ncobmc_kernels.h"
// The kernels are only used in the experiment "ncobmc-adapt-weight", which
// blends four predictions to form a final prediction for an inter-block
// The indices of the default kernels correspond to
// 1. the index of the size of the kernels (ADAPT_OVERLAP_BLOCKS )
// 2. the interpolation modes (NCOBMC_MODE)
// 3. the prediction the kernels applies to
static int16_t default_ncobmc_krnl_0_0_0[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 5684, 3601, 1367, 364, 1509, 2313, 4007, 5080 },
{ 3728, 2486, 827, 196, 1434, 2034, 2868, 3000 },
{ 1643, 1465, 726, 208, 890, 1386, 1242, 1293 },
{ 794, 723, 277, -237, 206, 487, 749, 896 },
{ 1176, 730, 286, 136, 281, 262, 724, 953 },
{ 2086, 1958, 783, 539, 751, 984, 1143, 1491 },
{ 2665, 2520, 1402, 1037, 939, 1223, 1593, 1937 },
{ 3451, 3172, 2350, 1291, 1069, 1916, 2672, 3223 }
};
static int16_t default_ncobmc_krnl_0_0_1[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 5541, 8123, 10470, 11908, 11291, 10382, 8800, 6446 },
{ 3338, 5536, 7249, 8080, 7671, 6428, 5280, 3900 },
{ 1732, 3087, 3842, 4325, 4034, 2929, 2318, 1800 },
{ 744, 1217, 1559, 2215, 1957, 1352, 707, 322 },
{ 685, 1082, 1792, 2300, 1975, 1350, 738, 671 },
{ 1168, 2336, 3303, 3965, 3790, 3098, 2909, 2141 },
{ 3005, 4370, 5806, 6716, 6282, 5553, 4782, 3453 },
{ 4748, 6650, 7779, 9010, 9208, 8184, 6987, 5197 }
};
static int16_t default_ncobmc_krnl_0_0_2[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 6026, 4784, 2400, 1250, 1002, 2371, 3320, 5285 },
{ 8638, 6094, 3257, 1498, 1297, 3145, 5252, 7625 },
{ 10859, 7249, 3868, 1871, 1813, 3569, 6577, 8858 },
{ 11432, 8123, 4216, 1786, 2477, 4370, 6669, 9366 },
{ 11894, 8466, 4870, 1917, 2479, 4656, 7057, 9383 },
{ 11109, 7432, 3924, 1288, 2018, 3946, 6660, 9877 },
{ 10138, 6548, 2830, 461, 2087, 3810, 6170, 9255 },
{ 8613, 5163, 1658, 279, 1694, 3082, 4807, 7897 }
};
static int16_t default_ncobmc_krnl_0_0_3[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ -833, -80, 2193, 2907, 2623, 1359, 298, -383 },
{ 705, 2300, 5090, 6649, 6024, 4820, 3020, 1892 },
{ 2189, 4625, 7990, 10015, 9679, 8539, 6284, 4464 },
{ 3445, 6356, 10371, 12660, 11773, 10205, 8287, 5828 },
{ 2664, 6149, 9483, 12064, 11681, 10156, 7908, 5409 },
{ 2040, 4690, 8405, 10631, 9862, 8396, 5711, 2909 },
{ 626, 2993, 6387, 8212, 7123, 5840, 3877, 1788 },
{ -402, 1431, 4636, 5850, 4461, 3246, 1964, 122 }
};
static int16_t default_ncobmc_krnl_0_1_0[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 1465, 553, -76, 10, 635, 756, 1843, 3144 },
{ 687, 117, -404, -300, 238, 280, 696, 1415 },
{ 49, -38, -224, -241, -135, -209, -237, 382 },
{ 48, 37, -266, -273, -235, -137, -208, -94 },
{ 555, -3, -132, -172, -98, 93, 347, 313 },
{ 887, 256, -266, -307, 304, 222, -98, 82 },
{ 1701, 816, 454, 501, 119, 230, 450, 551 },
{ 2732, 1502, 1174, 540, 323, 709, 1002, 936 }
};
static int16_t default_ncobmc_krnl_0_1_1[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 7707, 10467, 11036, 10942, 10165, 9420, 8728, 5835 },
{ 3167, 5146, 5854, 5771, 4914, 4684, 4357, 3154 },
{ 900, 1646, 2412, 2014, 1974, 1986, 1776, 1005 },
{ -198, -179, 488, 737, 866, 784, 828, 236 },
{ -469, 32, 402, 574, 738, 495, 242, -187 },
{ 186, 1078, 1378, 1480, 1226, 1506, 1656, 745 },
{ 1531, 2525, 3139, 3367, 3535, 3519, 3095, 2171 },
{ 3152, 5453, 6176, 7089, 7310, 6879, 6483, 4916 }
};
static int16_t default_ncobmc_krnl_0_1_2[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 7378, 3775, 1232, 453, 133, 936, 1688, 4950 },
{ 10336, 5944, 2400, 1175, 168, 954, 2894, 6436 },
{ 11176, 6145, 2051, 829, 543, 1193, 3403, 6517 },
{ 10387, 6062, 2036, 646, 507, 1077, 2998, 6029 },
{ 10768, 6277, 2226, 677, 321, 982, 2845, 6378 },
{ 10072, 5808, 1937, 873, 372, 1396, 3498, 7298 },
{ 8951, 4724, 1216, 104, 656, 1830, 3722, 7558 },
{ 7447, 3372, 468, -135, 99, 1177, 2980, 7260 }
};
static int16_t default_ncobmc_krnl_0_1_3[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ -229, 1545, 4135, 4921, 5405, 5226, 4081, 2418 },
{ 2120, 5121, 8485, 9692, 11018, 10406, 8380, 5338 },
{ 4205, 8593, 12099, 13717, 13936, 13366, 11402, 8436 },
{ 6068, 10382, 14047, 15190, 15155, 14577, 12684, 10145 },
{ 5458, 10012, 13836, 15243, 15361, 14752, 12876, 9818 },
{ 5153, 9162, 13256, 14256, 14385, 13170, 11245, 8186 },
{ 4140, 8257, 11521, 12362, 12028, 10762, 9062, 6053 },
{ 2966, 5975, 8490, 8807, 8561, 7529, 5836, 3204 }
};
static int16_t default_ncobmc_krnl_1_0_0[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 4414, 2642, 2518, 1763, 1089, 644, 355, 254, -234, 454, 399, 228, 525, 785,
558, 919 },
{ 2989, 3035, 2685, 1476, 1872, 768, 820, -309, -107, 273, 87, 286, 499, 638,
929, 1025 },
{ 1779, 1672, 1713, 645, 953, 151, 617, 79, -91, 185, 18, 307, 794, 681, 484,
521 },
{ 1429, 1571, 1893, 1493, 949, 288, -232, -248, -152, 179, -50, 74, 107, 329,
539, 822 },
{ 1444, 852, 1022, 688, 850, 205, 135, -629, 334, 96, 106, 337, 259, 300, 150,
680 },
{ 962, 367, 329, 921, 591, -79, 146, 201, 296, 179, -190, 143, 46, -107, 215,
853 },
{ 915, 865, 463, 169, 498, -390, 12, 202, 225, 490, 410, 483, 52, 99, 293,
569 },
{ 728, -135, 241, 383, 288, -69, 33, 421, 523, 506, 376, 58, 143, -4, 151,
218 },
{ 337, 65, 255, 282, 173, 267, 237, 15, 38, 114, 253, 110, 32, 227, 92, -48 },
{ 317, 115, 295, 231, 380, 435, 331, -97, 392, 393, 51, 59, 276, 41, -33,
46 },
{ 31, -14, 86, 250, -36, -214, 210, -79, -117, 401, 193, 440, 171, 200, 8,
112 },
{ 46, 19, 165, -6, 75, 180, 266, -98, 76, 276, 6, 29, 230, -49, 177, 168 },
{ 104, -243, -121, 295, -8, 180, 16, -44, 232, 315, 176, 10, 0, -95, -154,
141 },
{ 248, 201, 361, 430, -20, -45, 209, -44, 222, 540, 527, 297, 240, 625, 531,
409 },
{ 91, 37, 193, 177, 233, 210, -299, 120, 327, 214, 293, 189, 86, 123, 206,
356 },
{ 501, 779, 295, 199, 148, 81, -31, 70, 211, 309, 300, 110, 227, 30, 242,
261 }
};
static int16_t default_ncobmc_krnl_1_0_1[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 6603, 7905, 7762, 8159, 8426, 10334, 10792, 10984, 12097, 10534, 11216,
10624, 9514, 8715, 8672, 8846 },
{ 5897, 6238, 6272, 7323, 7162, 8091, 9465, 9845, 9929, 9747, 10562, 10737,
9059, 7651, 7330, 7314 },
{ 5572, 6017, 5568, 7112, 6617, 6501, 7334, 8494, 8900, 8826, 9852, 8034,
6956, 7691, 7513, 6106 },
{ 4564, 3877, 4682, 4586, 5135, 5795, 7968, 7859, 7720, 6548, 6306, 5639,
6357, 6514, 6493, 5609 },
{ 4142, 4154, 3332, 4193, 3873, 4977, 4685, 5787, 5707, 5300, 5854, 4720,
5452, 5642, 4810, 4250 },
{ 2993, 3176, 3012, 2637, 2664, 4336, 4207, 3687, 4627, 4487, 4847, 4120,
4079, 3931, 3730, 3205 },
{ 2479, 2268, 1858, 1737, 2266, 2806, 2919, 3017, 3231, 2964, 3181, 3423,
3096, 3025, 2684, 2353 },
{ 1969, 2001, 1997, 1959, 1323, 1565, 1963, 1351, 1957, 1711, 2093, 2057,
1762, 1926, 1118, 1367 },
{ 1473, 816, 655, 1628, 1252, 1764, 1723, 1675, 2559, 3029, 1951, 2160, 2305,
2299, 1688, 1048 },
{ 3073, 1667, 1324, 1360, 1562, 1774, 2154, 2740, 3281, 3434, 3258, 4095,
2823, 2443, 2894, 2449 },
{ 3813, 2830, 3352, 2125, 2627, 2974, 3847, 3720, 4592, 4846, 4787, 5066,
4598, 4229, 4032, 3478 },
{ 3415, 2733, 3827, 3637, 3381, 3743, 3768, 4732, 5055, 5445, 5870, 5937,
5734, 5980, 5010, 4954 },
{ 4878, 3604, 5532, 4558, 4210, 4880, 4847, 5771, 5136, 6486, 7096, 6426,
5765, 6824, 6094, 5753 },
{ 6076, 5817, 5318, 5268, 5784, 5482, 6453, 6582, 6803, 7077, 8113, 8173,
8329, 7653, 6448, 6476 },
{ 7549, 5758, 5554, 6383, 7113, 7664, 7123, 6712, 8539, 8997, 9047, 8794,
8700, 8760, 7600, 7995 },
{ 7698, 7133, 7048, 7498, 7821, 8401, 9152, 8647, 8934, 8874, 8595, 8789,
8828, 8766, 9019, 8783 }
};
static int16_t default_ncobmc_krnl_1_0_2[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 5573, 5972, 5705, 5033, 5738, 3189, 2009, 1476, 2057, 2178, 1869, 2927,
3305, 4036, 4017, 5328 },
{ 7539, 7568, 7302, 5564, 4410, 3954, 2153, 2693, 622, 1831, 1753, 1636, 3552,
4374, 4319, 6015 },
{ 8753, 7544, 6620, 5710, 6142, 5819, 2731, 2898, 1702, 1487, 2249, 1688,
4110, 4483, 5108, 5621 },
{ 9273, 7922, 6245, 6310, 6442, 5272, 3068, 2649, 1599, 2693, 3219, 4501,
4588, 4310, 5647, 6894 },
{ 9697, 8245, 7267, 6551, 5199, 4626, 3466, 3256, 2099, 3125, 3608, 4297,
3944, 5468, 6056, 7545 },
{ 8831, 8583, 7466, 6937, 6056, 5482, 3407, 3324, 1802, 3128, 3078, 4560,
4560, 5901, 6131, 7612 },
{ 9556, 7457, 6602, 7342, 5370, 4431, 3573, 3339, 1668, 3172, 3779, 4564,
5744, 7244, 8522, 8407 },
{ 10238, 8809, 7064, 6643, 4885, 4246, 2737, 2684, 2501, 3443, 3761, 6174,
5891, 6882, 7585, 8821 },
{ 10151, 10001, 8289, 6859, 6054, 4903, 3809, 3540, 2644, 3424, 3542, 4649,
5389, 5384, 6733, 8360 },
{ 9635, 9516, 7609, 7438, 6181, 4529, 4140, 3439, 2568, 3338, 3789, 5195,
5510, 6181, 7566, 8512 },
{ 9988, 8848, 6807, 6731, 6139, 5355, 3797, 4097, 3364, 3319, 4230, 5136,
5581, 6125, 7748, 8229 },
{ 10252, 9244, 7204, 7260, 6478, 6040, 4659, 3920, 2869, 3263, 4068, 5475,
5714, 7183, 7153, 8318 },
{ 9682, 9366, 7096, 6059, 6036, 4463, 3898, 3477, 2065, 2704, 4434, 5167,
5502, 6743, 8002, 7443 },
{ 9252, 8211, 6399, 6747, 6498, 5626, 4016, 3880, 2172, 2557, 3576, 4270,
4968, 5115, 6840, 7550 },
{ 8753, 8157, 7097, 6500, 5779, 5174, 4190, 2645, 2380, 3239, 4155, 5263,
5437, 5337, 5663, 6667 },
{ 9680, 7710, 6921, 5657, 4863, 3990, 3485, 2172, 2620, 3003, 3328, 4112,
4806, 6020, 6833, 7212 }
};
static int16_t default_ncobmc_krnl_1_0_3[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ -219, -121, 416, 1445, 1150, 2238, 3251, 3695, 2496, 3247, 2925, 2639, 3064,
2869, 3167, 1320 },
{ -68, -450, 130, 2039, 2952, 3584, 3966, 4171, 5961, 4555, 3995, 3732, 3281,
3731, 3827, 2052 },
{ 262, 1161, 2497, 2934, 2690, 3939, 5735, 4938, 5906, 5924, 4296, 6388, 4553,
3551, 3297, 4164 },
{ 1091, 3025, 3566, 4005, 3874, 5040, 5600, 6151, 7241, 6990, 6924, 6186,
5356, 5256, 3726, 3083 },
{ 1079, 3140, 4769, 4958, 6480, 6589, 8111, 7988, 8255, 7879, 6838, 7052,
6751, 5005, 5393, 3931 },
{ 3566, 4255, 5572, 5909, 7098, 6653, 8641, 9199, 9689, 8617, 8673, 7591,
7733, 6676, 6324, 4737 },
{ 3411, 5802, 7481, 7149, 8259, 9553, 9900, 9854, 11285, 9779, 9040, 7939,
7515, 6037, 4902, 5075 },
{ 3417, 5718, 7095, 7425, 9913, 10666, 11679, 11951, 11429, 10749, 10173,
8116, 8610, 7605, 7548, 5992 },
{ 4408, 5515, 7201, 7627, 8922, 9470, 10636, 11166, 11159, 9844, 10673, 9502,
8693, 8503, 7905, 7046 },
{ 3340, 5097, 7171, 7366, 8273, 9660, 9784, 10332, 10155, 9232, 9301, 7056,
7798, 7746, 5981, 5402 },
{ 2531, 4732, 6148, 7284, 7672, 8287, 8551, 8672, 8567, 7846, 7199, 5757,
6057, 5863, 4613, 4578 },
{ 2646, 4394, 5195, 5511, 6471, 6443, 7713, 7854, 8408, 7427, 6461, 4968,
4731, 3294, 4066, 2960 },
{ 1692, 3664, 3881, 5480, 6162, 6871, 7635, 7198, 8963, 6891, 4694, 4801,
5141, 2932, 2459, 3060 },
{ 769, 2144, 4310, 3945, 4125, 5329, 5712, 5975, 7200, 6220, 4179, 3662, 2868,
3007, 2579, 1958 },
{ -45, 2434, 3549, 3335, 3273, 3357, 5394, 6931, 5159, 3956, 2912, 2164, 2187,
2187, 2935, 1388 },
{ -1514, 786, 2135, 3045, 3561, 3922, 3800, 5515, 4650, 4225, 4169, 3387,
2539, 1590, 317, 161 }
};
static int16_t default_ncobmc_krnl_1_1_0[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 2375, 1912, 1469, 213, 933, -507, -173, -369, -333, 187, -128, 427, 999,
1166, 1515, 2728 },
{ 1857, 1085, 817, 454, 598, 479, 53, -218, -611, 240, 76, 31, 284, 1347,
1738, 1317 },
{ 1911, 531, 453, 89, 639, -361, -331, -605, -162, 63, -154, 259, 446, 390,
708, 1113 },
{ 818, 1304, 871, 665, 1006, -114, -405, -407, 331, 203, 304, 506, 476, 1053,
1155, 879 },
{ 1054, 874, 714, -162, 624, -144, -306, -541, 30, -281, 296, 812, 418, 858,
755, 252 },
{ 967, 388, 354, 878, 31, -691, -244, -307, 425, 281, 0, -50, 110, -107, 279,
255 },
{ 152, -53, 156, 266, 192, -864, -236, -110, 397, 484, -129, 14, 22, 44, -90,
278 },
{ 203, -54, 103, -142, -598, -741, -546, -26, 545, 253, -43, -234, -391, -504,
-158, -143 },
{ 387, 275, 136, 69, -289, -9, -210, -364, 39, 3, 4, 61, -66, -102, -94,
-215 },
{ 195, 213, 433, 158, 128, -131, -203, -266, -132, -285, -301, -367, -315,
-249, -144, -9 },
{ 600, 145, 418, 277, 156, -118, 85, -20, 119, 260, 41, 72, -85, 316, -97,
-41 },
{ 682, 610, 356, 880, 527, 272, 90, 92, -124, 314, -204, -339, -590, -384,
-248, -192 },
{ 999, 423, 208, 752, 623, 409, 91, -57, -3, -124, 148, 255, -7, 112, -128,
-144 },
{ 1007, 710, 609, 766, 264, -163, 324, 291, 219, -61, 24, 507, 74, 109, 127,
629 },
{ 2211, 878, 853, 462, 86, 203, -71, 122, -36, 131, 308, 267, 210, 369, 50,
-96 },
{ 1810, 1630, 1123, 645, 610, 217, -93, -37, -220, -341, -250, -110, 135, 0,
112, 93 }
};
static int16_t default_ncobmc_krnl_1_1_1[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 5824, 7106, 8063, 8929, 8632, 9731, 10164, 11047, 11088, 10239, 10606, 8987,
8411, 7117, 6115, 5322 },
{ 4980, 6239, 7135, 7245, 7418, 8526, 9440, 9438, 8119, 8336, 7993, 8057,
6686, 5210, 4193, 4841 },
{ 2436, 4500, 5019, 5908, 5578, 7270, 7391, 7974, 7281, 6871, 6705, 6327,
4867, 4521, 4286, 3605 },
{ 2298, 3501, 4714, 4692, 4835, 5278, 5830, 4968, 4435, 4824, 4373, 4085,
3825, 2657, 2539, 2557 },
{ 1643, 2741, 2604, 2664, 1877, 3334, 2995, 3162, 3367, 3104, 3356, 2827,
3577, 2359, 1755, 2140 },
{ 742, 1397, 1315, 1332, 1864, 3032, 2472, 2253, 1692, 2071, 2260, 2426, 1951,
1610, 1189, 1275 },
{ 482, 869, 598, 288, 769, 1490, 1284, 1692, 883, 1061, 1259, 1239, 1118, 585,
219, 571 },
{ 178, 278, 580, 915, 717, 873, 1012, 721, 52, 348, 624, 540, 691, 102, -108,
383 },
{ -718, -648, -223, -520, -1000, -754, -688, -639, -528, -414, -440, -365,
-268, -546, -672, -332 },
{ -256, -226, -395, -158, -311, -325, -66, 87, 533, 705, 261, 344, 484, 692,
155, 507 },
{ 204, 448, 131, -571, 889, 712, 626, 349, 261, 578, 240, 1012, 849, 900, 889,
977 },
{ 132, 1395, 1847, 1181, 845, 1203, 1920, 2068, 2141, 2071, 1834, 2191, 2130,
2522, 1537, 1326 },
{ 140, 1278, 2440, 2063, 1581, 2204, 2781, 2532, 1677, 2426, 2538, 2210, 1568,
2564, 2394, 1945 },
{ 2943, 3776, 3833, 3310, 3900, 4118, 4161, 3571, 4059, 4143, 4145, 4273,
4034, 3940, 3720, 2418 },
{ 3437, 3906, 4106, 4294, 5303, 5257, 4956, 4027, 5935, 5373, 4102, 4853,
5331, 5251, 3964, 4748 },
{ 5493, 5799, 5966, 6535, 7015, 7397, 8011, 6526, 5832, 6257, 6247, 7097,
6499, 6272, 5963, 5593 }
};
static int16_t default_ncobmc_krnl_1_1_2[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 6049, 4906, 3617, 2960, 2187, 1950, 556, 497, 688, 355, 503, 1054, 1170,
1641, 2343, 4226 },
{ 7459, 6408, 4326, 3635, 2042, 1565, 492, 572, 746, 338, 719, 797, 2540,
2283, 2301, 4089 },
{ 8025, 6914, 5072, 4249, 2793, 1910, 430, 1137, -150, 451, 1061, 872, 1515,
2805, 3823, 4550 },
{ 9615, 6936, 5226, 3388, 2611, 2061, 801, 1003, -537, 72, 736, 1347, 2215,
3509, 4262, 5097 },
{ 9677, 6521, 5633, 5223, 2996, 2449, 1300, 1136, 160, 918, 488, 801, 2306,
3781, 4818, 6441 },
{ 9988, 7509, 6019, 4950, 3376, 2777, 1427, 1395, -118, 310, 393, 1626, 3387,
3649, 4737, 7431 },
{ 10542, 7745, 5192, 4494, 1637, 1960, 1212, 1056, -309, 383, 1166, 2107,
4048, 4030, 7206, 7851 },
{ 9350, 7480, 4343, 3589, 1748, 1687, 1057, 898, 592, 776, 680, 1960, 3804,
4598, 5688, 7834 },
{ 8769, 7236, 5518, 4182, 2776, 2412, 915, 1370, 789, 561, 520, 1146, 3139,
4730, 5542, 7514 },
{ 9580, 7116, 5910, 4623, 3085, 2450, 1703, 745, 419, 600, 1077, 1208, 3256,
4261, 5611, 6709 },
{ 9725, 7053, 5594, 4217, 2573, 1834, 562, 512, 496, 356, 883, 1360, 3323,
4866, 5632, 7594 },
{ 10110, 7367, 5622, 3858, 3720, 2398, 1075, 1687, 616, 461, 1082, 1786, 2570,
4242, 5731, 8319 },
{ 9416, 7582, 6054, 3915, 3283, 2035, 1335, 1138, 317, 92, 253, 483, 1715,
3597, 5613, 8103 },
{ 8693, 6881, 4626, 3505, 2663, 1949, 751, 792, -343, 55, 303, 460, 2027,
3584, 6230, 8704 },
{ 7368, 6609, 5087, 3861, 2790, 1746, 1487, 518, 497, -165, 439, 904, 2514,
3735, 6082, 6914 },
{ 7004, 5321, 3472, 2621, 1221, 999, 1172, 377, 850, 864, 866, 647, 2574,
3977, 6416, 7777 }
};
static int16_t default_ncobmc_krnl_1_1_3[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 2085, 2421, 3201, 4245, 4593, 5179, 5800, 5172, 4904, 5558, 5357, 5889,
5769, 6415, 6377, 4080 },
{ 2031, 2607, 4062, 5018, 6279, 5766, 6373, 6562, 8085, 7434, 7557, 7449,
6834, 7509, 8119, 6106 },
{ 3960, 4394, 5800, 6108, 7339, 7531, 8876, 7849, 9371, 8973, 8753, 8896,
9525, 8636, 7540, 7092 },
{ 3599, 4610, 5527, 7597, 7898, 9121, 10115, 10783, 12123, 11248, 10928,
10406, 9827, 9129, 8401, 7814 },
{ 3953, 6203, 7382, 8619, 10852, 10722, 12369, 12580, 12777, 12605, 12198,
11899, 10047, 9350, 9018, 7521 },
{ 4615, 7038, 8644, 9190, 11073, 11216, 12685, 13003, 14345, 13679, 13689,
12344, 10902, 11188, 10148, 7399 },
{ 5141, 7775, 10402, 11309, 13751, 13759, 14094, 13720, 15371, 14418, 14061,
12988, 11166, 11692, 9019, 7665 },
{ 6591, 8644, 11320, 11985, 14476, 14526, 14816, 14745, 15159, 14966, 15071,
14071, 12238, 12154, 10931, 8266 },
{ 7897, 9483, 10910, 12615, 14865, 14701, 16336, 15966, 16036, 16200, 16266,
15506, 13546, 12270, 11580, 9377 },
{ 6808, 9239, 10394, 11719, 13438, 14348, 14923, 15789, 15519, 15341, 15316,
15166, 12927, 11656, 10736, 9138 },
{ 5796, 8696, 10198, 12417, 12722, 13926, 15077, 15506, 15468, 15155, 15184,
13906, 12262, 10270, 9924, 7815 },
{ 5386, 6960, 8500, 10429, 11262, 12474, 13263, 12505, 13713, 13502, 13632,
12702, 12233, 9964, 9329, 6889 },
{ 5768, 7049, 7630, 9626, 10868, 11697, 12128, 12718, 14351, 13953, 13402,
13389, 13063, 10072, 8470, 6445 },
{ 3665, 4962, 7272, 8760, 9507, 10431, 11095, 11676, 12400, 12216, 11874,
11099, 10214, 8725, 6279, 4598 },
{ 3293, 4948, 6288, 7711, 8156, 9140, 9976, 11683, 9946, 11003, 11496, 10325,
8287, 6988, 6251, 4796 },
{ 2010, 3599, 5789, 6548, 7490, 7725, 7264, 9488, 9893, 9573, 9487, 8725,
7145, 6110, 3858, 2891 }
};
static int16_t default_ncobmc_krnl_2_0_0[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 3437, 3490, 4578, 2066, 1672, 1354, 1502, 2345, 2273, -600, 52,
272, 484, 2214, -1553, -197, 165, 278, 306, 384, 73, 415,
-213, 357, 497, 288, 714, 6, -82, -118, 170, 181 },
{ 2505, 3488, 306, 3011, 2631, 181, 636, 2608, 1663, -964, 594,
-1455, 1057, -1198, -1647, 187, 404, 412, 177, -32, 269, -24,
148, 233, -290, -359, -178, -164, -362, -19, -408, 106 },
{ 2588, 3528, 3391, 3134, 1812, 2387, -34, -298, -13, -955, 40,
-475, 1243, 283, -247, -484, 200, -46, 36, -642, -386, -438,
34, 295, 93, -528, -13, 412, -8, 41, -457, 28 },
{ 796, 3353, 435, 3473, 458, 1851, 519, 1061, 259, 942, 416,
195, 390, -151, -1141, -710, 716, -401, 33, -771, -759, -336,
88, -124, -139, -372, -223, -505, -164, -100, -512, -465 },
{ 3233, 3990, 2698, -107, -448, 297, 331, -13, -530, -383, -464,
-1530, 715, -899, -1978, -879, 43, 93, -77, -138, -425, -97,
-167, -348, -460, -95, 280, -45, 235, 172, -357, -200 },
{ 868, 4162, 1417, 487, -1446, -355, 392, -159, 202, 704, -814,
-3095, -1052, -1482, -745, -1403, -199, -27, -38, -387, -208, 20,
-64, -130, -265, 81, -20, 238, 49, 121, -137, 495 },
{ 2774, 3478, 2072, 1229, 819, 1359, 106, -222, -1445, -1559, 924,
-98, 44, -347, 455, -862, -318, -288, -31, 281, -144, -107,
148, 103, -171, -239, -134, 25, 125, 108, -142, -129 },
{ 610, 990, -703, 1003, 437, -275, -179, -233, -2041, -445, -1145,
-488, 335, -2684, -1339, -294, -176, -195, -36, -65, -276, 10,
-111, -277, -134, -222, -51, 31, -369, -279, -105, 69 },
{ 420, 2773, 375, -372, 489, 989, -900, 1075, 182, 119, -529,
-470, -504, -2225, 225, 101, -264, -417, -253, -459, -317, -205,
-528, -7, -43, -268, -116, -857, -608, -208, -216, 220 },
{ 2969, 1927, -314, -476, 402, -637, -838, 835, 1229, 1200, 135,
-299, -324, -2136, 340, -1563, -309, -98, -408, -137, -154, 668,
101, -90, 245, 112, -51, -37, -525, -254, -244, -126 },
{ 1404, -258, 2333, 2019, 309, -29, -2468, 18, -494, 70, -260,
245, 515, -1984, -1759, -1003, -504, 104, 472, 197, -38, 265,
378, 6, 50, -183, -204, -17, -383, -318, -396, 142 },
{ 807, 637, 712, 1237, -971, -176, -1160, -210, -2072, -782, -959,
-372, -590, -1159, -1017, -889, -750, -399, -98, -15, 2, -172,
-48, -488, -628, -12, -25, 136, 229, -200, -212, -472 },
{ -1464, 333, -1978, -1394, -281, -1820, -124, 385, 97, -297, -1497,
-3, -916, -660, -949, -504, 117, 11, 86, 88, 2, 219,
333, -120, -224, 71, 237, -507, 13, -381, -207, -113 },
{ 1100, -717, -1827, -1908, -1030, -1562, 404, 794, 4, -682, -1306,
-612, -1197, 8, -131, 525, 159, -345, -91, 9, -222, -482,
-69, 482, 593, -32, -239, -408, -522, -692, -126, 712 },
{ -798, -735, -174, -1695, 819, -737, -15, -426, -750, 876, 34,
-622, 448, -71, -950, -2094, 74, 170, 18, 57, 156, 443,
-85, -374, -416, -537, -348, -126, 62, -381, 399, -53 },
{ -552, -1352, 536, -1, -322, -1094, -428, 309, -142, -752, 354,
900, 473, -137, -1263, -370, -731, -864, -30, -101, 354, -321,
-523, 377, 9, -415, -87, -145, -154, -286, 100, 23 },
{ 44, 607, 316, -268, -246, -497, 267, 154, 160, 717, 324,
240, -130, -218, -107, -252, -64, 4, 113, -57, -162, 123,
-5, 143, -312, -66, -230, -33, -57, 60, 153, 85 },
{ 158, 14, -307, -240, -85, -416, 304, -402, -461, -221, 193,
-123, 384, -142, 48, -77, -378, 36, -56, 20, 2, -240,
-88, -1, -185, 87, 6, 94, -22, 82, 191, 194 },
{ 417, 259, -85, -170, -45, -151, -402, 136, 28, -40, 101,
224, -337, 97, 98, 51, -401, 95, -77, -153, 357, -99,
-473, -142, -289, -80, -349, -76, -87, 97, 40, 198 },
{ -236, 62, -104, -8, 98, 68, 128, 116, 47, 54, -121,
-150, -20, -120, 196, -80, 37, 290, 231, 247, 131, -113,
-126, -87, 65, 250, 260, 102, -68, 234, 76, -87 },
{ 245, 486, 38, -10, -135, 106, 217, -187, -200, 96, 20,
117, -40, -97, 68, -139, 276, 8, -55, -53, -187, -20,
-41, 1, -145, -246, -106, -45, -145, -353, 185, -35 },
{ 448, -172, -496, -63, -84, -106, 151, 9, -143, -180, -38,
-276, -223, 269, 100, 38, -236, -66, 124, -59, 475, -78,
-407, -20, -119, -19, 162, -4, -226, 101, 247, 78 },
{ -348, -156, -324, -260, -173, 0, -41, 63, 235, -114, 109,
-362, -96, 279, -277, 36, 394, 394, 240, 30, -88, 209,
29, 176, 59, -20, -244, 50, -104, 192, -157, 48 },
{ -376, -176, 269, -426, -159, -108, -18, -163, 93, 130, -222,
-40, 539, 176, 164, -62, -709, -354, 502, 664, 243, -414,
-51, 192, 33, 54, -10, -57, -141, -3, 144, 71 },
{ -137, -636, 627, 6, -129, -159, -45, -150, -15, 402, 207,
20, 202, 1, -203, 88, 183, 62, -76, 120, 418, -196,
-104, -154, -433, -338, -73, 1, -79, -14, -200, 84 },
{ 184, -334, 175, 114, -274, -60, -429, 176, 36, 373, 468,
134, 110, -11, -201, -94, 352, 109, 115, 91, 187, -83,
21, 0, -154, -180, 288, 0, -61, -197, -246, 42 },
{ -143, 26, 190, -110, -335, -385, -357, 27, 103, -66, -96,
-189, -337, -150, 129, -104, -176, -418, -216, -118, 28, 126,
-112, -130, 110, 17, 141, 111, -82, 238, 22, -50 },
{ 104, -95, 48, -239, -40, -148, -327, 244, 323, -102, 244,
151, 113, -150, -74, 223, -81, -328, -178, 140, -233, -165,
182, 514, 216, -129, -8, 141, -81, 451, -110, -71 },
{ -116, 84, -228, 177, 318, 62, 134, -3, 239, 14, 338,
278, -439, -254, 3, -82, -210, -62, -236, -124, 5, -60,
112, -18, -115, -31, 5, -65, 278, 4, -19, -130 },
{ 236, -64, -147, -519, 147, -27, 71, -567, -133, 24, -199,
229, -107, 126, -141, -148, -35, -34, 68, 230, 8, 72,
40, -148, 203, 97, 84, 107, 32, 17, -58, -18 },
{ -43, -408, -101, 120, 118, 168, -170, -233, -323, -120, -339,
80, -294, -151, 85, 52, -420, 79, -162, -233, -237, -47,
-131, -53, -199, 14, 85, -80, 93, -150, -15, 318 },
{ -106, 107, -6, 189, 53, -109, 22, -474, -335, -102, -279,
-321, -66, 186, -65, -13, 61, 167, 43, -159, -57, -13,
37, -125, -137, 132, 161, -156, -27, -276, -89, 15 }
};
static int16_t default_ncobmc_krnl_2_0_1[MAX_SB_SIZE][MAX_SB_SIZE] = {
{ 5401, 5987, 4279, 6550, 4858, 4986, 5733, 7172, 8194, 7631, 7549,
6971, 9288, 7485, 8583, 9244, 12058, 11530, 10461, 8453, 8304, 11724,
8999, 9457, 5018, 6922, 8375, 7860, 7915, 6921, 7703, 8963 },
{ 2308, 2670, 5018, 5298, 3883, 6449, 4267, 4119, 9252, 10082, 7844,
7414, 9050, 9261, 8739, 7808, 10974, 10279, 8627, 8840, 9203, 9406,
9360, 10574, 10156, 7673, 6238, 8876, 6800, 6423, 6931, 8589 },
{ 6608, 4325, 3372, 5227, 6182, 3670, 5595, 5758, 8575, 8025, 8251,
10711, 5449, 6965, 5443, 7178, 9099, 8842, 7132, 7830, 5795, 9882,
8939, 8323, 7507, 7248, 8750, 6786, 6940, 4942, 7125, 6399 },
{ 3977, 3060, 4962, 7094, 7211, 6388, 6256, 3960, 7672, 7814, 7711,
7237, 7088, 7232, 5716, 6040, 9565, 6643, 8113, 7841, 9849, 10144,
8297, 7676, 6792, 8447, 7805, 5475, 5499, 4728, 5379, 7645 },
{ 4598, 4391, 3660, 6284, 6694, 8302, 5610, 5341, 7466, 6298, 6406,
7734, 5743, 5155, 5257, 6958, 9035, 11566, 9636, 7825, 8147, 9427,
6612, 5526, 7635, 7259, 7696, 7853, 5505, 6744, 9265, 5394 },
{ 5980, 2356, 2746, 5955, 4045, 4283, 5117, 3799, 5386, 5594, 7671,
6984, 6232, 6028, 3101, 3391, 5757, 9530, 7408, 6206, 5512, 7867,
5144, 8011, 6690, 6994, 4877, 5063, 6175, 5205, 1965, 859 },
{ 2619, 4096, 4225, 4712, 5637, 6418, 6649, 3904, 5463, 5102, 4785,
4100, 5127, 3858, 3419, 5301, 6002, 7649, 8260, 6241, 4168, 4551,
6153, 5016, 7113, 7845, 5201, 5455, 5069, 2335, 3311, 5194 },
{ 1278, 4942, 4441, 3456, 3791, 5620, 5275, 2243, 5080, 4619, 5834,
4859, 4320, 5092, 1481, 846, 4969, 4835, 3646, 5940, 5736, 5862,