kernel_samsung_a53x/drivers/gpu/drm/samsung/panel/dimming_gamma.h

1757 lines
109 KiB
C
Raw Normal View History

2024-06-15 16:02:09 -03:00
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) Samsung Electronics Co., Ltd.
* Gwanghui Lee <gwanghui.lee@samsung.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __DIMMING_GAMMA_H__
#define __DIMMING_GAMMA_H__
#include "dimming.h"
#if DIMMING_BITSHIFT == 22
/*
* index : 0 ~ 255
* ((index/255)^1.6)*4194304
*/
static int gamma_curve_1p60[] = {
0, 592, 1794, 3432, 5439, 7772, 10405, 13315,
16487, 19906, 23561, 27443, 31542, 35851, 40365, 45076,
49979, 55070, 60344, 65796, 71424, 77223, 83190, 89322,
95617, 102070, 108681, 115446, 122363, 129429, 136644, 144004,
151508, 159154, 166941, 174866, 182928, 191125, 199457, 207921,
216517, 225242, 234096, 243078, 252185, 261418, 270775, 280254,
289856, 299578, 309419, 319380, 329459, 339654, 349966, 360393,
370934, 381589, 392356, 403236, 414226, 425327, 436538, 447858,
459286, 470822, 482465, 494214, 506069, 518029, 530094, 542262,
554533, 566907, 579384, 591962, 604641, 617420, 630300, 643278,
656356, 669532, 682807, 696178, 709647, 723212, 736874, 750631,
764483, 778430, 792471, 806607, 820836, 835157, 849572, 864079,
878678, 893368, 908149, 923022, 937984, 953037, 968180, 983411,
998732, 1014141, 1029639, 1045225, 1060898, 1076659, 1092506, 1108440,
1124461, 1140568, 1156760, 1173038, 1189401, 1205849, 1222382, 1238998,
1255699, 1272484, 1289352, 1306303, 1323337, 1340453, 1357652, 1374933,
1392296, 1409740, 1427266, 1444873, 1462561, 1480329, 1498178, 1516106,
1534115, 1552203, 1570371, 1588617, 1606943, 1625347, 1643830, 1662391,
1681031, 1699748, 1718542, 1737414, 1756363, 1775389, 1794492, 1813672,
1832928, 1852260, 1871668, 1891152, 1910711, 1930346, 1950055, 1969840,
1989700, 2009634, 2029643, 2049726, 2069883, 2090114, 2110418, 2130796,
2151248, 2171773, 2192370, 2213041, 2233784, 2254599, 2275487, 2296447,
2317479, 2338583, 2359759, 2381006, 2402324, 2423714, 2445174, 2466706,
2488308, 2509981, 2531724, 2553537, 2575421, 2597374, 2619397, 2641490,
2663653, 2685884, 2708185, 2730555, 2752994, 2775502, 2798079, 2820724,
2843437, 2866219, 2889068, 2911986, 2934971, 2958025, 2981145, 3004334,
3027589, 3050912, 3074302, 3097758, 3121282, 3144872, 3168529, 3192252,
3216041, 3239897, 3263819, 3287806, 3311860, 3335979, 3360163, 3384413,
3408729, 3433109, 3457555, 3482066, 3506642, 3531282, 3555987, 3580756,
3605590, 3630489, 3655451, 3680478, 3705568, 3730723, 3755941, 3781223,
3806568, 3831977, 3857449, 3882984, 3908583, 3934245, 3959969, 3985756,
4011606, 4037519, 4063494, 4089532, 4115631, 4141794, 4168018, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.65)*4194304
*/
static int gamma_curve_1p65[] = {
0, 449, 1408, 2749, 4418, 6385, 8626, 11124,
13867, 16841, 20039, 23451, 27072, 30894, 34912, 39122,
43518, 48096, 52853, 57785, 62888, 68160, 73598, 79199,
84961, 90880, 96956, 103186, 109567, 116098, 122777, 129603,
136573, 143687, 150942, 158336, 165870, 173541, 181347, 189289,
197364, 205571, 213909, 222378, 230975, 239701, 248553, 257531,
266635, 275862, 285213, 294686, 304281, 313996, 323831, 333785,
343858, 354048, 364355, 374778, 385317, 395971, 406738, 417619,
428613, 439719, 450937, 462266, 473705, 485255, 496913, 508680,
520556, 532539, 544629, 556826, 569129, 581538, 594052, 606671,
619394, 632221, 645151, 658184, 671320, 684557, 697897, 711337,
724878, 738520, 752261, 766103, 780043, 794082, 808220, 822456,
836789, 851220, 865748, 880373, 895094, 909911, 924824, 939832,
954935, 970132, 985424, 1000810, 1016290, 1031864, 1047530, 1063289,
1079141, 1095086, 1111122, 1127249, 1143469, 1159779, 1176180, 1192672,
1209254, 1225927, 1242689, 1259540, 1276481, 1293511, 1310630, 1327837,
1345132, 1362516, 1379987, 1397546, 1415193, 1432926, 1450746, 1468653,
1486647, 1504726, 1522892, 1541143, 1559480, 1577902, 1596410, 1615002,
1633679, 1652440, 1671286, 1690216, 1709230, 1728327, 1747508, 1766772,
1786120, 1805550, 1825063, 1844658, 1864336, 1884096, 1903938, 1923862,
1943867, 1963954, 1984122, 2004371, 2024701, 2045112, 2065603, 2086175,
2106827, 2127559, 2148371, 2169263, 2190234, 2211285, 2232415, 2253624,
2274912, 2296278, 2317723, 2339247, 2360849, 2382529, 2404287, 2426124,
2448037, 2470028, 2492097, 2514243, 2536466, 2558766, 2581143, 2603596,
2626126, 2648733, 2671416, 2694174, 2717009, 2739920, 2762906, 2785968,
2809106, 2832319, 2855607, 2878970, 2902407, 2925920, 2949508, 2973170,
2996906, 3020717, 3044601, 3068560, 3092593, 3116700, 3140880, 3165134,
3189461, 3213862, 3238335, 3262882, 3287502, 3312195, 3336960, 3361798,
3386709, 3411692, 3436747, 3461874, 3487074, 3512345, 3537688, 3563103,
3588589, 3614148, 3639777, 3665478, 3691250, 3717093, 3743007, 3768991,
3795047, 3821173, 3847370, 3873637, 3899975, 3926383, 3952861, 3979409,
4006027, 4032715, 4059473, 4086300, 4113197, 4140163, 4167199, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.7)*4194304
*/
static int gamma_curve_1p70[] = {
0, 340, 1105, 2201, 3590, 5246, 7152, 9294,
11663, 14248, 17043, 20041, 23235, 26622, 30197, 33954,
37892, 42005, 46292, 50748, 55372, 60161, 65112, 70223,
75492, 80917, 86496, 92227, 98109, 104140, 110318, 116642,
123111, 129722, 136476, 143370, 150403, 157574, 164882, 172326,
179905, 187618, 195463, 203441, 211549, 219787, 228155, 236651,
245274, 254024, 262900, 271901, 281027, 290276, 299648, 309142,
318758, 328495, 338352, 348329, 358425, 368640, 378972, 389422,
399989, 410671, 421470, 432383, 443411, 454554, 465809, 477178,
488660, 500254, 511959, 523776, 535704, 547742, 559890, 572147,
584514, 596989, 609572, 622264, 635062, 647968, 660981, 674100,
687325, 700656, 714092, 727632, 741278, 755027, 768881, 782838,
796898, 811061, 825327, 839695, 854165, 868736, 883409, 898183,
913058, 928033, 943108, 958284, 973558, 988932, 1004406, 1019978,
1035648, 1051417, 1067284, 1083248, 1099310, 1115469, 1131725, 1148078,
1164527, 1181073, 1197715, 1214452, 1231285, 1248213, 1265236, 1282354,
1299567, 1316874, 1334275, 1351770, 1369359, 1387041, 1404817, 1422686,
1440648, 1458702, 1476849, 1495088, 1513419, 1531842, 1550357, 1568964,
1587661, 1606450, 1625330, 1644300, 1663361, 1682512, 1701754, 1721085,
1740507, 1760018, 1779618, 1799308, 1819087, 1838955, 1858911, 1878956,
1899090, 1919312, 1939622, 1960020, 1980506, 2001079, 2021740, 2042488,
2063324, 2084246, 2105255, 2126351, 2147534, 2168802, 2190157, 2211598,
2233126, 2254738, 2276437, 2298221, 2320090, 2342045, 2364084, 2386209,
2408418, 2430712, 2453091, 2475554, 2498101, 2520732, 2543447, 2566246,
2589129, 2612095, 2635145, 2658278, 2681495, 2704794, 2728176, 2751641,
2775189, 2798820, 2822532, 2846327, 2870205, 2894164, 2918206, 2942329,
2966534, 2990820, 3015188, 3039637, 3064168, 3088780, 3113472, 3138246,
3163100, 3188035, 3213051, 3238147, 3263324, 3288580, 3313917, 3339334,
3364831, 3390407, 3416064, 3441799, 3467615, 3493509, 3519483, 3545537,
3571669, 3597880, 3624170, 3650539, 3676986, 3703512, 3730117, 3756800,
3783561, 3810400, 3837317, 3864313, 3891386, 3918537, 3945766, 3973072,
4000456, 4027917, 4055455, 4083071, 4110764, 4138534, 4166380, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.75)*4194304
*/
static int gamma_curve_1p75[] = {
0, 258, 867, 1763, 2916, 4309, 5929, 7765,
9809, 12054, 14495, 17126, 19943, 22941, 26118, 29470,
32993, 36686, 40545, 44569, 48755, 53100, 57604, 62264,
67079, 72046, 77165, 82433, 87850, 93414, 99124, 104978,
110975, 117115, 123396, 129818, 136378, 143076, 149912, 156884,
163991, 171233, 178608, 186116, 193757, 201529, 209431, 217463,
225625, 233915, 242333, 250878, 259550, 268347, 277271, 286318,
295491, 304786, 314205, 323747, 333411, 343196, 353102, 363129,
373276, 383542, 393928, 404432, 415055, 425795, 436653, 447627,
458719, 469926, 481249, 492688, 504241, 515909, 527692, 539588,
551597, 563720, 575955, 588303, 600763, 613335, 626018, 638812,
651717, 664733, 677858, 691094, 704439, 717893, 731456, 745128,
758908, 772796, 786793, 800896, 815107, 829425, 843849, 858380,
873017, 887761, 902609, 917564, 932623, 947787, 963057, 978430,
993908, 1009490, 1025175, 1040964, 1056857, 1072852, 1088950, 1105151,
1121455, 1137860, 1154368, 1170977, 1187688, 1204501, 1221414, 1238429,
1255544, 1272760, 1290076, 1307493, 1325009, 1342626, 1360342, 1378157,
1396072, 1414085, 1432198, 1450409, 1468719, 1487127, 1505633, 1524238,
1542940, 1561739, 1580637, 1599631, 1618723, 1637912, 1657198, 1676580,
1696059, 1715634, 1735305, 1755072, 1774936, 1794895, 1814949, 1835099,
1855344, 1875685, 1896120, 1916650, 1937275, 1957995, 1978808, 1999716,
2020719, 2041815, 2063005, 2084288, 2105665, 2127136, 2148700, 2170357,
2192107, 2213950, 2235886, 2257914, 2280035, 2302248, 2324553, 2346951,
2369440, 2392022, 2414695, 2437459, 2460316, 2483263, 2506302, 2529432,
2552653, 2575965, 2599367, 2622860, 2646444, 2670118, 2693883, 2717737,
2741682, 2765717, 2789841, 2814055, 2838359, 2862753, 2887236, 2911808,
2936469, 2961219, 2986059, 3010987, 3036004, 3061110, 3086304, 3111587,
3136958, 3162417, 3187964, 3213600, 3239323, 3265134, 3291033, 3317020,
3343094, 3369256, 3395505, 3421841, 3448265, 3474775, 3501372, 3528057,
3554828, 3581686, 3608630, 3635661, 3662778, 3689982, 3717271, 3744647,
3772109, 3799657, 3827291, 3855011, 3882816, 3910707, 3938683, 3966745,
3994892, 4023124, 4051442, 4079844, 4108332, 4136905, 4165562, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.8)*4194304
*/
static int gamma_curve_1p80[] = {
0, 195, 680, 1412, 2369, 3540, 4915, 6487,
8250, 10198, 12328, 14635, 17116, 19769, 22590, 25577,
28728, 32040, 35512, 39142, 42928, 46869, 50962, 55207,
59603, 64147, 68840, 73679, 78663, 83792, 89065, 94480,
100036, 105734, 111571, 117547, 123661, 129912, 136301, 142825,
149484, 156278, 163206, 170267, 177461, 184786, 192244, 199831,
207550, 215397, 223374, 231480, 239714, 248076, 256564, 265180,
273921, 282789, 291782, 300899, 310141, 319508, 328998, 338611,
348347, 358205, 368185, 378288, 388511, 398856, 409321, 419907,
430612, 441437, 452381, 463445, 474627, 485927, 497345, 508881,
520535, 532305, 544192, 556196, 568317, 580553, 592905, 605372,
617954, 630652, 643464, 656390, 669431, 682585, 695853, 709235,
722730, 736337, 750057, 763890, 777835, 791892, 806061, 820341,
834733, 849236, 863850, 878574, 893409, 908354, 923410, 938575,
953850, 969234, 984728, 1000331, 1016043, 1031863, 1047792, 1063830,
1079975, 1096229, 1112590, 1129059, 1145636, 1162320, 1179111, 1196009,
1213013, 1230124, 1247342, 1264666, 1282096, 1299632, 1317274, 1335022,
1352875, 1370833, 1388897, 1407065, 1425339, 1443717, 1462199, 1480787,
1499478, 1518273, 1537173, 1556176, 1575283, 1594494, 1613808, 1633225,
1652746, 1672369, 1692096, 1711925, 1731856, 1751890, 1772027, 1792266,
1812607, 1833049, 1853594, 1874240, 1894988, 1915838, 1936788, 1957840,
1978993, 2000247, 2021602, 2043057, 2064614, 2086270, 2108027, 2129885,
2151842, 2173899, 2196057, 2218314, 2240671, 2263127, 2285683, 2308339,
2331093, 2353947, 2376900, 2399952, 2423102, 2446351, 2469699, 2493146,
2516690, 2540334, 2564075, 2587914, 2611852, 2635887, 2660020, 2684251,
2708579, 2733005, 2757529, 2782149, 2806867, 2831682, 2856594, 2881603,
2906709, 2931912, 2957211, 2982607, 3008099, 3033688, 3059373, 3085154,
3111031, 3137004, 3163073, 3189238, 3215499, 3241856, 3268308, 3294855,
3321498, 3348236, 3375070, 3401999, 3429022, 3456141, 3483355, 3510663,
3538066, 3565564, 3593156, 3620843, 3648625, 3676500, 3704470, 3732534,
3760692, 3788945, 3817291, 3845731, 3874265, 3902892, 3931613, 3960428,
3989336, 4018337, 4047432, 4076620, 4105902, 4135276, 4164744, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.85)*4194304
*/
static int gamma_curve_1p85[] = {
0, 148, 534, 1130, 1925, 2908, 4075, 5420,
6939, 8628, 10485, 12507, 14691, 17036, 19539, 22199,
25014, 27983, 31104, 34376, 37798, 41368, 45086, 48950,
52960, 57115, 61413, 65854, 70437, 75162, 80027, 85031,
90175, 95458, 100878, 106435, 112130, 117960, 123925, 130026,
136261, 142630, 149132, 155768, 162535, 169435, 176467, 183629,
190922, 198346, 205899, 213582, 221394, 229335, 237405, 245602,
253927, 262379, 270958, 279664, 288496, 297455, 306539, 315748,
325082, 334542, 344125, 353834, 363665, 373621, 383700, 393902,
404227, 414675, 425245, 435937, 446751, 457687, 468744, 479922,
491221, 502641, 514181, 525842, 537622, 549523, 561543, 573682,
585940, 598318, 610814, 623429, 636162, 649014, 661983, 675071,
688276, 701598, 715037, 728594, 742268, 756058, 769965, 783988,
798127, 812383, 826754, 841241, 855844, 870562, 885395, 900343,
915406, 930584, 945877, 961284, 976805, 992440, 1008190, 1024053,
1040030, 1056121, 1072325, 1088642, 1105072, 1121616, 1138272, 1155041,
1171923, 1188917, 1206024, 1223242, 1240573, 1258016, 1275570, 1293237,
1311015, 1328904, 1346905, 1365017, 1383240, 1401574, 1420019, 1438574,
1457240, 1476017, 1494904, 1513902, 1533009, 1552227, 1571554, 1590992,
1610539, 1630196, 1649962, 1669838, 1689822, 1709917, 1730120, 1750432,
1770853, 1791383, 1812022, 1832769, 1853624, 1874588, 1895660, 1916841,
1938129, 1959526, 1981030, 2002642, 2024362, 2046190, 2068125, 2090167,
2112317, 2134574, 2156938, 2179409, 2201987, 2224672, 2247463, 2270362,
2293367, 2316478, 2339696, 2363021, 2386451, 2409988, 2433631, 2457380,
2481235, 2505195, 2529262, 2553434, 2577711, 2602095, 2626583, 2651177,
2675876, 2700681, 2725590, 2750605, 2775725, 2800949, 2826278, 2851712,
2877251, 2902894, 2928642, 2954494, 2980451, 3006511, 3032676, 3058945,
3085319, 3111796, 3138377, 3165062, 3191850, 3218743, 3245739, 3272838,
3300042, 3327348, 3354758, 3382271, 3409887, 3437607, 3465429, 3493355,
3521384, 3549515, 3577749, 3606086, 3634526, 3663068, 3691713, 3720460,
3749310, 3778262, 3807317, 3836473, 3865732, 3895093, 3924556, 3954121,
3983788, 4013556, 4043427, 4073399, 4103473, 4133648, 4163925, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.9)*4194304
*/
static int gamma_curve_1p90[] = {
0, 112, 419, 905, 1564, 2389, 3378, 4528,
5836, 7300, 8917, 10688, 12609, 14680, 16900, 19267,
21780, 24439, 27243, 30190, 33281, 36513, 39887, 43403,
47058, 50853, 54788, 58861, 63072, 67420, 71906, 76528,
81287, 86181, 91210, 96375, 101674, 107107, 112674, 118374,
124207, 130174, 136272, 142503, 148865, 155359, 161984, 168741,
175627, 182644, 189791, 197068, 204475, 212011, 219676, 227469,
235392, 243442, 251621, 259928, 268362, 276924, 285613, 294429,
303372, 312442, 321638, 330960, 340409, 349983, 359683, 369508,
379459, 389535, 399737, 410062, 420513, 431088, 441787, 452611,
463558, 474630, 485825, 497144, 508586, 520151, 531840, 543651,
555585, 567642, 579822, 592123, 604548, 617094, 629762, 642552,
655464, 668498, 681653, 694929, 708327, 721845, 735485, 749246,
763127, 777129, 791252, 805495, 819858, 834342, 848945, 863669,
878512, 893475, 908558, 923761, 939082, 954524, 970084, 985764,
1001562, 1017480, 1033516, 1049671, 1065945, 1082337, 1098848, 1115477,
1132224, 1149090, 1166074, 1183175, 1200395, 1217732, 1235187, 1252760,
1270450, 1288257, 1306182, 1324225, 1342384, 1360661, 1379054, 1397565,
1416193, 1434937, 1453798, 1472775, 1491869, 1511080, 1530407, 1549850,
1569410, 1589086, 1608877, 1628785, 1648809, 1668948, 1689204, 1709575,
1730061, 1750664, 1771381, 1792215, 1813163, 1834227, 1855406, 1876700,
1898109, 1919633, 1941273, 1963027, 1984895, 2006879, 2028977, 2051190,
2073517, 2095959, 2118515, 2141186, 2163970, 2186869, 2209883, 2233010,
2256251, 2279606, 2303075, 2326658, 2350355, 2374165, 2398090, 2422127,
2446278, 2470543, 2494921, 2519413, 2544018, 2568736, 2593567, 2618511,
2643568, 2668739, 2694022, 2719418, 2744928, 2770549, 2796284, 2822131,
2848091, 2874164, 2900349, 2926646, 2953056, 2979578, 3006213, 3032960,
3059819, 3086790, 3113873, 3141068, 3168376, 3195795, 3223326, 3250969,
3278724, 3306590, 3334568, 3362658, 3390859, 3419172, 3447597, 3476133,
3504780, 3533538, 3562408, 3591389, 3620482, 3649685, 3679000, 3708426,
3737962, 3767610, 3797369, 3827238, 3857218, 3887310, 3917511, 3947824,
3978247, 4008781, 4039425, 4070180, 4101046, 4132021, 4163107, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^1.95)*4194304
*/
static int gamma_curve_1p95[] = {
0, 85, 329, 725, 1270, 1963, 2801, 3783,
4908, 6176, 7584, 9133, 10822, 12650, 14617, 16722,
18964, 21344, 23861, 26514, 29303, 32228, 35288, 38484,
41814, 45278, 48877, 52610, 56476, 60476, 64609, 68875,
73274, 77805, 82469, 87265, 92193, 97252, 102444, 107766,
113220, 118805, 124521, 130368, 136345, 142453, 148691, 155059,
161557, 168186, 174944, 181831, 188848, 195995, 203271, 210675,
218209, 225872, 233664, 241584, 249633, 257810, 266116, 274549,
283111, 291802, 300620, 309565, 318639, 327840, 337169, 346625,
356209, 365920, 375758, 385723, 395816, 406035, 416381, 426854,
437454, 448180, 459033, 470012, 481118, 492349, 503708, 515192,
526802, 538539, 550401, 562390, 574504, 586744, 599109, 611600,
624217, 636959, 649826, 662819, 675938, 689181, 702549, 716043,
729662, 743405, 757274, 771267, 785385, 799628, 813996, 828488,
843105, 857846, 872712, 887702, 902817, 918056, 933419, 948906,
964517, 980253, 996112, 1012096, 1028203, 1044434, 1060789, 1077268,
1093871, 1110597, 1127447, 1144420, 1161517, 1178738, 1196082, 1213549,
1231140, 1248854, 1266691, 1284652, 1302735, 1320942, 1339272, 1357725,
1376301, 1395000, 1413822, 1432766, 1451834, 1471024, 1490337, 1509773,
1529331, 1549012, 1568816, 1588742, 1608791, 1628962, 1649255, 1669671,
1690209, 1710870, 1731653, 1752558, 1773585, 1794735, 1816006, 1837400,
1858916, 1880553, 1902313, 1924194, 1946198, 1968323, 1990571, 2012940,
2035430, 2058043, 2080777, 2103633, 2126610, 2149709, 2172930, 2196272,
2219736, 2243321, 2267028, 2290855, 2314805, 2338875, 2363067, 2387380,
2411815, 2436370, 2461047, 2485845, 2510764, 2535804, 2560965, 2586247,
2611650, 2637174, 2662819, 2688585, 2714472, 2740480, 2766608, 2792857,
2819227, 2845718, 2872329, 2899061, 2925913, 2952887, 2979980, 3007195,
3034530, 3061985, 3089561, 3117257, 3145073, 3173010, 3201068, 3229245,
3257543, 3285961, 3314500, 3343159, 3371937, 3400836, 3429856, 3458995,
3488254, 3517634, 3547133, 3576752, 3606492, 3636351, 3666331, 3696430,
3726649, 3756988, 3787447, 3818025, 3848724, 3879542, 3910479, 3941537,
3972714, 4004011, 4035428, 4066964, 4098620, 4130395, 4162290, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.0)*4194304
*/
static int gamma_curve_2p00[] = {
0, 65, 258, 581, 1032, 1613, 2322, 3161,
4128, 5225, 6450, 7805, 9288, 10901, 12643, 14513,
16513, 18641, 20899, 23286, 25801, 28446, 31219, 34122,
37154, 40314, 43604, 47023, 50570, 54247, 58053, 61987,
66051, 70244, 74565, 79016, 83596, 88305, 93142, 98109,
103205, 108429, 113783, 119266, 124878, 130618, 136488, 142487,
148615, 154872, 161257, 167772, 174416, 181189, 188091, 195121,
202281, 209570, 216988, 224535, 232211, 240015, 247949, 256012,
264204, 272525, 280975, 289554, 298262, 307099, 316064, 325159,
334383, 343736, 353218, 362829, 372569, 382438, 392436, 402563,
412819, 423204, 433718, 444361, 455133, 466034, 477064, 488223,
499511, 510928, 522474, 534149, 545953, 557886, 569948, 582139,
594459, 606908, 619486, 632193, 645029, 657995, 671089, 684312,
697664, 711145, 724755, 738494, 752362, 766359, 780486, 794741,
809125, 823638, 838280, 853051, 867952, 882981, 898139, 913426,
928842, 944388, 960062, 975865, 991797, 1007859, 1024049, 1040368,
1056816, 1073394, 1090100, 1106935, 1123899, 1140993, 1158215, 1175566,
1193046, 1210656, 1228394, 1246261, 1264258, 1282383, 1300637, 1319021,
1337533, 1356174, 1374945, 1393844, 1412873, 1432030, 1451316, 1470732,
1490276, 1509949, 1529752, 1549683, 1569744, 1589933, 1610252, 1630699,
1651275, 1671981, 1692815, 1713779, 1734871, 1756093, 1777443, 1798923,
1820531, 1842269, 1864135, 1886131, 1908255, 1930509, 1952891, 1975403,
1998043, 2020813, 2043711, 2066739, 2089895, 2113181, 2136596, 2160139,
2183812, 2207613, 2231544, 2255603, 2279792, 2304110, 2328556, 2353132,
2377837, 2402670, 2427633, 2452724, 2477945, 2503295, 2528773, 2554381,
2580118, 2605983, 2631978, 2658102, 2684355, 2710736, 2737247, 2763887,
2790655, 2817553, 2844580, 2871736, 2899020, 2926434, 2953977, 2981649,
3009449, 3037379, 3065438, 3093626, 3121943, 3150388, 3178963, 3207667,
3236500, 3265462, 3294552, 3323772, 3353121, 3382599, 3412206, 3441942,
3471807, 3501800, 3531923, 3562175, 3592556, 3623066, 3653705, 3684473,
3715370, 3746396, 3777550, 3808834, 3840247, 3871789, 3903460, 3935260,
3967189, 3999247, 4031434, 4063750, 4096195, 4128769, 4161472, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.05)*4194304
*/
static int gamma_curve_2p05[] = {
0, 49, 202, 465, 838, 1325, 1925, 2641,
3472, 4420, 5486, 6670, 7972, 9394, 10935, 12596,
14378, 16281, 18305, 20450, 22718, 25107, 27620, 30255,
33013, 35895, 38900, 42029, 45282, 48660, 52162, 55788,
59540, 63417, 67419, 71547, 75801, 80180, 84685, 89317,
94075, 98960, 103971, 109110, 114375, 119767, 125287, 130934,
136709, 142611, 148642, 154800, 161087, 167501, 174044, 180716,
187516, 194445, 201502, 208689, 216004, 223449, 231023, 238727,
246559, 254522, 262614, 270836, 279187, 287669, 296281, 305023,
313895, 322897, 332030, 341294, 350688, 360212, 369868, 379654,
389571, 399620, 409799, 420110, 430551, 441125, 451829, 462665,
473633, 484732, 495963, 507326, 518821, 530448, 542206, 554097,
566120, 578275, 590563, 602982, 615535, 628219, 641037, 653987,
667069, 680285, 693633, 707114, 720728, 734475, 748355, 762368,
776514, 790794, 805207, 819753, 834433, 849246, 864193, 879273,
894487, 909835, 925316, 940932, 956681, 972564, 988581, 1004732,
1021017, 1037436, 1053990, 1070678, 1087500, 1104456, 1121547, 1138772,
1156132, 1173626, 1191255, 1209018, 1226917, 1244949, 1263117, 1281420,
1299857, 1318430, 1337137, 1355979, 1374957, 1394069, 1413317, 1432700,
1452218, 1471872, 1491661, 1511585, 1531644, 1551840, 1572170, 1592636,
1613238, 1633976, 1654849, 1675858, 1697002, 1718283, 1739699, 1761251,
1782939, 1804763, 1826724, 1848820, 1871052, 1893420, 1915925, 1938566,
1961343, 1984256, 2007306, 2030492, 2053814, 2077273, 2100869, 2124600,
2148469, 2172474, 2196616, 2220894, 2245309, 2269861, 2294549, 2319375,
2344337, 2369436, 2394672, 2420045, 2445555, 2471202, 2496986, 2522908,
2548966, 2575161, 2601494, 2627964, 2654571, 2681316, 2708198, 2735217,
2762373, 2789667, 2817099, 2844668, 2872374, 2900219, 2928200, 2956320,
2984577, 3012971, 3041504, 3070174, 3098982, 3127928, 3157011, 3186233,
3215592, 3245090, 3274725, 3304498, 3334410, 3364459, 3394647, 3424973,
3455436, 3486038, 3516779, 3547657, 3578674, 3609829, 3641123, 3672554,
3704125, 3735833, 3767680, 3799666, 3831790, 3864052, 3896454, 3928993,
3961672, 3994489, 4027444, 4060539, 4093772, 4127144, 4160655, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.1)*4194304
*/
static int gamma_curve_2p10[] = {
0, 37, 159, 372, 681, 1088, 1596, 2206,
2920, 3740, 4666, 5700, 6842, 8095, 9458, 10932,
12519, 14219, 16032, 17960, 20003, 22161, 24435, 26826,
29334, 31959, 34703, 37566, 40547, 43648, 46868, 50209,
53671, 57254, 60958, 64784, 68732, 72803, 76997, 81313,
85753, 90317, 95006, 99818, 104755, 109818, 115005, 120318,
125757, 131322, 137013, 142831, 148776, 154848, 161047, 167374,
173828, 180411, 187122, 193961, 200929, 208026, 215252, 222608,
230093, 237708, 245453, 253328, 261333, 269469, 277736, 286133,
294662, 303322, 312113, 321036, 330091, 339278, 348597, 358049,
367633, 377350, 387199, 397182, 407298, 417547, 427930, 438446,
449096, 459880, 470798, 481851, 493038, 504359, 515815, 527406,
539132, 550993, 562989, 575121, 587389, 599792, 612330, 625005,
637816, 650763, 663847, 677067, 690423, 703917, 717547, 731314,
745218, 759260, 773438, 787755, 802209, 816800, 831530, 846397,
861403, 876546, 891828, 907249, 922807, 938505, 954341, 970316,
986430, 1002684, 1019076, 1035608, 1052279, 1069089, 1086039, 1103129,
1120359, 1137729, 1155238, 1172888, 1190678, 1208609, 1226679, 1244891,
1263243, 1281735, 1300369, 1319143, 1338059, 1357115, 1376313, 1395652,
1415132, 1434754, 1454518, 1474423, 1494470, 1514659, 1534989, 1555462,
1576077, 1596834, 1617734, 1638776, 1659960, 1681287, 1702756, 1724369,
1746124, 1768022, 1790063, 1812247, 1834574, 1857045, 1879658, 1902416,
1925316, 1948361, 1971549, 1994881, 2018356, 2041976, 2065739, 2089646,
2113698, 2137894, 2162234, 2186719, 2211348, 2236121, 2261039, 2286102,
2311310, 2336662, 2362159, 2387801, 2413589, 2439521, 2465599, 2491822,
2518190, 2544704, 2571363, 2598168, 2625118, 2652214, 2679456, 2706844,
2734378, 2762058, 2789883, 2817855, 2845973, 2874238, 2902649, 2931206,
2959909, 2988759, 3017756, 3046900, 3076190, 3105627, 3135211, 3164942,
3194820, 3224845, 3255017, 3285336, 3315803, 3346417, 3377178, 3408087,
3439143, 3470347, 3501699, 3533198, 3564846, 3596641, 3628584, 3660675,
3692913, 3725301, 3757836, 3790519, 3823351, 3856331, 3889459, 3922736,
3956162, 3989736, 4023459, 4057330, 4091350, 4125519, 4159837, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.12)*4194304
*/
static int gamma_curve_2p12[] = {
0, 33, 144, 341, 627, 1006, 1481, 2053,
2725, 3498, 4373, 5352, 6437, 7627, 8925, 10330,
11845, 13469, 15205, 17051, 19010, 21081, 23266, 25566,
27980, 30509, 33154, 35916, 38794, 41791, 44905, 48137,
51489, 54960, 58550, 62261, 66093, 70046, 74120, 78316,
82635, 87076, 91640, 96327, 101138, 106073, 111133, 116317,
121626, 127060, 132621, 138307, 144119, 150058, 156124, 162317,
168637, 175085, 181661, 188365, 195198, 202159, 209250, 216469,
223819, 231298, 238906, 246646, 254515, 262515, 270647, 278909,
287303, 295828, 304485, 313274, 322196, 331249, 340436, 349755,
359208, 368793, 378512, 388365, 398352, 408473, 418727, 429117,
439641, 450300, 461093, 472022, 483087, 494286, 505622, 517093,
528701, 540444, 552324, 564341, 576494, 588784, 601211, 613776,
626477, 639317, 652294, 665408, 678661, 692052, 705582, 719249,
733056, 747001, 761085, 775308, 789670, 804172, 818813, 833593,
848514, 863574, 878775, 894115, 909596, 925218, 940980, 956882,
972926, 989111, 1005436, 1021903, 1038512, 1055262, 1072153, 1089187,
1106362, 1123679, 1141139, 1158740, 1176484, 1194371, 1212400, 1230572,
1248887, 1267345, 1285946, 1304690, 1323578, 1342609, 1361784, 1381102,
1400565, 1420171, 1439921, 1459815, 1479854, 1500037, 1520365, 1540837,
1561454, 1582215, 1603122, 1624174, 1645370, 1666712, 1688200, 1709833,
1731611, 1753535, 1775605, 1797821, 1820183, 1842691, 1865345, 1888145,
1911092, 1934185, 1957425, 1980811, 2004345, 2028025, 2051852, 2075826,
2099948, 2124217, 2148633, 2173196, 2197907, 2222766, 2247773, 2272927,
2298229, 2323679, 2349278, 2375025, 2400919, 2426963, 2453155, 2479495,
2505984, 2532622, 2559409, 2586344, 2613429, 2640663, 2668045, 2695578,
2723259, 2751090, 2779071, 2807201, 2835481, 2863911, 2892490, 2921220,
2950100, 2979129, 3008309, 3037640, 3067120, 3096751, 3126533, 3156465,
3186548, 3216782, 3247167, 3277703, 3308389, 3339227, 3370216, 3401356,
3432648, 3464091, 3495685, 3527432, 3559329, 3591379, 3623580, 3655933,
3688439, 3721096, 3753905, 3786867, 3819981, 3853247, 3886665, 3920236,
3953960, 3987836, 4021865, 4056047, 4090382, 4124870, 4159510, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.13)*4194304
*/
static int gamma_curve_2p13[] = {
0, 31, 137, 326, 601, 967, 1426, 1981,
2632, 3383, 4234, 5187, 6243, 7403, 8669, 10042,
11521, 13109, 14807, 16614, 18532, 20562, 22703, 24958,
27326, 29809, 32406, 35118, 37947, 40892, 43954, 47134,
50431, 53847, 57382, 61037, 64812, 68707, 72722, 76859,
81118, 85499, 90002, 94627, 99376, 104249, 109245, 114366,
119612, 124982, 130477, 136099, 141846, 147719, 153719, 159846,
166100, 172482, 178991, 185628, 192394, 199288, 206312, 213464,
220746, 228158, 235699, 243371, 251173, 259106, 267170, 275366,
283692, 292151, 300741, 309464, 318319, 327306, 336427, 345681,
355068, 364588, 374242, 384030, 393953, 404010, 414201, 424527,
434988, 445584, 456316, 467183, 478187, 489326, 500601, 512013,
523561, 535246, 547067, 559026, 571123, 583356, 595728, 608237,
620884, 633669, 646593, 659655, 672856, 686195, 699674, 713292,
727049, 740946, 754982, 769158, 783474, 797931, 812527, 827264,
842142, 857161, 872320, 887620, 903062, 918645, 934369, 950235,
966243, 982393, 998685, 1015120, 1031696, 1048415, 1065277, 1082282,
1099429, 1116720, 1134153, 1151730, 1169451, 1187315, 1205323, 1223475,
1241771, 1260211, 1278795, 1297524, 1316397, 1335414, 1354577, 1373884,
1393337, 1412935, 1432678, 1452566, 1472600, 1492779, 1513104, 1533576,
1554193, 1574956, 1595866, 1616921, 1638124, 1659473, 1680968, 1702611,
1724400, 1746337, 1768420, 1790651, 1813030, 1835555, 1858229, 1881050,
1904019, 1927136, 1950401, 1973814, 1997376, 2021085, 2044944, 2068951,
2093106, 2117411, 2141864, 2166466, 2191218, 2216118, 2241168, 2266368,
2291717, 2317215, 2342864, 2368662, 2394610, 2420708, 2446956, 2473355,
2499903, 2526603, 2553452, 2580453, 2607604, 2634906, 2662358, 2689962,
2717717, 2745623, 2773680, 2801889, 2830249, 2858761, 2887425, 2916240,
2945207, 2974326, 3003597, 3033020, 3062595, 3092323, 3122203, 3152236,
3182421, 3212759, 3243249, 3273892, 3304689, 3335638, 3366740, 3397996,
3429405, 3460967, 3492682, 3524552, 3556574, 3588751, 3621081, 3653565,
3686203, 3718995, 3751941, 3785042, 3818297, 3851706, 3885269, 3918987,
3952860, 3986887, 4021069, 4055406, 4089898, 4124545, 4159347, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.15)*4194304
*/
static int gamma_curve_2p15[] = {
0, 28, 125, 298, 553, 894, 1323, 1843,
2456, 3164, 3968, 4871, 5873, 6976, 8180, 9488,
10901, 12418, 14042, 15773, 17612, 19560, 21618, 23786,
26065, 28456, 30959, 33576, 36307, 39152, 42112, 45188,
48381, 51690, 55116, 58660, 62323, 66105, 70006, 74027,
78168, 82430, 86813, 91318, 95945, 100694, 105567, 110563,
115682, 120926, 126294, 131788, 137406, 143150, 149020, 155017,
161140, 167390, 173768, 180273, 186906, 193668, 200558, 207578,
214726, 222005, 229413, 236951, 244620, 252420, 260351, 268413,
276607, 284933, 293391, 301981, 310705, 319561, 328550, 337673,
346930, 356321, 365846, 375506, 385300, 395229, 405294, 415494,
425830, 436302, 446910, 457654, 468535, 479553, 490708, 502001,
513431, 524998, 536704, 548547, 560530, 572650, 584910, 597308,
609846, 622523, 635340, 648296, 661393, 674630, 688007, 701525,
715183, 728983, 742923, 757005, 771229, 785594, 800101, 814750,
829542, 844476, 859552, 874771, 890133, 905639, 921288, 937080,
953015, 969095, 985319, 1001686, 1018199, 1034855, 1051656, 1068602,
1085693, 1102929, 1120311, 1137838, 1155510, 1173328, 1191293, 1209403,
1227659, 1246062, 1264612, 1283308, 1302151, 1321140, 1340277, 1359562,
1378994, 1398573, 1418300, 1438175, 1458198, 1478369, 1498688, 1519156,
1539772, 1560537, 1581451, 1602514, 1623726, 1645087, 1666598, 1688258,
1710068, 1732028, 1754138, 1776398, 1798807, 1821368, 1844078, 1866940,
1889952, 1913115, 1936429, 1959894, 1983510, 2007278, 2031197, 2055268,
2079490, 2103864, 2128391, 2153069, 2177900, 2202883, 2228018, 2253306,
2278747, 2304341, 2330088, 2355987, 2382040, 2408246, 2434606, 2461119,
2487786, 2514607, 2541581, 2568710, 2595992, 2623429, 2651020, 2678766,
2706666, 2734721, 2762931, 2791295, 2819815, 2848490, 2877320, 2906305,
2935446, 2964742, 2994194, 3023802, 3053566, 3083485, 3113561, 3143793,
3174181, 3204726, 3235427, 3266285, 3297300, 3328471, 3359800, 3391285,
3422927, 3454727, 3486684, 3518799, 3551071, 3583500, 3616088, 3648833,
3681736, 3714798, 3748017, 3781395, 3814931, 3848625, 3882478, 3916489,
3950660, 3984989, 4019477, 4054124, 4088930, 4123895, 4159020, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.2)*4194304
*/
static int gamma_curve_2p20[] = {
0, 21, 98, 239, 450, 735, 1097, 1540,
2066, 2677, 3375, 4162, 5040, 6011, 7075, 8235,
9492, 10846, 12299, 13853, 15507, 17264, 19125, 21090,
23160, 25336, 27619, 30010, 32510, 35119, 37839, 40669,
43612, 46666, 49834, 53115, 56512, 60023, 63650, 67393,
71253, 75231, 79327, 83541, 87875, 92329, 96903, 101598,
106415, 111353, 116414, 121598, 126905, 132336, 137892, 143572,
149377, 155309, 161366, 167551, 173862, 180301, 186867, 193562,
200386, 207339, 214421, 221634, 228977, 236450, 244055, 251791,
259659, 267659, 275792, 284058, 292457, 300989, 309656, 318457,
327393, 336464, 345670, 355012, 364490, 374105, 383856, 393744,
403769, 413932, 424234, 434673, 445251, 455968, 466824, 477819,
488954, 500230, 511645, 523201, 534899, 546737, 558717, 570839,
583102, 595509, 608057, 620749, 633583, 646561, 659683, 672949,
686359, 699913, 713612, 727456, 741445, 755580, 769860, 784287,
798859, 813578, 828444, 843457, 858616, 873924, 889379, 904981,
920732, 936632, 952680, 968876, 985222, 1001717, 1018362, 1035156,
1052100, 1069195, 1086439, 1103835, 1121381, 1139078, 1156927, 1174927,
1193078, 1211382, 1229838, 1248446, 1267206, 1286119, 1305186, 1324405,
1343778, 1363304, 1382984, 1402818, 1422806, 1442948, 1463245, 1483697,
1504304, 1525065, 1545982, 1567055, 1588283, 1609668, 1631208, 1652904,
1674757, 1696767, 1718934, 1741257, 1763738, 1786376, 1809172, 1832125,
1855237, 1878506, 1901934, 1925521, 1949266, 1973169, 1997232, 2021454,
2045836, 2070376, 2095077, 2119937, 2144958, 2170139, 2195480, 2220981,
2246644, 2272467, 2298451, 2324597, 2350904, 2377372, 2404003, 2430795,
2457749, 2484865, 2512144, 2539585, 2567189, 2594956, 2622886, 2650979,
2679235, 2707655, 2736239, 2764986, 2793897, 2822972, 2852212, 2881616,
2911185, 2940918, 2970816, 3000880, 3031108, 3061502, 3092061, 3122786,
3153677, 3184733, 3215956, 3247345, 3278900, 3310622, 3342510, 3374566,
3406788, 3439177, 3471734, 3504458, 3537349, 3570408, 3603635, 3637030,
3670593, 3704324, 3738224, 3772292, 3806529, 3840934, 3875509, 3910253,
3945165, 3980247, 4015499, 4050920, 4086511, 4122272, 4158203, 4194304,
};
/*
* index : 0 ~ 255
* ((index/255)^2.25)*4194304
*/
static int gamma_curve_2p25[] = {
0, 16, 77, 191, 365, 603, 909, 1287,
1737, 2265, 2870, 3557, 4326, 5180, 6120, 7147,
8264, 9472, 10772, 12166, 13654, 15238, 16920, 18700,
20579, 22558, 24640, 26823, 29111, 31502, 33999, 36602,
39313, 42131, 45058, 48095, 51242, 54500, 57871, 61354,
64950, 68661, 72486, 76427, 80485, 84659, 88951, 93361,
97890, 102538, 107307, 112196, 117207, 122339, 127594, 132972,
138474, 144100, 149850, 155726, 161728, 167856, 174111, 180493,
187003, 193642, 200410, 207306, 214333, 221490, 228778, 236198,
243749, 251432, 259248, 267197, 275280, 283497, 291848, 300335,
308956, 317714, 326607, 335637, 344804, 354109, 363552, 373132,
382852, 392710, 402708, 412846, 423123, 433542, 444101, 454802,
465645, 476629, 487757, 499027, 510440, 521996, 533697, 545542,
557532, 569666, 581946, 594372, 606943, 619661, 632526, 645537,
658696, 672003, 685457, 699060, 712812, 726713, 740763, 754962,
769312, 783811, 798462, 813263, 828215, 843319, 858575, 873983,
889543, 905256, 921122, 937141, 953314, 969640, 986121, 1002756,
1019547, 1036492, 1053592, 1070848, 1088260, 1105828, 1123552, 1141433,
1159472, 1177667, 1196020, 1214531, 1233200, 1252027, 1271013, 1290157,
1309461, 1328924, 1348547, 1368330, 1388273, 1408376, 1428640, 1449066,
1469652, 1490400, 1511309, 1532380, 1553614, 1575010, 1596569, 1618291,
1640176, 1662224, 1684436, 1706812, 1729352, 1752057, 1774926, 1797960,
1821160, 1844524, 1868054, 1891750, 1915612, 1939641, 1963836, 1988197,
2012726, 2037422, 2062285, 2087316, 2112514, 2137881, 2163416, 2189120,
2214993, 2241034, 2267245, 2293625, 2320175, 2346894, 2373784, 2400844,
2428074, 2455476, 2483048, 2510791, 2538706, 2566792, 2595050, 2623480,
2652082, 2680857, 2709804, 2738924, 2768217, 2797684, 2827323, 2857137,
2887124, 2917285, 2947621, 2978131, 3008815, 3039675, 3070709, 3101919,
3133304, 3164865, 3196601, 3228514, 3260603, 3292868, 3325310, 3357929,
3390724, 3423697, 3456847, 3490175, 3523680, 3557364, 3591225, 3625265,
3659483, 3693881, 3728456, 3763211, 3798146, 3833259, 3868552, 3904025,
3939678, 3975512, 4011525, 4047719, 4084094, 4120649, 4157386, 4194304,
};
#endif /* DIMMING_BITSHIFT == 22 */
#if DIMMING_BITSHIFT == 24
static int gamma_curve_1p60[] = {
0, 2367, 7176, 13729, 21755, 31089, 41620, 53261,
65948, 79624, 94244, 109770, 126167, 143405, 161458, 180302,
199916, 220279, 241375, 263185, 285696, 308892, 332761, 357289,
382467, 408281, 434723, 461783, 489450, 517717, 546575, 576016,
606032, 636617, 667762, 699463, 731711, 764502, 797828, 831685,
866067, 900969, 936385, 972311, 1008742, 1045672, 1083099, 1121017,
1159422, 1198310, 1237678, 1277521, 1317835, 1358617, 1399863, 1441571,
1483735, 1526354, 1569424, 1612942, 1656905, 1701310, 1746153, 1791433,
1837146, 1883289, 1929860, 1976857, 2024277, 2072116, 2120374, 2169047,
2218133, 2267630, 2317535, 2367847, 2418563, 2469680, 2521198, 2573114,
2625425, 2678130, 2731227, 2784714, 2838589, 2892850, 2947495, 3002523,
3057932, 3113720, 3169886, 3226427, 3283342, 3340630, 3398288, 3456315,
3514711, 3573472, 3632598, 3692087, 3751938, 3812148, 3872718, 3933645,
3994928, 4056565, 4118556, 4180899, 4243592, 4306634, 4370025, 4433762,
4497845, 4562271, 4627041, 4692153, 4757605, 4823397, 4889527, 4955994,
5022797, 5089935, 5157406, 5225210, 5293346, 5361813, 5430608, 5499732,
5569184, 5638962, 5709065, 5779492, 5850243, 5921316, 5992710, 6064425,
6136459, 6208812, 6281482, 6354469, 6427772, 6501390, 6575321, 6649565,
6724122, 6798990, 6874169, 6949657, 7025453, 7101558, 7177970, 7254688,
7331711, 7409039, 7486671, 7564606, 7642843, 7721382, 7800222, 7879361,
7958800, 8038537, 8118572, 8198903, 8279532, 8360455, 8441673, 8523186,
8604992, 8687090, 8769481, 8852163, 8935135, 9018397, 9101949, 9185789,
9269918, 9354333, 9439035, 9524023, 9609297, 9694855, 9780698, 9866823,
9953232, 10039923, 10126895, 10214149, 10301683, 10389496, 10477589, 10565961,
10654610, 10743537, 10832741, 10922222, 11011978, 11102009, 11192315, 11282895,
11373748, 11464874, 11556273, 11647944, 11739886, 11832099, 11924582, 12017335,
12110357, 12203648, 12297207, 12391034, 12485128, 12579488, 12674115, 12769008,
12864165, 12959588, 13055274, 13151224, 13247438, 13343914, 13440653, 13537653,
13634915, 13732438, 13830221, 13928264, 14026566, 14125128, 14223948, 14323026,
14422362, 14521955, 14621805, 14721911, 14822273, 14922891, 15023764, 15124891,
15226272, 15327908, 15429796, 15531938, 15634332, 15736978, 15839876, 15943025,
16046425, 16150076, 16253976, 16358126, 16462526, 16567174, 16672071, 16777216,
};
static int gamma_curve_1p65[] = {
0, 1794, 5632, 10995, 17674, 25540, 34505, 44498,
55466, 67364, 80155, 93805, 108287, 123576, 139650, 156487,
174071, 192384, 211411, 231138, 251552, 272641, 294392, 316796,
339842, 363521, 387824, 412742, 438268, 464393, 491110, 518412,
546294, 574747, 603766, 633346, 663480, 694163, 725390, 757156,
789455, 822284, 855638, 889511, 923901, 958803, 994212, 1030125,
1066539, 1103449, 1140851, 1178744, 1217122, 1255983, 1295324, 1335141,
1375431, 1416192, 1457420, 1499113, 1541268, 1583882, 1626953, 1670477,
1714453, 1758878, 1803749, 1849064, 1894822, 1941018, 1987652, 2034721,
2082223, 2130156, 2178517, 2227305, 2276518, 2326153, 2376209, 2426684,
2477577, 2528884, 2580605, 2632737, 2685279, 2738229, 2791586, 2845348,
2899513, 2954079, 3009045, 3064410, 3120172, 3176329, 3232880, 3289823,
3347157, 3404881, 3462993, 3521492, 3580376, 3639644, 3699294, 3759326,
3819738, 3880529, 3941697, 4003242, 4065161, 4127455, 4190121, 4253158,
4316566, 4380342, 4444487, 4508998, 4573875, 4639116, 4704721, 4770689,
4837017, 4903706, 4970755, 5038161, 5105924, 5174044, 5242519, 5311348,
5380530, 5450064, 5519950, 5590186, 5660771, 5731705, 5802986, 5874614,
5946587, 6018906, 6091568, 6164573, 6237921, 6311610, 6385639, 6460008,
6534716, 6609762, 6685145, 6760864, 6836919, 6913309, 6990032, 7067089,
7144478, 7222199, 7300251, 7378633, 7457344, 7536384, 7615752, 7695447,
7775469, 7855816, 7936488, 8017485, 8098805, 8180448, 8262414, 8344701,
8427309, 8510237, 8593485, 8677052, 8760937, 8845139, 8929659, 9014495,
9099646, 9185113, 9270894, 9356989, 9443397, 9530117, 9617150, 9704494,
9792149, 9880114, 9968389, 10056972, 10145864, 10235064, 10324572, 10414386,
10504506, 10594932, 10685662, 10776698, 10868037, 10959680, 11051626, 11143874,
11236423, 11329274, 11422426, 11515878, 11609630, 11703681, 11798030, 11892678,
11987624, 12082866, 12178406, 12274241, 12370372, 12466799, 12563520, 12660535,
12757844, 12855446, 12953341, 13051529, 13150008, 13248779, 13347840, 13447193,
13546835, 13646766, 13746987, 13847496, 13948294, 14049380, 14150752, 14252412,
14354358, 14456590, 14559108, 14661911, 14764998, 14868370, 14972026, 15075965,
15180188, 15284693, 15389480, 15494549, 15599900, 15705531, 15811444, 15917636,
16024108, 16130860, 16237891, 16345200, 16452788, 16560653, 16668796, 16777216,
};
static int gamma_curve_1p70[] = {
0, 1360, 4419, 8805, 14358, 20982, 28606, 37176,
46650, 56992, 68171, 80162, 92942, 106489, 120787, 135818,
151567, 168021, 185168, 202994, 221489, 240644, 260447, 280892,
301968, 323668, 345984, 368910, 392437, 416561, 441273, 466570,
492444, 518890, 545903, 573479, 601611, 630296, 659529, 689305,
719621, 750471, 781853, 813763, 846196, 879150, 912620, 946603,
981096, 1016096, 1051600, 1087604, 1124106, 1161103, 1198591, 1236568,
1275032, 1313980, 1353409, 1393317, 1433701, 1474560, 1515889, 1557688,
1599954, 1642685, 1685879, 1729533, 1773645, 1818214, 1863238, 1908714,
1954640, 2001015, 2047838, 2095105, 2142815, 2190967, 2239559, 2288588,
2338054, 2387955, 2438289, 2489054, 2540250, 2591873, 2643924, 2696400,
2749300, 2802622, 2856366, 2910529, 2965111, 3020109, 3075523, 3131351,
3187592, 3244244, 3301307, 3358779, 3416659, 3474945, 3533637, 3592732,
3652231, 3712132, 3772433, 3833134, 3894233, 3955730, 4017623, 4079911,
4142593, 4205668, 4269134, 4332992, 4397240, 4461877, 4526901, 4592312,
4658110, 4724292, 4790858, 4857807, 4925139, 4992851, 5060944, 5129416,
5198266, 5267495, 5337099, 5407080, 5477436, 5548165, 5619268, 5690743,
5762590, 5834808, 5907395, 5980352, 6053677, 6127370, 6201429, 6275854,
6350645, 6425800, 6501319, 6577200, 6653444, 6730049, 6807015, 6884341,
6962027, 7040071, 7118473, 7197232, 7276347, 7355818, 7435645, 7515826,
7596360, 7677248, 7758488, 7840080, 7922024, 8004317, 8086961, 8169954,
8253295, 8336984, 8421021, 8505405, 8590134, 8675209, 8760629, 8846394,
8932502, 9018953, 9105747, 9192883, 9280361, 9368179, 9456337, 9544835,
9633673, 9722849, 9812363, 9902214, 9992403, 10082928, 10173789, 10264985,
10356516, 10448381, 10540581, 10633113, 10725978, 10819176, 10912705, 11006565,
11100757, 11195278, 11290129, 11385310, 11480819, 11576657, 11672822, 11769315,
11866134, 11963280, 12060752, 12158549, 12256672, 12355118, 12453889, 12552984,
12652402, 12752142, 12852205, 12952589, 13053295, 13154322, 13255669, 13357336,
13459323, 13561629, 13664254, 13767198, 13870459, 13974038, 14077934, 14182146,
14286675, 14391520, 14496680, 14602155, 14707945, 14814049, 14920467, 15027198,
15134243, 15241600, 15349269, 15457251, 15565544, 15674148, 15783062, 15892287,
16001822, 16111667, 16221821, 16332284, 16443055, 16554134, 16665521, 16777216,
};
static int gamma_curve_1p75[] = {
0, 1031, 3468, 7051, 11665, 17237, 23716, 31060,
39236, 48217, 57980, 68503, 79770, 91765, 104472, 117878,
131973, 146744, 162182, 178276, 195019, 212402, 230417, 249057,
268315, 288184, 308658, 329732, 351399, 373655, 396494, 419911,
443902, 468462, 493586, 519271, 545512, 572305, 599647, 627535,
655963, 684930, 714432, 744465, 775027, 806114, 837724, 869853,
902499, 935659, 969331, 1003512, 1038199, 1073390, 1109082, 1145274,
1181962, 1219146, 1256821, 1294988, 1333642, 1372783, 1412408, 1452515,
1493102, 1534168, 1575711, 1617728, 1660218, 1703180, 1746611, 1790510,
1834875, 1879705, 1924997, 1970751, 2016965, 2063637, 2110766, 2158351,
2206389, 2254880, 2303821, 2353213, 2403053, 2453340, 2504072, 2555249,
2606869, 2658931, 2711434, 2764375, 2817755, 2871572, 2925825, 2980512,
3035633, 3091186, 3147170, 3203584, 3260428, 3317699, 3375397, 3433521,
3492070, 3551042, 3610438, 3670255, 3730492, 3791150, 3852226, 3913720,
3975631, 4037959, 4100701, 4163857, 4227426, 4291408, 4355802, 4420606,
4485819, 4551442, 4617472, 4683910, 4750754, 4818003, 4885658, 4953716,
5022177, 5091041, 5160306, 5229972, 5300038, 5370503, 5441366, 5512628,
5584286, 5656341, 5728791, 5801636, 5874875, 5948508, 6022533, 6096950,
6171759, 6246958, 6322547, 6398526, 6474893, 6551648, 6628790, 6706319,
6784235, 6862535, 6941221, 7020290, 7099743, 7179579, 7259797, 7340397,
7421378, 7502739, 7584481, 7666601, 7749101, 7831978, 7915234, 7998866,
8082874, 8167259, 8252018, 8337153, 8422662, 8508544, 8594800, 8681428,
8768428, 8855800, 8943543, 9031656, 9120139, 9208992, 9298213, 9387803,
9477761, 9568087, 9658779, 9749838, 9841263, 9933053, 10025208, 10117727,
10210611, 10303858, 10397468, 10491441, 10585776, 10680473, 10775531, 10870949,
10966728, 11062867, 11159365, 11256222, 11353437, 11451011, 11548942, 11647231,
11745876, 11844878, 11944235, 12043948, 12144016, 12244439, 12345216, 12446346,
12547831, 12649668, 12751857, 12854399, 12957293, 13060538, 13164134, 13268080,
13372377, 13477024, 13582019, 13687364, 13793058, 13899100, 14005490, 14112227,
14219311, 14326742, 14434519, 14542643, 14651112, 14759926, 14869085, 14978589,
15088437, 15198629, 15309164, 15420042, 15531263, 15642826, 15754732, 15866979,
15979568, 16092497, 16205767, 16319378, 16433328, 16547618, 16662248, 16777216,
};
static int gamma_curve_1p80[] = {
0, 782, 2721, 5646, 9477, 14161, 19662, 25949,
33000, 40793, 49311, 58540, 68466, 79076, 90360, 102309,
114912, 128161, 142049, 156568, 171712, 187475, 203849, 220830,
238412, 256590, 275359, 294715, 314653, 335169, 356259, 377919,
400145, 422934, 446282, 470186, 494643, 519650, 545203, 571300,
597937, 625113, 652824, 681068, 709843, 739146, 768974, 799326,
830198, 861590, 893498, 925921, 958856, 992303, 1026257, 1060719,
1095686, 1131155, 1167127, 1203597, 1240566, 1278031, 1315990, 1354442,
1393386, 1432820, 1472742, 1513151, 1554045, 1595423, 1637284, 1679626,
1722448, 1765748, 1809525, 1853779, 1898506, 1943707, 1989380, 2035525,
2082138, 2129220, 2176770, 2224785, 2273266, 2322211, 2371618, 2421487,
2471817, 2522607, 2573855, 2625561, 2677723, 2730341, 2783413, 2836939,
2890918, 2945349, 3000230, 3055561, 3111341, 3167569, 3224244, 3281365,
3338932, 3396943, 3455398, 3514296, 3573636, 3633417, 3693639, 3754300,
3815399, 3876937, 3938912, 4001324, 4064171, 4127453, 4191169, 4255319,
4319901, 4384916, 4450361, 4516237, 4582544, 4649279, 4716443, 4784034,
4852053, 4920498, 4989369, 5058665, 5128385, 5198530, 5269097, 5340087,
5411499, 5483333, 5555587, 5628261, 5701354, 5774867, 5848798, 5923146,
5997912, 6073094, 6148692, 6224705, 6301133, 6377976, 6455232, 6532901,
6610983, 6689477, 6768382, 6847698, 6927425, 7007562, 7088108, 7169063,
7250426, 7332197, 7414376, 7496961, 7579953, 7663350, 7747153, 7831361,
7915973, 8000988, 8086408, 8172230, 8258454, 8345081, 8432109, 8519538,
8607368, 8695598, 8784228, 8873256, 8962684, 9052510, 9142734, 9233355,
9324373, 9415788, 9507599, 9599806, 9692408, 9785405, 9878797, 9972582,
10066762, 10161334, 10256299, 10351657, 10447407, 10543548, 10640080, 10737004,
10834318, 10932021, 11030115, 11128598, 11227469, 11326729, 11426377, 11526413,
11626837, 11727647, 11828844, 11930427, 12032396, 12134751, 12237490, 12340615,
12444124, 12548017, 12652294, 12756954, 12861997, 12967423, 13073231, 13179421,
13285993, 13392946, 13500280, 13607994, 13716089, 13824564, 13933418, 14042652,
14152265, 14262256, 14372626, 14483373, 14594499, 14706001, 14817881, 14930137,
15042770, 15155778, 15269163, 15382923, 15497058, 15611568, 15726452, 15841711,
15957344, 16073350, 16189729, 16306482, 16423607, 16541105, 16658974, 16777216,
};
static int gamma_curve_1p85[] = {
0, 592, 2136, 4522, 7699, 11634, 16300, 21680,
27755, 34512, 41939, 50026, 58763, 68142, 78155, 88795,
100056, 111931, 124416, 137504, 151191, 165473, 180344, 195802,
211842, 228460, 245653, 263417, 281749, 300647, 320107, 340126,
360702, 381831, 403512, 425742, 448518, 471839, 495701, 520104,
545044, 570520, 596529, 623071, 650142, 677741, 705866, 734517,
763690, 793384, 823598, 854329, 885578, 917341, 949618, 982407,
1015707, 1049516, 1083833, 1118657, 1153986, 1189819, 1226154, 1262992,
1300330, 1338167, 1376502, 1415334, 1454662, 1494484, 1534801, 1575609,
1616909, 1658700, 1700980, 1743749, 1787005, 1830747, 1874975, 1919688,
1964885, 2010564, 2056725, 2103367, 2150489, 2198091, 2246170, 2294728,
2343762, 2393272, 2443257, 2493717, 2544650, 2596056, 2647934, 2700283,
2753102, 2806392, 2860150, 2914377, 2969071, 3024232, 3079859, 3135952,
3192510, 3249532, 3307017, 3364965, 3423375, 3482247, 3541580, 3601373,
3661625, 3722337, 3783507, 3845135, 3907220, 3969761, 4032759, 4096212,
4160120, 4224482, 4289298, 4354567, 4420289, 4486463, 4553088, 4620165,
4687691, 4755668, 4824094, 4892969, 4962292, 5032063, 5102282, 5172947,
5244059, 5315616, 5387619, 5460067, 5532959, 5606295, 5680074, 5754296,
5828961, 5904068, 5979617, 6055606, 6132037, 6208907, 6286217, 6363967,
6442155, 6520782, 6599847, 6679350, 6759290, 6839666, 6920479, 7001728,
7083412, 7165532, 7248086, 7331074, 7414497, 7498353, 7582642, 7667363,
7752517, 7838103, 7924120, 8010569, 8097448, 8184758, 8272498, 8360668,
8449266, 8538294, 8627750, 8717635, 8807947, 8898687, 8989854, 9081448,
9173468, 9265914, 9358786, 9452083, 9545806, 9639953, 9734524, 9829520,
9924939, 10020781, 10117047, 10213735, 10310846, 10408379, 10506333, 10604709,
10703506, 10802724, 10902362, 11002420, 11102899, 11203796, 11305113, 11406849,
11509004, 11611577, 11714567, 11817976, 11921802, 12026045, 12130705, 12235781,
12341274, 12447183, 12553507, 12660247, 12767402, 12874971, 12982955, 13091354,
13200166, 13309392, 13419032, 13529084, 13639550, 13750428, 13861718, 13973420,
14085535, 14198060, 14310997, 14424345, 14538104, 14652273, 14766852, 14881842,
14997241, 15113049, 15229267, 15345893, 15462928, 15580372, 15698224, 15816483,
15935151, 16054225, 16173707, 16293596, 16413892, 16534594, 16655702, 16777216,
};
static int gamma_curve_1p90[] = {
0, 449, 1676, 3621, 6255, 9557, 13514, 18113,
23343, 29198, 35669, 42750, 50436, 58720, 67598, 77067,
87121, 97757, 108971, 120761, 133122, 146053, 159550, 173611,
188233, 203413, 219151, 235442, 252286, 269681, 287623, 306112,
325146, 344723, 364841, 385499, 406695, 428427, 450695, 473496,
496830, 520694, 545089, 570012, 595461, 621437, 647938, 674962,
702509, 730577, 759166, 788273, 817899, 848043, 878702, 909877,
941566, 973769, 1006484, 1039710, 1073448, 1107695, 1142451, 1177716,
1213488, 1249767, 1286551, 1323841, 1361634, 1399932, 1438732, 1478034,
1517838, 1558142, 1598946, 1640250, 1682052, 1724352, 1767150, 1810444,
1854234, 1898520, 1943300, 1988575, 2034343, 2080604, 2127358, 2174604,
2222341, 2270568, 2319286, 2368494, 2418190, 2468375, 2519048, 2570209,
2621856, 2673990, 2726610, 2779716, 2833306, 2887381, 2941940, 2996983,
3052509, 3108517, 3165007, 3221979, 3279432, 3337366, 3395781, 3454675,
3514049, 3573902, 3634233, 3695043, 3756330, 3818095, 3880336, 3943054,
4006249, 4069919, 4134064, 4198685, 4263780, 4329349, 4395392, 4461908,
4528898, 4596360, 4664294, 4732700, 4801578, 4870928, 4940748, 5011038,
5081799, 5153030, 5224730, 5296899, 5369537, 5442643, 5516218, 5590260,
5664770, 5739747, 5815191, 5891101, 5967478, 6044320, 6121628, 6199401,
6277639, 6356342, 6435509, 6515140, 6595235, 6675793, 6756815, 6838299,
6920246, 7002655, 7085526, 7168858, 7252652, 7336908, 7421624, 7506800,
7592437, 7678534, 7765090, 7852106, 7939581, 8027515, 8115908, 8204759,
8294069, 8383836, 8474060, 8564743, 8655882, 8747478, 8839530, 8932039,
9025004, 9118425, 9212302, 9306633, 9401420, 9496662, 9592358, 9688509,
9785114, 9882173, 9979685, 10077651, 10176070, 10274942, 10374267, 10474044,
10574274, 10674955, 10776089, 10877674, 10979710, 11082198, 11185136, 11288525,
11392365, 11496655, 11601395, 11706585, 11812224, 11918313, 12024852, 12131839,
12239275, 12347159, 12455492, 12564273, 12673502, 12783179, 12893303, 13003875,
13114894, 13226360, 13338273, 13450632, 13563437, 13676689, 13790387, 13904530,
14019119, 14134153, 14249633, 14365558, 14481927, 14598741, 14716000, 14833703,
14951849, 15070440, 15189474, 15308952, 15428874, 15549238, 15670045, 15791296,
15912988, 16035124, 16157701, 16280721, 16404182, 16528085, 16652430, 16777216,
};
static int gamma_curve_1p95[] = {
0, 340, 1315, 2900, 5081, 7852, 11204, 15132,
19633, 24702, 30337, 36533, 43288, 50601, 58468, 66887,
75858, 85377, 95444, 106056, 117213, 128912, 141153, 153934,
167255, 181113, 195508, 210439, 225904, 241904, 258436, 275500,
293095, 311221, 329876, 349059, 368771, 389009, 409774, 431065,
452880, 475220, 498084, 521471, 545380, 569811, 594764, 620237,
646230, 672743, 699774, 727325, 755393, 783979, 813082, 842702,
872837, 903488, 934655, 966336, 998531, 1031240, 1064462, 1098198,
1132446, 1167206, 1202478, 1238262, 1274556, 1311361, 1348676, 1386501,
1424836, 1463680, 1503033, 1542894, 1583263, 1624140, 1665524, 1707416,
1749815, 1792719, 1836131, 1880048, 1924470, 1969398, 2014831, 2060768,
2107210, 2154156, 2201605, 2249558, 2298015, 2346974, 2396436, 2446401,
2496867, 2547836, 2599306, 2651277, 2703750, 2756724, 2810198, 2864172,
2918647, 2973621, 3029096, 3085069, 3141542, 3198514, 3255984, 3313953,
3372420, 3431385, 3490849, 3550809, 3611267, 3672222, 3733675, 3795623,
3858069, 3921011, 3984448, 4048382, 4112812, 4177737, 4243157, 4309072,
4375483, 4442388, 4509788, 4577681, 4646070, 4714952, 4784328, 4854197,
4924560, 4995416, 5066765, 5138607, 5210942, 5283769, 5357088, 5430900,
5505204, 5579999, 5655287, 5731065, 5807335, 5884096, 5961348, 6039091,
6117325, 6196049, 6275263, 6354968, 6435162, 6515847, 6597021, 6678685,
6760838, 6843480, 6926611, 7010232, 7094341, 7178939, 7264025, 7349599,
7435662, 7522213, 7609252, 7696778, 7784792, 7873294, 7962282, 8051758,
8141722, 8232172, 8323108, 8414532, 8506442, 8598838, 8691720, 8785089,
8878944, 8973284, 9068110, 9163422, 9259219, 9355501, 9452269, 9549521,
9647259, 9745481, 9844188, 9943380, 10043056, 10143216, 10243861, 10344989,
10446602, 10548698, 10651278, 10754341, 10857888, 10961919, 11066432, 11171429,
11276908, 11382871, 11489316, 11596244, 11703654, 11811547, 11919922, 12028779,
12138118, 12247939, 12358242, 12469027, 12580293, 12692041, 12804271, 12916981,
13030173, 13143846, 13258000, 13372634, 13487750, 13603346, 13719422, 13835979,
13953017, 14070534, 14188532, 14307010, 14425968, 14545405, 14665322, 14785719,
14906595, 15027951, 15149786, 15272101, 15394894, 15518167, 15641918, 15766148,
15890857, 16016045, 16141711, 16267855, 16394478, 16521579, 16649159, 16777216,
};
static int gamma_curve_2p00[] = {
0, 258, 1032, 2322, 4128, 6450, 9288, 12643,
16513, 20899, 25801, 31219, 37154, 43604, 50570, 58053,
66051, 74565, 83596, 93142, 103205, 113783, 124878, 136488,
148615, 161257, 174416, 188091, 202281, 216988, 232211, 247949,
264204, 280975, 298262, 316064, 334383, 353218, 372569, 392436,
412819, 433718, 455133, 477064, 499511, 522474, 545953, 569948,
594459, 619486, 645029, 671089, 697664, 724755, 752362, 780486,
809125, 838280, 867952, 898139, 928842, 960062, 991797, 1024049,
1056816, 1090100, 1123899, 1158215, 1193046, 1228394, 1264258, 1300637,
1337533, 1374945, 1412873, 1451316, 1490276, 1529752, 1569744, 1610252,
1651275, 1692815, 1734871, 1777443, 1820531, 1864135, 1908255, 1952891,
1998043, 2043711, 2089895, 2136596, 2183812, 2231544, 2279792, 2328556,
2377837, 2427633, 2477945, 2528773, 2580118, 2631978, 2684355, 2737247,
2790655, 2844580, 2899020, 2953977, 3009449, 3065438, 3121943, 3178963,
3236500, 3294552, 3353121, 3412206, 3471807, 3531923, 3592556, 3653705,
3715370, 3777550, 3840247, 3903460, 3967189, 4031434, 4096195, 4161472,
4227265, 4293574, 4360399, 4427740, 4495597, 4563970, 4632860, 4702265,
4772186, 4842623, 4913576, 4985046, 5057031, 5129532, 5202550, 5276083,
5350132, 5424698, 5499779, 5575377, 5651490, 5728120, 5805265, 5882927,
5961104, 6039798, 6119007, 6198733, 6278975, 6359732, 6441006, 6522796,
6605102, 6687923, 6771261, 6855115, 6939485, 7024371, 7109773, 7195691,
7282124, 7369074, 7456540, 7544522, 7633021, 7722035, 7811565, 7901611,
7992173, 8083251, 8174845, 8266955, 8359582, 8452724, 8546382, 8640557,
8735247, 8830453, 8926176, 9022414, 9119168, 9216439, 9314225, 9412528,
9511346, 9610681, 9710531, 9810898, 9911781, 10013179, 10115094, 10217525,
10320471, 10423934, 10527913, 10632407, 10737418, 10842945, 10948988, 11055547,
11162622, 11270213, 11378320, 11486942, 11596081, 11705736, 11815907, 11926595,
12037798, 12149517, 12261752, 12374503, 12487770, 12601553, 12715853, 12830668,
12945999, 13061846, 13178210, 13295089, 13412484, 13530396, 13648823, 13767767,
13887226, 14007202, 14127693, 14248701, 14370224, 14492264, 14614819, 14737891,
14861479, 14985582, 15110202, 15235338, 15360989, 15487157, 15613841, 15741041,
15868757, 15996988, 16125736, 16255000, 16384780, 16515076, 16645888, 16777216,
};
static int gamma_curve_2p05[] = {
0, 196, 810, 1860, 3354, 5299, 7701, 10562,
13888, 17681, 21944, 26679, 31888, 37575, 43740, 50385,
57512, 65123, 73219, 81801, 90871, 100430, 110479, 121019,
132052, 143579, 155599, 168116, 181128, 194638, 208646, 223154,
238161, 253668, 269677, 286188, 303202, 320720, 338742, 357269,
376301, 395840, 415885, 436438, 457499, 479069, 501148, 523737,
546836, 570446, 594567, 619201, 644346, 670005, 696177, 722863,
750063, 777779, 806009, 834755, 864018, 893797, 924093, 954906,
986237, 1018087, 1050455, 1083343, 1116750, 1150676, 1185123, 1220091,
1255579, 1291589, 1328121, 1365174, 1402750, 1440849, 1479471, 1518616,
1558285, 1598479, 1639196, 1680438, 1722206, 1764499, 1807317, 1850662,
1894532, 1938930, 1983854, 2029305, 2075284, 2121791, 2168826, 2216389,
2264480, 2313101, 2362251, 2411930, 2462139, 2512878, 2564147, 2615946,
2668277, 2721138, 2774531, 2828455, 2882911, 2937899, 2993419, 3049472,
3106057, 3163176, 3220828, 3279013, 3337732, 3396984, 3456771, 3517093,
3577948, 3639339, 3701265, 3763726, 3826723, 3890255, 3954323, 4018927,
4084068, 4149745, 4215959, 4282710, 4349998, 4417824, 4486187, 4555088,
4624527, 4694504, 4765019, 4836073, 4907666, 4979798, 5052469, 5125679,
5199429, 5273718, 5348548, 5423917, 5499827, 5576277, 5653268, 5730800,
5808873, 5887487, 5966642, 6046339, 6126578, 6207358, 6288681, 6370546,
6452953, 6535903, 6619395, 6703431, 6788009, 6873131, 6958796, 7045005,
7131757, 7219054, 7306894, 7395279, 7484208, 7573681, 7663700, 7754263,
7845371, 7937025, 8029223, 8121967, 8215257, 8309093, 8403474, 8498402,
8593876, 8689896, 8786463, 8883576, 8981236, 9079443, 9178198, 9277499,
9377348, 9477745, 9578689, 9680181, 9782221, 9884809, 9987946, 10091630,
10195864, 10300646, 10405976, 10511856, 10618285, 10725263, 10832790, 10940867,
11049493, 11158669, 11268395, 11378671, 11489498, 11600874, 11712801, 11825278,
11938306, 12051885, 12166015, 12280695, 12395927, 12511711, 12628045, 12744931,
12862369, 12980359, 13098900, 13217993, 13337639, 13457837, 13578587, 13699890,
13821746, 13944154, 14067115, 14190629, 14314696, 14439316, 14564490, 14690217,
14816498, 14943333, 15070721, 15198663, 15327159, 15456210, 15585814, 15715973,
15846687, 15977955, 16109778, 16242155, 16375088, 16508575, 16642618, 16777216,
};
static int gamma_curve_2p10[] = {
0, 148, 636, 1489, 2725, 4353, 6384, 8825,
11681, 14959, 18663, 22799, 27369, 32379, 37832, 43730,
50077, 56876, 64129, 71840, 80011, 88643, 97740, 107304,
117335, 127838, 138813, 150262, 162188, 174591, 187474, 200838,
214684, 229015, 243832, 259136, 274929, 291212, 307986, 325253,
343014, 361270, 380022, 399272, 419021, 439270, 460020, 481272,
503028, 525288, 548053, 571325, 595104, 619391, 644188, 669495,
695313, 721644, 748487, 775845, 803717, 832105, 861010, 890432,
920372, 950832, 981811, 1013311, 1045332, 1077876, 1110942, 1144532,
1178647, 1213287, 1248453, 1284145, 1320365, 1357113, 1394390, 1432196,
1470532, 1509399, 1548797, 1588728, 1629191, 1670188, 1711718, 1753783,
1796384, 1839520, 1883193, 1927403, 1972150, 2017436, 2063260, 2109624,
2156528, 2203972, 2251958, 2300485, 2349554, 2399167, 2449322, 2500021,
2551265, 2603053, 2655387, 2708267, 2761693, 2815666, 2870187, 2925255,
2980872, 3037038, 3093753, 3151019, 3208834, 3267201, 3326119, 3385588,
3445610, 3506185, 3567313, 3628994, 3691230, 3754020, 3817365, 3881265,
3945722, 4010734, 4076304, 4142431, 4209115, 4276357, 4344158, 4412517,
4481436, 4550915, 4620954, 4691553, 4762713, 4834434, 4906717, 4979563,
5052970, 5126941, 5201475, 5276573, 5352234, 5428460, 5505251, 5582608,
5660529, 5739017, 5818071, 5897692, 5977880, 6058635, 6139958, 6221849,
6304309, 6387337, 6470935, 6555102, 6639840, 6725147, 6811025, 6897475,
6984495, 7072087, 7160251, 7248987, 7338297, 7428179, 7518634, 7609663,
7701266, 7793443, 7886195, 7979522, 8073424, 8167902, 8262956, 8358586,
8454792, 8551576, 8648936, 8746874, 8845390, 8944484, 9044157, 9144408,
9245238, 9346648, 9448637, 9551206, 9654355, 9758085, 9862396, 9967287,
10072761, 10178815, 10285452, 10392671, 10500473, 10608858, 10717825, 10827377,
10937511, 11048230, 11159533, 11271421, 11383894, 11496951, 11610594, 11724823,
11839637, 11955038, 12071025, 12187599, 12304760, 12422508, 12540844, 12659767,
12779279, 12899379, 13020068, 13141345, 13263212, 13385667, 13508713, 13632348,
13756574, 13881390, 14006796, 14132794, 14259383, 14386563, 14514334, 14642698,
14771654, 14901202, 15031343, 15162077, 15293404, 15425324, 15557838, 15690946,
15824648, 15958944, 16093835, 16229320, 16365401, 16502077, 16639349, 16777216,
};
static int gamma_curve_2p12[] = {
0, 133, 577, 1363, 2507, 4024, 5923, 8212,
10899, 13991, 17493, 21410, 25747, 30508, 35698, 41321,
47379, 53877, 60818, 68204, 76039, 84326, 93066, 102263,
111919, 122036, 132617, 143663, 155178, 167162, 179619, 192549,
205955, 219839, 234202, 249046, 264372, 280183, 296480, 313265,
330538, 348302, 366558, 385308, 404552, 424292, 444530, 465267,
486504, 508242, 530483, 553227, 576477, 600233, 624496, 649267,
674549, 700341, 726645, 753461, 780792, 808638, 836999, 865878,
895275, 925190, 955626, 986582, 1018061, 1050062, 1082586, 1115636,
1149211, 1183312, 1217940, 1253097, 1288782, 1324997, 1361743, 1399021,
1436830, 1475173, 1514050, 1553461, 1593407, 1633890, 1674910, 1716467,
1758563, 1801198, 1844373, 1888089, 1932346, 1977145, 2022487, 2068373,
2114802, 2161776, 2209296, 2257363, 2305976, 2355136, 2404845, 2455103,
2505910, 2557267, 2609175, 2661634, 2714645, 2768209, 2822326, 2876997,
2932222, 2988003, 3044339, 3101231, 3158680, 3216687, 3275251, 3334374,
3394056, 3454297, 3515099, 3576461, 3638385, 3700871, 3763919, 3827530,
3891704, 3956443, 4021746, 4087614, 4154047, 4221047, 4288613, 4356747,
4425448, 4494717, 4564554, 4634961, 4705937, 4777484, 4849601, 4922289,
4995549, 5069380, 5143785, 5218762, 5294312, 5370437, 5447136, 5524409,
5602258, 5680683, 5759684, 5839261, 5919416, 6000148, 6081458, 6163347,
6245814, 6328861, 6412488, 6496694, 6581482, 6666850, 6752800, 6839331,
6926445, 7014142, 7102421, 7191284, 7280732, 7370763, 7461379, 7552581,
7644368, 7736741, 7829700, 7923246, 8017379, 8112100, 8207409, 8303306,
8399791, 8496866, 8594530, 8692785, 8791629, 8891064, 8991090, 9091707,
9192917, 9294718, 9397112, 9500098, 9603678, 9707851, 9812619, 9917980,
10023936, 10130488, 10237634, 10345377, 10453715, 10562650, 10672182, 10782311,
10893037, 11004361, 11116284, 11228804, 11341924, 11455643, 11569961, 11684880,
11800398, 11916517, 12033237, 12150558, 12268481, 12387006, 12506132, 12625862,
12746194, 12867129, 12988668, 13110810, 13233557, 13356908, 13480864, 13605425,
13730591, 13856363, 13982742, 14109726, 14237317, 14365515, 14494321, 14623733,
14753754, 14884383, 15015621, 15147467, 15279922, 15412987, 15546661, 15680946,
15815841, 15951346, 16087462, 16224189, 16361528, 16499479, 16638041, 16777216,
};
static int gamma_curve_2p13[] = {
0, 126, 550, 1303, 2405, 3869, 5705, 7922,
10529, 13531, 16935, 20747, 24972, 29613, 34677, 40166,
46086, 52438, 59227, 66456, 74128, 82246, 90813, 99832,
109305, 119234, 129623, 140473, 151787, 163568, 175816, 188534,
201725, 215389, 229530, 244149, 259247, 274827, 290890, 307438,
324472, 341994, 360006, 378510, 397506, 416996, 436982, 457465,
478446, 499927, 521910, 544395, 567383, 590877, 614877, 639384,
664400, 689926, 715964, 742513, 769576, 797153, 825246, 853856,
882984, 912630, 942796, 973484, 1004693, 1036425, 1068681, 1101462,
1134769, 1168603, 1202965, 1237855, 1273275, 1309226, 1345708, 1382722,
1420270, 1458352, 1496969, 1536122, 1575811, 1616038, 1656804, 1698108,
1739953, 1782338, 1825265, 1868734, 1912746, 1957303, 2002404, 2048050,
2094243, 2140982, 2188270, 2236105, 2284490, 2333425, 2382910, 2432947,
2483535, 2534676, 2586371, 2638619, 2691423, 2744781, 2798696, 2853167,
2908196, 2963783, 3019928, 3076633, 3133898, 3191723, 3250109, 3309058,
3368568, 3428642, 3489279, 3550481, 3612248, 3674579, 3737477, 3800942,
3864974, 3929573, 3994741, 4060478, 4126784, 4193661, 4261108, 4329126,
4397716, 4466878, 4536613, 4606922, 4677804, 4749261, 4821293, 4893900,
4967083, 5040843, 5115180, 5190094, 5265587, 5341658, 5418308, 5495538,
5573348, 5651738, 5730710, 5810264, 5890399, 5971117, 6052418, 6134302,
6216771, 6299824, 6383462, 6467686, 6552495, 6637891, 6723874, 6810444,
6897601, 6985347, 7073682, 7162605, 7252119, 7342222, 7432916, 7524200,
7616076, 7708544, 7801604, 7895257, 7989503, 8084342, 8179775, 8275803,
8372425, 8469643, 8567456, 8665865, 8764871, 8864474, 8964674, 9065471,
9166867, 9268861, 9371454, 9474647, 9578439, 9682831, 9787824, 9893418,
9999613, 10106410, 10213809, 10321810, 10430415, 10539622, 10649433, 10759848,
10870868, 10982492, 11094722, 11207557, 11320998, 11435045, 11549699, 11664959,
11780828, 11897304, 12014388, 12132080, 12250382, 12369292, 12488813, 12608943,
12729683, 12851034, 12972996, 13095569, 13218754, 13342552, 13466961, 13591983,
13717618, 13843867, 13970730, 14098206, 14226297, 14355003, 14484324, 14614260,
14744813, 14875981, 15007766, 15140167, 15273186, 15406822, 15541076, 15675948,
15811439, 15947548, 16084276, 16221624, 16359592, 16498179, 16637387, 16777216,
};
static int gamma_curve_2p15[] = {
0, 112, 499, 1193, 2214, 3576, 5293, 7373,
9824, 12656, 15873, 19483, 23491, 27902, 32722, 37954,
43603, 49673, 56169, 63093, 70449, 78240, 86470, 95142,
104259, 113823, 123837, 134305, 145227, 156608, 168449, 180753,
193522, 206759, 220464, 234641, 249292, 264419, 280023, 296106,
312671, 329719, 347252, 365271, 383779, 402778, 422268, 442251,
462729, 483704, 505178, 527150, 549624, 572600, 596081, 620067,
644559, 669560, 695070, 721091, 747625, 774672, 802233, 830311,
858906, 888019, 917652, 947806, 978482, 1009681, 1041404, 1073653,
1106429, 1139732, 1173564, 1207926, 1242819, 1278243, 1314201, 1350693,
1387720, 1425284, 1463384, 1502022, 1541200, 1580917, 1621176, 1661977,
1703320, 1745207, 1787639, 1830617, 1874141, 1918213, 1962833, 2008003,
2053722, 2099992, 2146815, 2194190, 2242118, 2290601, 2339639, 2389233,
2439384, 2490093, 2541360, 2593186, 2645572, 2698519, 2752028, 2806099,
2860733, 2915930, 2971693, 3028021, 3084915, 3142376, 3200404, 3259001,
3318167, 3377902, 3438208, 3499085, 3560534, 3622555, 3685150, 3748319,
3812062, 3876380, 3941275, 4006746, 4072794, 4139420, 4206625, 4274409,
4342773, 4411718, 4481244, 4551351, 4622041, 4693314, 4765171, 4837612,
4910637, 4984249, 5058446, 5133231, 5208602, 5284562, 5361110, 5438247,
5515974, 5594291, 5673200, 5752699, 5832791, 5913475, 5994752, 6076623,
6159089, 6242149, 6325805, 6410056, 6494905, 6580350, 6666393, 6753034,
6840273, 6928112, 7016551, 7105590, 7195230, 7285471, 7376314, 7467759,
7559808, 7652459, 7745715, 7839575, 7934040, 8029111, 8124787, 8221070,
8317960, 8415457, 8513563, 8612276, 8711599, 8811531, 8912073, 9013226,
9114989, 9217364, 9320350, 9423949, 9528160, 9632985, 9738424, 9844476,
9951144, 10058426, 10166324, 10274838, 10383969, 10493716, 10604081, 10715064,
10826664, 10938884, 11051723, 11165181, 11279260, 11393959, 11509279, 11625220,
11741784, 11858969, 11976777, 12095208, 12214263, 12333942, 12454245, 12575173,
12696726, 12818905, 12941710, 13065141, 13189199, 13313885, 13439198, 13565140,
13691709, 13818908, 13946737, 14075195, 14204283, 14334002, 14464351, 14595333,
14726945, 14859190, 14992068, 15125579, 15259722, 15394500, 15529912, 15665958,
15802639, 15939955, 16077908, 16216496, 16355720, 16495581, 16636080, 16777216,
};
static int gamma_curve_2p20[] = {
0, 85, 391, 955, 1798, 2938, 4388, 6160,
8263, 10707, 13500, 16649, 20162, 24044, 28302, 32941,
37966, 43383, 49196, 55410, 62029, 69058, 76500, 84359,
92640, 101344, 110477, 120042, 130041, 140478, 151356, 162677,
174446, 186665, 199336, 212462, 226046, 240091, 254598, 269571,
285012, 300923, 317307, 334166, 351502, 369317, 387613, 406394,
425659, 445413, 465656, 486391, 507620, 529345, 551566, 574288,
597510, 621235, 645466, 670202, 695447, 721202, 747469, 774249,
801544, 829356, 857686, 886535, 915906, 945800, 976219, 1007163,
1038635, 1070636, 1103167, 1136230, 1169826, 1203957, 1238624, 1273829,
1309572, 1345856, 1382681, 1420049, 1457961, 1496419, 1535423, 1574976,
1615078, 1655730, 1696934, 1738692, 1781003, 1823870, 1867294, 1911276,
1955817, 2000918, 2046581, 2092806, 2139595, 2186948, 2234868, 2283355,
2332410, 2382034, 2432229, 2482995, 2534333, 2586246, 2638733, 2691795,
2745435, 2799652, 2854448, 2909824, 2965781, 3022320, 3079441, 3137147,
3195437, 3254313, 3313776, 3373826, 3434466, 3495695, 3557515, 3619926,
3682930, 3746527, 3810719, 3875505, 3940889, 4006869, 4073447, 4140624,
4208401, 4276778, 4345758, 4415339, 4485524, 4556313, 4627707, 4699707,
4772314, 4845528, 4919351, 4993783, 5068825, 5144478, 5220742, 5297620,
5375110, 5453215, 5531935, 5611271, 5691223, 5771793, 5852981, 5934787,
6017214, 6100261, 6183930, 6268220, 6353133, 6438670, 6524831, 6611618,
6699030, 6787069, 6875735, 6965029, 7054952, 7145505, 7236688, 7328502,
7420948, 7514026, 7607737, 7702083, 7797062, 7892678, 7988929, 8085817,
8183342, 8281506, 8380308, 8479750, 8579832, 8680555, 8781919, 8883925,
8986575, 9089868, 9193805, 9298388, 9403615, 9509489, 9616010, 9723179,
9830995, 9939461, 10048576, 10158341, 10268757, 10379824, 10491543, 10603916,
10716941, 10830620, 10944954, 11059943, 11175588, 11291890, 11408848, 11526464,
11644739, 11763672, 11883265, 12003518, 12124432, 12246007, 12368244, 12491144,
12614706, 12738933, 12863823, 12989379, 13115600, 13242487, 13370041, 13498262,
13627151, 13756708, 13886934, 14017830, 14149396, 14281633, 14414541, 14548120,
14682372, 14817297, 14952896, 15089168, 15226115, 15363738, 15502036, 15641010,
15780661, 15920990, 16061996, 16203681, 16346045, 16489088, 16632812, 16777216,
};
static int gamma_curve_2p25[] = {
0, 65, 307, 765, 1461, 2414, 3638, 5146,
6950, 9058, 11482, 14228, 17305, 20719, 24479, 28590,
33058, 37889, 43089, 48663, 54616, 60953, 67679, 74798,
82315, 90234, 98559, 107293, 116442, 126009, 135996, 146409,
157250, 168524, 180232, 192379, 204968, 218001, 231482, 245414,
259800, 274643, 289945, 305709, 321939, 338636, 355803, 373443,
391559, 410153, 429227, 448784, 468826, 489356, 510376, 531888,
553895, 576399, 599401, 622905, 646911, 671424, 696443, 721973,
748013, 774568, 801638, 829226, 857333, 885962, 915114, 944791,
974995, 1005729, 1036993, 1068790, 1101121, 1133988, 1167394, 1201339,
1235825, 1270854, 1306429, 1342549, 1379218, 1416436, 1454206, 1492529,
1531407, 1570840, 1610832, 1651382, 1692494, 1734168, 1776406, 1819209,
1862579, 1906518, 1951026, 1996106, 2041759, 2087986, 2134789, 2182168,
2230127, 2278665, 2327784, 2377486, 2427772, 2478644, 2530102, 2582148,
2634784, 2688011, 2741829, 2796241, 2851248, 2906850, 2963050, 3019848,
3077247, 3135246, 3193847, 3253052, 3312862, 3373277, 3434300, 3495931,
3558172, 3621023, 3684487, 3748564, 3813255, 3878561, 3944485, 4011026,
4078186, 4145966, 4214368, 4283392, 4353039, 4423311, 4494209, 4565734,
4637886, 4710668, 4784080, 4858123, 4932798, 5008107, 5084050, 5160629,
5237844, 5315697, 5394188, 5473320, 5553092, 5633505, 5714562, 5796262,
5878607, 5961598, 6045236, 6129522, 6214456, 6300041, 6386276, 6473163,
6560703, 6648897, 6737745, 6827249, 6917410, 7008228, 7099705, 7191841,
7284638, 7378097, 7472217, 7567001, 7662450, 7758563, 7855342, 7952789,
8050903, 8149686, 8249139, 8349262, 8450057, 8551525, 8653665, 8756480,
8859970, 8964136, 9068979, 9174499, 9280698, 9387577, 9495136, 9603376,
9712298, 9821903, 9932191, 10043164, 10154823, 10267168, 10380200, 10493920,
10608329, 10723428, 10839217, 10955697, 11072869, 11190735, 11309294, 11428547,
11548496, 11669141, 11790483, 11912523, 12035261, 12158699, 12282837, 12407676,
12533216, 12659459, 12786406, 12914056, 13042411, 13171472, 13301240, 13431714,
13562897, 13694788, 13827389, 13960700, 14094721, 14229455, 14364901, 14501061,
14637934, 14775522, 14913826, 15052846, 15192582, 15333037, 15474210, 15616102,
15758714, 15902047, 16046101, 16190877, 16336375, 16482598, 16629544, 16777216,
};
#endif /* DIMMING_BITSHIFT == 24 */
#if DIMMING_BITSHIFT == 26
static int gamma_curve_1p60[] = {
0, 2367, 7176, 13729, 21755, 31089, 41620, 53261,
65948, 79624, 94244, 109770, 126167, 143405, 161458, 180302,
199916, 220279, 241375, 263185, 285696, 308892, 332761, 357289,
382467, 408281, 434723, 461783, 489450, 517717, 546575, 576016,
606032, 636617, 667762, 699463, 731711, 764502, 797828, 831685,
866067, 900969, 936385, 972311, 1008742, 1045672, 1083099, 1121017,
1159422, 1198310, 1237678, 1277521, 1317835, 1358617, 1399863, 1441571,
1483735, 1526354, 1569424, 1612942, 1656905, 1701310, 1746153, 1791433,
1837146, 1883289, 1929860, 1976857, 2024277, 2072116, 2120374, 2169047,
2218133, 2267630, 2317535, 2367847, 2418563, 2469680, 2521198, 2573114,
2625425, 2678130, 2731227, 2784714, 2838589, 2892850, 2947495, 3002523,
3057932, 3113720, 3169886, 3226427, 3283342, 3340630, 3398288, 3456315,
3514711, 3573472, 3632598, 3692087, 3751938, 3812148, 3872718, 3933645,
3994928, 4056565, 4118556, 4180899, 4243592, 4306634, 4370025, 4433762,
4497845, 4562271, 4627041, 4692153, 4757605, 4823397, 4889527, 4955994,
5022797, 5089935, 5157406, 5225210, 5293346, 5361813, 5430608, 5499732,
5569184, 5638962, 5709065, 5779492, 5850243, 5921316, 5992710, 6064425,
6136459, 6208812, 6281482, 6354469, 6427772, 6501390, 6575321, 6649565,
6724122, 6798990, 6874169, 6949657, 7025453, 7101558, 7177970, 7254688,
7331711, 7409039, 7486671, 7564606, 7642843, 7721382, 7800222, 7879361,
7958800, 8038537, 8118572, 8198903, 8279532, 8360455, 8441673, 8523186,
8604992, 8687090, 8769481, 8852163, 8935135, 9018397, 9101949, 9185789,
9269918, 9354333, 9439035, 9524023, 9609297, 9694855, 9780698, 9866823,
9953232, 10039923, 10126895, 10214149, 10301683, 10389496, 10477589, 10565961,
10654610, 10743537, 10832741, 10922222, 11011978, 11102009, 11192315, 11282895,
11373748, 11464874, 11556273, 11647944, 11739886, 11832099, 11924582, 12017335,
12110357, 12203648, 12297207, 12391034, 12485128, 12579488, 12674115, 12769008,
12864165, 12959588, 13055274, 13151224, 13247438, 13343914, 13440653, 13537653,
13634915, 13732438, 13830221, 13928264, 14026566, 14125128, 14223948, 14323026,
14422362, 14521955, 14621805, 14721911, 14822273, 14922891, 15023764, 15124891,
15226272, 15327908, 15429796, 15531938, 15634332, 15736978, 15839876, 15943025,
16046425, 16150076, 16253976, 16358126, 16462526, 16567174, 16672071, 16777216,
};
static int gamma_curve_1p65[] = {
0, 1794, 5632, 10995, 17674, 25540, 34505, 44498,
55466, 67364, 80155, 93805, 108287, 123576, 139650, 156487,
174071, 192384, 211411, 231138, 251552, 272641, 294392, 316796,
339842, 363521, 387824, 412742, 438268, 464393, 491110, 518412,
546294, 574747, 603766, 633346, 663480, 694163, 725390, 757156,
789455, 822284, 855638, 889511, 923901, 958803, 994212, 1030125,
1066539, 1103449, 1140851, 1178744, 1217122, 1255983, 1295324, 1335141,
1375431, 1416192, 1457420, 1499113, 1541268, 1583882, 1626953, 1670477,
1714453, 1758878, 1803749, 1849064, 1894822, 1941018, 1987652, 2034721,
2082223, 2130156, 2178517, 2227305, 2276518, 2326153, 2376209, 2426684,
2477577, 2528884, 2580605, 2632737, 2685279, 2738229, 2791586, 2845348,
2899513, 2954079, 3009045, 3064410, 3120172, 3176329, 3232880, 3289823,
3347157, 3404881, 3462993, 3521492, 3580376, 3639644, 3699294, 3759326,
3819738, 3880529, 3941697, 4003242, 4065161, 4127455, 4190121, 4253158,
4316566, 4380342, 4444487, 4508998, 4573875, 4639116, 4704721, 4770689,
4837017, 4903706, 4970755, 5038161, 5105924, 5174044, 5242519, 5311348,
5380530, 5450064, 5519950, 5590186, 5660771, 5731705, 5802986, 5874614,
5946587, 6018906, 6091568, 6164573, 6237921, 6311610, 6385639, 6460008,
6534716, 6609762, 6685145, 6760864, 6836919, 6913309, 6990032, 7067089,
7144478, 7222199, 7300251, 7378633, 7457344, 7536384, 7615752, 7695447,
7775469, 7855816, 7936488, 8017485, 8098805, 8180448, 8262414, 8344701,
8427309, 8510237, 8593485, 8677052, 8760937, 8845139, 8929659, 9014495,
9099646, 9185113, 9270894, 9356989, 9443397, 9530117, 9617150, 9704494,
9792149, 9880114, 9968389, 10056972, 10145864, 10235064, 10324572, 10414386,
10504506, 10594932, 10685662, 10776698, 10868037, 10959680, 11051626, 11143874,
11236423, 11329274, 11422426, 11515878, 11609630, 11703681, 11798030, 11892678,
11987624, 12082866, 12178406, 12274241, 12370372, 12466799, 12563520, 12660535,
12757844, 12855446, 12953341, 13051529, 13150008, 13248779, 13347840, 13447193,
13546835, 13646766, 13746987, 13847496, 13948294, 14049380, 14150752, 14252412,
14354358, 14456590, 14559108, 14661911, 14764998, 14868370, 14972026, 15075965,
15180188, 15284693, 15389480, 15494549, 15599900, 15705531, 15811444, 15917636,
16024108, 16130860, 16237891, 16345200, 16452788, 16560653, 16668796, 16777216,
};
static int gamma_curve_1p70[] = {
0, 1360, 4419, 8805, 14358, 20982, 28606, 37176,
46650, 56992, 68171, 80162, 92942, 106489, 120787, 135818,
151567, 168021, 185168, 202994, 221489, 240644, 260447, 280892,
301968, 323668, 345984, 368910, 392437, 416561, 441273, 466570,
492444, 518890, 545903, 573479, 601611, 630296, 659529, 689305,
719621, 750471, 781853, 813763, 846196, 879150, 912620, 946603,
981096, 1016096, 1051600, 1087604, 1124106, 1161103, 1198591, 1236568,
1275032, 1313980, 1353409, 1393317, 1433701, 1474560, 1515889, 1557688,
1599954, 1642685, 1685879, 1729533, 1773645, 1818214, 1863238, 1908714,
1954640, 2001015, 2047838, 2095105, 2142815, 2190967, 2239559, 2288588,
2338054, 2387955, 2438289, 2489054, 2540250, 2591873, 2643924, 2696400,
2749300, 2802622, 2856366, 2910529, 2965111, 3020109, 3075523, 3131351,
3187592, 3244244, 3301307, 3358779, 3416659, 3474945, 3533637, 3592732,
3652231, 3712132, 3772433, 3833134, 3894233, 3955730, 4017623, 4079911,
4142593, 4205668, 4269134, 4332992, 4397240, 4461877, 4526901, 4592312,
4658110, 4724292, 4790858, 4857807, 4925139, 4992851, 5060944, 5129416,
5198266, 5267495, 5337099, 5407080, 5477436, 5548165, 5619268, 5690743,
5762590, 5834808, 5907395, 5980352, 6053677, 6127370, 6201429, 6275854,
6350645, 6425800, 6501319, 6577200, 6653444, 6730049, 6807015, 6884341,
6962027, 7040071, 7118473, 7197232, 7276347, 7355818, 7435645, 7515826,
7596360, 7677248, 7758488, 7840080, 7922024, 8004317, 8086961, 8169954,
8253295, 8336984, 8421021, 8505405, 8590134, 8675209, 8760629, 8846394,
8932502, 9018953, 9105747, 9192883, 9280361, 9368179, 9456337, 9544835,
9633673, 9722849, 9812363, 9902214, 9992403, 10082928, 10173789, 10264985,
10356516, 10448381, 10540581, 10633113, 10725978, 10819176, 10912705, 11006565,
11100757, 11195278, 11290129, 11385310, 11480819, 11576657, 11672822, 11769315,
11866134, 11963280, 12060752, 12158549, 12256672, 12355118, 12453889, 12552984,
12652402, 12752142, 12852205, 12952589, 13053295, 13154322, 13255669, 13357336,
13459323, 13561629, 13664254, 13767198, 13870459, 13974038, 14077934, 14182146,
14286675, 14391520, 14496680, 14602155, 14707945, 14814049, 14920467, 15027198,
15134243, 15241600, 15349269, 15457251, 15565544, 15674148, 15783062, 15892287,
16001822, 16111667, 16221821, 16332284, 16443055, 16554134, 16665521, 16777216,
};
static int gamma_curve_1p75[] = {
0, 1031, 3468, 7051, 11665, 17237, 23716, 31060,
39236, 48217, 57980, 68503, 79770, 91765, 104472, 117878,
131973, 146744, 162182, 178276, 195019, 212402, 230417, 249057,
268315, 288184, 308658, 329732, 351399, 373655, 396494, 419911,
443902, 468462, 493586, 519271, 545512, 572305, 599647, 627535,
655963, 684930, 714432, 744465, 775027, 806114, 837724, 869853,
902499, 935659, 969331, 1003512, 1038199, 1073390, 1109082, 1145274,
1181962, 1219146, 1256821, 1294988, 1333642, 1372783, 1412408, 1452515,
1493102, 1534168, 1575711, 1617728, 1660218, 1703180, 1746611, 1790510,
1834875, 1879705, 1924997, 1970751, 2016965, 2063637, 2110766, 2158351,
2206389, 2254880, 2303821, 2353213, 2403053, 2453340, 2504072, 2555249,
2606869, 2658931, 2711434, 2764375, 2817755, 2871572, 2925825, 2980512,
3035633, 3091186, 3147170, 3203584, 3260428, 3317699, 3375397, 3433521,
3492070, 3551042, 3610438, 3670255, 3730492, 3791150, 3852226, 3913720,
3975631, 4037959, 4100701, 4163857, 4227426, 4291408, 4355802, 4420606,
4485819, 4551442, 4617472, 4683910, 4750754, 4818003, 4885658, 4953716,
5022177, 5091041, 5160306, 5229972, 5300038, 5370503, 5441366, 5512628,
5584286, 5656341, 5728791, 5801636, 5874875, 5948508, 6022533, 6096950,
6171759, 6246958, 6322547, 6398526, 6474893, 6551648, 6628790, 6706319,
6784235, 6862535, 6941221, 7020290, 7099743, 7179579, 7259797, 7340397,
7421378, 7502739, 7584481, 7666601, 7749101, 7831978, 7915234, 7998866,
8082874, 8167259, 8252018, 8337153, 8422662, 8508544, 8594800, 8681428,
8768428, 8855800, 8943543, 9031656, 9120139, 9208992, 9298213, 9387803,
9477761, 9568087, 9658779, 9749838, 9841263, 9933053, 10025208, 10117727,
10210611, 10303858, 10397468, 10491441, 10585776, 10680473, 10775531, 10870949,
10966728, 11062867, 11159365, 11256222, 11353437, 11451011, 11548942, 11647231,
11745876, 11844878, 11944235, 12043948, 12144016, 12244439, 12345216, 12446346,
12547831, 12649668, 12751857, 12854399, 12957293, 13060538, 13164134, 13268080,
13372377, 13477024, 13582019, 13687364, 13793058, 13899100, 14005490, 14112227,
14219311, 14326742, 14434519, 14542643, 14651112, 14759926, 14869085, 14978589,
15088437, 15198629, 15309164, 15420042, 15531263, 15642826, 15754732, 15866979,
15979568, 16092497, 16205767, 16319378, 16433328, 16547618, 16662248, 16777216,
};
static int gamma_curve_1p80[] = {
0, 782, 2721, 5646, 9477, 14161, 19662, 25949,
33000, 40793, 49311, 58540, 68466, 79076, 90360, 102309,
114912, 128161, 142049, 156568, 171712, 187475, 203849, 220830,
238412, 256590, 275359, 294715, 314653, 335169, 356259, 377919,
400145, 422934, 446282, 470186, 494643, 519650, 545203, 571300,
597937, 625113, 652824, 681068, 709843, 739146, 768974, 799326,
830198, 861590, 893498, 925921, 958856, 992303, 1026257, 1060719,
1095686, 1131155, 1167127, 1203597, 1240566, 1278031, 1315990, 1354442,
1393386, 1432820, 1472742, 1513151, 1554045, 1595423, 1637284, 1679626,
1722448, 1765748, 1809525, 1853779, 1898506, 1943707, 1989380, 2035525,
2082138, 2129220, 2176770, 2224785, 2273266, 2322211, 2371618, 2421487,
2471817, 2522607, 2573855, 2625561, 2677723, 2730341, 2783413, 2836939,
2890918, 2945349, 3000230, 3055561, 3111341, 3167569, 3224244, 3281365,
3338932, 3396943, 3455398, 3514296, 3573636, 3633417, 3693639, 3754300,
3815399, 3876937, 3938912, 4001324, 4064171, 4127453, 4191169, 4255319,
4319901, 4384916, 4450361, 4516237, 4582544, 4649279, 4716443, 4784034,
4852053, 4920498, 4989369, 5058665, 5128385, 5198530, 5269097, 5340087,
5411499, 5483333, 5555587, 5628261, 5701354, 5774867, 5848798, 5923146,
5997912, 6073094, 6148692, 6224705, 6301133, 6377976, 6455232, 6532901,
6610983, 6689477, 6768382, 6847698, 6927425, 7007562, 7088108, 7169063,
7250426, 7332197, 7414376, 7496961, 7579953, 7663350, 7747153, 7831361,
7915973, 8000988, 8086408, 8172230, 8258454, 8345081, 8432109, 8519538,
8607368, 8695598, 8784228, 8873256, 8962684, 9052510, 9142734, 9233355,
9324373, 9415788, 9507599, 9599806, 9692408, 9785405, 9878797, 9972582,
10066762, 10161334, 10256299, 10351657, 10447407, 10543548, 10640080, 10737004,
10834318, 10932021, 11030115, 11128598, 11227469, 11326729, 11426377, 11526413,
11626837, 11727647, 11828844, 11930427, 12032396, 12134751, 12237490, 12340615,
12444124, 12548017, 12652294, 12756954, 12861997, 12967423, 13073231, 13179421,
13285993, 13392946, 13500280, 13607994, 13716089, 13824564, 13933418, 14042652,
14152265, 14262256, 14372626, 14483373, 14594499, 14706001, 14817881, 14930137,
15042770, 15155778, 15269163, 15382923, 15497058, 15611568, 15726452, 15841711,
15957344, 16073350, 16189729, 16306482, 16423607, 16541105, 16658974, 16777216,
};
static int gamma_curve_1p85[] = {
0, 592, 2136, 4522, 7699, 11634, 16300, 21680,
27755, 34512, 41939, 50026, 58763, 68142, 78155, 88795,
100056, 111931, 124416, 137504, 151191, 165473, 180344, 195802,
211842, 228460, 245653, 263417, 281749, 300647, 320107, 340126,
360702, 381831, 403512, 425742, 448518, 471839, 495701, 520104,
545044, 570520, 596529, 623071, 650142, 677741, 705866, 734517,
763690, 793384, 823598, 854329, 885578, 917341, 949618, 982407,
1015707, 1049516, 1083833, 1118657, 1153986, 1189819, 1226154, 1262992,
1300330, 1338167, 1376502, 1415334, 1454662, 1494484, 1534801, 1575609,
1616909, 1658700, 1700980, 1743749, 1787005, 1830747, 1874975, 1919688,
1964885, 2010564, 2056725, 2103367, 2150489, 2198091, 2246170, 2294728,
2343762, 2393272, 2443257, 2493717, 2544650, 2596056, 2647934, 2700283,
2753102, 2806392, 2860150, 2914377, 2969071, 3024232, 3079859, 3135952,
3192510, 3249532, 3307017, 3364965, 3423375, 3482247, 3541580, 3601373,
3661625, 3722337, 3783507, 3845135, 3907220, 3969761, 4032759, 4096212,
4160120, 4224482, 4289298, 4354567, 4420289, 4486463, 4553088, 4620165,
4687691, 4755668, 4824094, 4892969, 4962292, 5032063, 5102282, 5172947,
5244059, 5315616, 5387619, 5460067, 5532959, 5606295, 5680074, 5754296,
5828961, 5904068, 5979617, 6055606, 6132037, 6208907, 6286217, 6363967,
6442155, 6520782, 6599847, 6679350, 6759290, 6839666, 6920479, 7001728,
7083412, 7165532, 7248086, 7331074, 7414497, 7498353, 7582642, 7667363,
7752517, 7838103, 7924120, 8010569, 8097448, 8184758, 8272498, 8360668,
8449266, 8538294, 8627750, 8717635, 8807947, 8898687, 8989854, 9081448,
9173468, 9265914, 9358786, 9452083, 9545806, 9639953, 9734524, 9829520,
9924939, 10020781, 10117047, 10213735, 10310846, 10408379, 10506333, 10604709,
10703506, 10802724, 10902362, 11002420, 11102899, 11203796, 11305113, 11406849,
11509004, 11611577, 11714567, 11817976, 11921802, 12026045, 12130705, 12235781,
12341274, 12447183, 12553507, 12660247, 12767402, 12874971, 12982955, 13091354,
13200166, 13309392, 13419032, 13529084, 13639550, 13750428, 13861718, 13973420,
14085535, 14198060, 14310997, 14424345, 14538104, 14652273, 14766852, 14881842,
14997241, 15113049, 15229267, 15345893, 15462928, 15580372, 15698224, 15816483,
15935151, 16054225, 16173707, 16293596, 16413892, 16534594, 16655702, 16777216,
};
static int gamma_curve_1p90[] = {
0, 449, 1676, 3621, 6255, 9557, 13514, 18113,
23343, 29198, 35669, 42750, 50436, 58720, 67598, 77067,
87121, 97757, 108971, 120761, 133122, 146053, 159550, 173611,
188233, 203413, 219151, 235442, 252286, 269681, 287623, 306112,
325146, 344723, 364841, 385499, 406695, 428427, 450695, 473496,
496830, 520694, 545089, 570012, 595461, 621437, 647938, 674962,
702509, 730577, 759166, 788273, 817899, 848043, 878702, 909877,
941566, 973769, 1006484, 1039710, 1073448, 1107695, 1142451, 1177716,
1213488, 1249767, 1286551, 1323841, 1361634, 1399932, 1438732, 1478034,
1517838, 1558142, 1598946, 1640250, 1682052, 1724352, 1767150, 1810444,
1854234, 1898520, 1943300, 1988575, 2034343, 2080604, 2127358, 2174604,
2222341, 2270568, 2319286, 2368494, 2418190, 2468375, 2519048, 2570209,
2621856, 2673990, 2726610, 2779716, 2833306, 2887381, 2941940, 2996983,
3052509, 3108517, 3165007, 3221979, 3279432, 3337366, 3395781, 3454675,
3514049, 3573902, 3634233, 3695043, 3756330, 3818095, 3880336, 3943054,
4006249, 4069919, 4134064, 4198685, 4263780, 4329349, 4395392, 4461908,
4528898, 4596360, 4664294, 4732700, 4801578, 4870928, 4940748, 5011038,
5081799, 5153030, 5224730, 5296899, 5369537, 5442643, 5516218, 5590260,
5664770, 5739747, 5815191, 5891101, 5967478, 6044320, 6121628, 6199401,
6277639, 6356342, 6435509, 6515140, 6595235, 6675793, 6756815, 6838299,
6920246, 7002655, 7085526, 7168858, 7252652, 7336908, 7421624, 7506800,
7592437, 7678534, 7765090, 7852106, 7939581, 8027515, 8115908, 8204759,
8294069, 8383836, 8474060, 8564743, 8655882, 8747478, 8839530, 8932039,
9025004, 9118425, 9212302, 9306633, 9401420, 9496662, 9592358, 9688509,
9785114, 9882173, 9979685, 10077651, 10176070, 10274942, 10374267, 10474044,
10574274, 10674955, 10776089, 10877674, 10979710, 11082198, 11185136, 11288525,
11392365, 11496655, 11601395, 11706585, 11812224, 11918313, 12024852, 12131839,
12239275, 12347159, 12455492, 12564273, 12673502, 12783179, 12893303, 13003875,
13114894, 13226360, 13338273, 13450632, 13563437, 13676689, 13790387, 13904530,
14019119, 14134153, 14249633, 14365558, 14481927, 14598741, 14716000, 14833703,
14951849, 15070440, 15189474, 15308952, 15428874, 15549238, 15670045, 15791296,
15912988, 16035124, 16157701, 16280721, 16404182, 16528085, 16652430, 16777216,
};
static int gamma_curve_1p95[] = {
0, 340, 1315, 2900, 5081, 7852, 11204, 15132,
19633, 24702, 30337, 36533, 43288, 50601, 58468, 66887,
75858, 85377, 95444, 106056, 117213, 128912, 141153, 153934,
167255, 181113, 195508, 210439, 225904, 241904, 258436, 275500,
293095, 311221, 329876, 349059, 368771, 389009, 409774, 431065,
452880, 475220, 498084, 521471, 545380, 569811, 594764, 620237,
646230, 672743, 699774, 727325, 755393, 783979, 813082, 842702,
872837, 903488, 934655, 966336, 998531, 1031240, 1064462, 1098198,
1132446, 1167206, 1202478, 1238262, 1274556, 1311361, 1348676, 1386501,
1424836, 1463680, 1503033, 1542894, 1583263, 1624140, 1665524, 1707416,
1749815, 1792719, 1836131, 1880048, 1924470, 1969398, 2014831, 2060768,
2107210, 2154156, 2201605, 2249558, 2298015, 2346974, 2396436, 2446401,
2496867, 2547836, 2599306, 2651277, 2703750, 2756724, 2810198, 2864172,
2918647, 2973621, 3029096, 3085069, 3141542, 3198514, 3255984, 3313953,
3372420, 3431385, 3490849, 3550809, 3611267, 3672222, 3733675, 3795623,
3858069, 3921011, 3984448, 4048382, 4112812, 4177737, 4243157, 4309072,
4375483, 4442388, 4509788, 4577681, 4646070, 4714952, 4784328, 4854197,
4924560, 4995416, 5066765, 5138607, 5210942, 5283769, 5357088, 5430900,
5505204, 5579999, 5655287, 5731065, 5807335, 5884096, 5961348, 6039091,
6117325, 6196049, 6275263, 6354968, 6435162, 6515847, 6597021, 6678685,
6760838, 6843480, 6926611, 7010232, 7094341, 7178939, 7264025, 7349599,
7435662, 7522213, 7609252, 7696778, 7784792, 7873294, 7962282, 8051758,
8141722, 8232172, 8323108, 8414532, 8506442, 8598838, 8691720, 8785089,
8878944, 8973284, 9068110, 9163422, 9259219, 9355501, 9452269, 9549521,
9647259, 9745481, 9844188, 9943380, 10043056, 10143216, 10243861, 10344989,
10446602, 10548698, 10651278, 10754341, 10857888, 10961919, 11066432, 11171429,
11276908, 11382871, 11489316, 11596244, 11703654, 11811547, 11919922, 12028779,
12138118, 12247939, 12358242, 12469027, 12580293, 12692041, 12804271, 12916981,
13030173, 13143846, 13258000, 13372634, 13487750, 13603346, 13719422, 13835979,
13953017, 14070534, 14188532, 14307010, 14425968, 14545405, 14665322, 14785719,
14906595, 15027951, 15149786, 15272101, 15394894, 15518167, 15641918, 15766148,
15890857, 16016045, 16141711, 16267855, 16394478, 16521579, 16649159, 16777216,
};
static int gamma_curve_2p00[] = {
0, 258, 1032, 2322, 4128, 6450, 9288, 12643,
16513, 20899, 25801, 31219, 37154, 43604, 50570, 58053,
66051, 74565, 83596, 93142, 103205, 113783, 124878, 136488,
148615, 161257, 174416, 188091, 202281, 216988, 232211, 247949,
264204, 280975, 298262, 316064, 334383, 353218, 372569, 392436,
412819, 433718, 455133, 477064, 499511, 522474, 545953, 569948,
594459, 619486, 645029, 671089, 697664, 724755, 752362, 780486,
809125, 838280, 867952, 898139, 928842, 960062, 991797, 1024049,
1056816, 1090100, 1123899, 1158215, 1193046, 1228394, 1264258, 1300637,
1337533, 1374945, 1412873, 1451316, 1490276, 1529752, 1569744, 1610252,
1651275, 1692815, 1734871, 1777443, 1820531, 1864135, 1908255, 1952891,
1998043, 2043711, 2089895, 2136596, 2183812, 2231544, 2279792, 2328556,
2377837, 2427633, 2477945, 2528773, 2580118, 2631978, 2684355, 2737247,
2790655, 2844580, 2899020, 2953977, 3009449, 3065438, 3121943, 3178963,
3236500, 3294552, 3353121, 3412206, 3471807, 3531923, 3592556, 3653705,
3715370, 3777550, 3840247, 3903460, 3967189, 4031434, 4096195, 4161472,
4227265, 4293574, 4360399, 4427740, 4495597, 4563970, 4632860, 4702265,
4772186, 4842623, 4913576, 4985046, 5057031, 5129532, 5202550, 5276083,
5350132, 5424698, 5499779, 5575377, 5651490, 5728120, 5805265, 5882927,
5961104, 6039798, 6119007, 6198733, 6278975, 6359732, 6441006, 6522796,
6605102, 6687923, 6771261, 6855115, 6939485, 7024371, 7109773, 7195691,
7282124, 7369074, 7456540, 7544522, 7633021, 7722035, 7811565, 7901611,
7992173, 8083251, 8174845, 8266955, 8359582, 8452724, 8546382, 8640557,
8735247, 8830453, 8926176, 9022414, 9119168, 9216439, 9314225, 9412528,
9511346, 9610681, 9710531, 9810898, 9911781, 10013179, 10115094, 10217525,
10320471, 10423934, 10527913, 10632407, 10737418, 10842945, 10948988, 11055547,
11162622, 11270213, 11378320, 11486942, 11596081, 11705736, 11815907, 11926595,
12037798, 12149517, 12261752, 12374503, 12487770, 12601553, 12715853, 12830668,
12945999, 13061846, 13178210, 13295089, 13412484, 13530396, 13648823, 13767767,
13887226, 14007202, 14127693, 14248701, 14370224, 14492264, 14614819, 14737891,
14861479, 14985582, 15110202, 15235338, 15360989, 15487157, 15613841, 15741041,
15868757, 15996988, 16125736, 16255000, 16384780, 16515076, 16645888, 16777216,
};
static int gamma_curve_2p05[] = {
0, 196, 810, 1860, 3354, 5299, 7701, 10562,
13888, 17681, 21944, 26679, 31888, 37575, 43740, 50385,
57512, 65123, 73219, 81801, 90871, 100430, 110479, 121019,
132052, 143579, 155599, 168116, 181128, 194638, 208646, 223154,
238161, 253668, 269677, 286188, 303202, 320720, 338742, 357269,
376301, 395840, 415885, 436438, 457499, 479069, 501148, 523737,
546836, 570446, 594567, 619201, 644346, 670005, 696177, 722863,
750063, 777779, 806009, 834755, 864018, 893797, 924093, 954906,
986237, 1018087, 1050455, 1083343, 1116750, 1150676, 1185123, 1220091,
1255579, 1291589, 1328121, 1365174, 1402750, 1440849, 1479471, 1518616,
1558285, 1598479, 1639196, 1680438, 1722206, 1764499, 1807317, 1850662,
1894532, 1938930, 1983854, 2029305, 2075284, 2121791, 2168826, 2216389,
2264480, 2313101, 2362251, 2411930, 2462139, 2512878, 2564147, 2615946,
2668277, 2721138, 2774531, 2828455, 2882911, 2937899, 2993419, 3049472,
3106057, 3163176, 3220828, 3279013, 3337732, 3396984, 3456771, 3517093,
3577948, 3639339, 3701265, 3763726, 3826723, 3890255, 3954323, 4018927,
4084068, 4149745, 4215959, 4282710, 4349998, 4417824, 4486187, 4555088,
4624527, 4694504, 4765019, 4836073, 4907666, 4979798, 5052469, 5125679,
5199429, 5273718, 5348548, 5423917, 5499827, 5576277, 5653268, 5730800,
5808873, 5887487, 5966642, 6046339, 6126578, 6207358, 6288681, 6370546,
6452953, 6535903, 6619395, 6703431, 6788009, 6873131, 6958796, 7045005,
7131757, 7219054, 7306894, 7395279, 7484208, 7573681, 7663700, 7754263,
7845371, 7937025, 8029223, 8121967, 8215257, 8309093, 8403474, 8498402,
8593876, 8689896, 8786463, 8883576, 8981236, 9079443, 9178198, 9277499,
9377348, 9477745, 9578689, 9680181, 9782221, 9884809, 9987946, 10091630,
10195864, 10300646, 10405976, 10511856, 10618285, 10725263, 10832790, 10940867,
11049493, 11158669, 11268395, 11378671, 11489498, 11600874, 11712801, 11825278,
11938306, 12051885, 12166015, 12280695, 12395927, 12511711, 12628045, 12744931,
12862369, 12980359, 13098900, 13217993, 13337639, 13457837, 13578587, 13699890,
13821746, 13944154, 14067115, 14190629, 14314696, 14439316, 14564490, 14690217,
14816498, 14943333, 15070721, 15198663, 15327159, 15456210, 15585814, 15715973,
15846687, 15977955, 16109778, 16242155, 16375088, 16508575, 16642618, 16777216,
};
static int gamma_curve_2p10[] = {
0, 148, 636, 1489, 2725, 4353, 6384, 8825,
11681, 14959, 18663, 22799, 27369, 32379, 37832, 43730,
50077, 56876, 64129, 71840, 80011, 88643, 97740, 107304,
117335, 127838, 138813, 150262, 162188, 174591, 187474, 200838,
214684, 229015, 243832, 259136, 274929, 291212, 307986, 325253,
343014, 361270, 380022, 399272, 419021, 439270, 460020, 481272,
503028, 525288, 548053, 571325, 595104, 619391, 644188, 669495,
695313, 721644, 748487, 775845, 803717, 832105, 861010, 890432,
920372, 950832, 981811, 1013311, 1045332, 1077876, 1110942, 1144532,
1178647, 1213287, 1248453, 1284145, 1320365, 1357113, 1394390, 1432196,
1470532, 1509399, 1548797, 1588728, 1629191, 1670188, 1711718, 1753783,
1796384, 1839520, 1883193, 1927403, 1972150, 2017436, 2063260, 2109624,
2156528, 2203972, 2251958, 2300485, 2349554, 2399167, 2449322, 2500021,
2551265, 2603053, 2655387, 2708267, 2761693, 2815666, 2870187, 2925255,
2980872, 3037038, 3093753, 3151019, 3208834, 3267201, 3326119, 3385588,
3445610, 3506185, 3567313, 3628994, 3691230, 3754020, 3817365, 3881265,
3945722, 4010734, 4076304, 4142431, 4209115, 4276357, 4344158, 4412517,
4481436, 4550915, 4620954, 4691553, 4762713, 4834434, 4906717, 4979563,
5052970, 5126941, 5201475, 5276573, 5352234, 5428460, 5505251, 5582608,
5660529, 5739017, 5818071, 5897692, 5977880, 6058635, 6139958, 6221849,
6304309, 6387337, 6470935, 6555102, 6639840, 6725147, 6811025, 6897475,
6984495, 7072087, 7160251, 7248987, 7338297, 7428179, 7518634, 7609663,
7701266, 7793443, 7886195, 7979522, 8073424, 8167902, 8262956, 8358586,
8454792, 8551576, 8648936, 8746874, 8845390, 8944484, 9044157, 9144408,
9245238, 9346648, 9448637, 9551206, 9654355, 9758085, 9862396, 9967287,
10072761, 10178815, 10285452, 10392671, 10500473, 10608858, 10717825, 10827377,
10937511, 11048230, 11159533, 11271421, 11383894, 11496951, 11610594, 11724823,
11839637, 11955038, 12071025, 12187599, 12304760, 12422508, 12540844, 12659767,
12779279, 12899379, 13020068, 13141345, 13263212, 13385667, 13508713, 13632348,
13756574, 13881390, 14006796, 14132794, 14259383, 14386563, 14514334, 14642698,
14771654, 14901202, 15031343, 15162077, 15293404, 15425324, 15557838, 15690946,
15824648, 15958944, 16093835, 16229320, 16365401, 16502077, 16639349, 16777216,
};
static int gamma_curve_2p12[] = {
0, 133, 577, 1363, 2507, 4024, 5923, 8212,
10899, 13991, 17493, 21410, 25747, 30508, 35698, 41321,
47379, 53877, 60818, 68204, 76039, 84326, 93066, 102263,
111919, 122036, 132617, 143663, 155178, 167162, 179619, 192549,
205955, 219839, 234202, 249046, 264372, 280183, 296480, 313265,
330538, 348302, 366558, 385308, 404552, 424292, 444530, 465267,
486504, 508242, 530483, 553227, 576477, 600233, 624496, 649267,
674549, 700341, 726645, 753461, 780792, 808638, 836999, 865878,
895275, 925190, 955626, 986582, 1018061, 1050062, 1082586, 1115636,
1149211, 1183312, 1217940, 1253097, 1288782, 1324997, 1361743, 1399021,
1436830, 1475173, 1514050, 1553461, 1593407, 1633890, 1674910, 1716467,
1758563, 1801198, 1844373, 1888089, 1932346, 1977145, 2022487, 2068373,
2114802, 2161776, 2209296, 2257363, 2305976, 2355136, 2404845, 2455103,
2505910, 2557267, 2609175, 2661634, 2714645, 2768209, 2822326, 2876997,
2932222, 2988003, 3044339, 3101231, 3158680, 3216687, 3275251, 3334374,
3394056, 3454297, 3515099, 3576461, 3638385, 3700871, 3763919, 3827530,
3891704, 3956443, 4021746, 4087614, 4154047, 4221047, 4288613, 4356747,
4425448, 4494717, 4564554, 4634961, 4705937, 4777484, 4849601, 4922289,
4995549, 5069380, 5143785, 5218762, 5294312, 5370437, 5447136, 5524409,
5602258, 5680683, 5759684, 5839261, 5919416, 6000148, 6081458, 6163347,
6245814, 6328861, 6412488, 6496694, 6581482, 6666850, 6752800, 6839331,
6926445, 7014142, 7102421, 7191284, 7280732, 7370763, 7461379, 7552581,
7644368, 7736741, 7829700, 7923246, 8017379, 8112100, 8207409, 8303306,
8399791, 8496866, 8594530, 8692785, 8791629, 8891064, 8991090, 9091707,
9192917, 9294718, 9397112, 9500098, 9603678, 9707851, 9812619, 9917980,
10023936, 10130488, 10237634, 10345377, 10453715, 10562650, 10672182, 10782311,
10893037, 11004361, 11116284, 11228804, 11341924, 11455643, 11569961, 11684880,
11800398, 11916517, 12033237, 12150558, 12268481, 12387006, 12506132, 12625862,
12746194, 12867129, 12988668, 13110810, 13233557, 13356908, 13480864, 13605425,
13730591, 13856363, 13982742, 14109726, 14237317, 14365515, 14494321, 14623733,
14753754, 14884383, 15015621, 15147467, 15279922, 15412987, 15546661, 15680946,
15815841, 15951346, 16087462, 16224189, 16361528, 16499479, 16638041, 16777216,
};
static int gamma_curve_2p13[] = {
0, 126, 550, 1303, 2405, 3869, 5705, 7922,
10529, 13531, 16935, 20747, 24972, 29613, 34677, 40166,
46086, 52438, 59227, 66456, 74128, 82246, 90813, 99832,
109305, 119234, 129623, 140473, 151787, 163568, 175816, 188534,
201725, 215389, 229530, 244149, 259247, 274827, 290890, 307438,
324472, 341994, 360006, 378510, 397506, 416996, 436982, 457465,
478446, 499927, 521910, 544395, 567383, 590877, 614877, 639384,
664400, 689926, 715964, 742513, 769576, 797153, 825246, 853856,
882984, 912630, 942796, 973484, 1004693, 1036425, 1068681, 1101462,
1134769, 1168603, 1202965, 1237855, 1273275, 1309226, 1345708, 1382722,
1420270, 1458352, 1496969, 1536122, 1575811, 1616038, 1656804, 1698108,
1739953, 1782338, 1825265, 1868734, 1912746, 1957303, 2002404, 2048050,
2094243, 2140982, 2188270, 2236105, 2284490, 2333425, 2382910, 2432947,
2483535, 2534676, 2586371, 2638619, 2691423, 2744781, 2798696, 2853167,
2908196, 2963783, 3019928, 3076633, 3133898, 3191723, 3250109, 3309058,
3368568, 3428642, 3489279, 3550481, 3612248, 3674579, 3737477, 3800942,
3864974, 3929573, 3994741, 4060478, 4126784, 4193661, 4261108, 4329126,
4397716, 4466878, 4536613, 4606922, 4677804, 4749261, 4821293, 4893900,
4967083, 5040843, 5115180, 5190094, 5265587, 5341658, 5418308, 5495538,
5573348, 5651738, 5730710, 5810264, 5890399, 5971117, 6052418, 6134302,
6216771, 6299824, 6383462, 6467686, 6552495, 6637891, 6723874, 6810444,
6897601, 6985347, 7073682, 7162605, 7252119, 7342222, 7432916, 7524200,
7616076, 7708544, 7801604, 7895257, 7989503, 8084342, 8179775, 8275803,
8372425, 8469643, 8567456, 8665865, 8764871, 8864474, 8964674, 9065471,
9166867, 9268861, 9371454, 9474647, 9578439, 9682831, 9787824, 9893418,
9999613, 10106410, 10213809, 10321810, 10430415, 10539622, 10649433, 10759848,
10870868, 10982492, 11094722, 11207557, 11320998, 11435045, 11549699, 11664959,
11780828, 11897304, 12014388, 12132080, 12250382, 12369292, 12488813, 12608943,
12729683, 12851034, 12972996, 13095569, 13218754, 13342552, 13466961, 13591983,
13717618, 13843867, 13970730, 14098206, 14226297, 14355003, 14484324, 14614260,
14744813, 14875981, 15007766, 15140167, 15273186, 15406822, 15541076, 15675948,
15811439, 15947548, 16084276, 16221624, 16359592, 16498179, 16637387, 16777216,
};
static int gamma_curve_2p15[] = {
0, 112, 499, 1193, 2214, 3576, 5293, 7373,
9824, 12656, 15873, 19483, 23491, 27902, 32722, 37954,
43603, 49673, 56169, 63093, 70449, 78240, 86470, 95142,
104259, 113823, 123837, 134305, 145227, 156608, 168449, 180753,
193522, 206759, 220464, 234641, 249292, 264419, 280023, 296106,
312671, 329719, 347252, 365271, 383779, 402778, 422268, 442251,
462729, 483704, 505178, 527150, 549624, 572600, 596081, 620067,
644559, 669560, 695070, 721091, 747625, 774672, 802233, 830311,
858906, 888019, 917652, 947806, 978482, 1009681, 1041404, 1073653,
1106429, 1139732, 1173564, 1207926, 1242819, 1278243, 1314201, 1350693,
1387720, 1425284, 1463384, 1502022, 1541200, 1580917, 1621176, 1661977,
1703320, 1745207, 1787639, 1830617, 1874141, 1918213, 1962833, 2008003,
2053722, 2099992, 2146815, 2194190, 2242118, 2290601, 2339639, 2389233,
2439384, 2490093, 2541360, 2593186, 2645572, 2698519, 2752028, 2806099,
2860733, 2915930, 2971693, 3028021, 3084915, 3142376, 3200404, 3259001,
3318167, 3377902, 3438208, 3499085, 3560534, 3622555, 3685150, 3748319,
3812062, 3876380, 3941275, 4006746, 4072794, 4139420, 4206625, 4274409,
4342773, 4411718, 4481244, 4551351, 4622041, 4693314, 4765171, 4837612,
4910637, 4984249, 5058446, 5133231, 5208602, 5284562, 5361110, 5438247,
5515974, 5594291, 5673200, 5752699, 5832791, 5913475, 5994752, 6076623,
6159089, 6242149, 6325805, 6410056, 6494905, 6580350, 6666393, 6753034,
6840273, 6928112, 7016551, 7105590, 7195230, 7285471, 7376314, 7467759,
7559808, 7652459, 7745715, 7839575, 7934040, 8029111, 8124787, 8221070,
8317960, 8415457, 8513563, 8612276, 8711599, 8811531, 8912073, 9013226,
9114989, 9217364, 9320350, 9423949, 9528160, 9632985, 9738424, 9844476,
9951144, 10058426, 10166324, 10274838, 10383969, 10493716, 10604081, 10715064,
10826664, 10938884, 11051723, 11165181, 11279260, 11393959, 11509279, 11625220,
11741784, 11858969, 11976777, 12095208, 12214263, 12333942, 12454245, 12575173,
12696726, 12818905, 12941710, 13065141, 13189199, 13313885, 13439198, 13565140,
13691709, 13818908, 13946737, 14075195, 14204283, 14334002, 14464351, 14595333,
14726945, 14859190, 14992068, 15125579, 15259722, 15394500, 15529912, 15665958,
15802639, 15939955, 16077908, 16216496, 16355720, 16495581, 16636080, 16777216,
};
static int gamma_curve_2p20[] = {
0, 85, 391, 955, 1798, 2938, 4388, 6160,
8263, 10707, 13500, 16649, 20162, 24044, 28302, 32941,
37966, 43383, 49196, 55410, 62029, 69058, 76500, 84359,
92640, 101344, 110477, 120042, 130041, 140478, 151356, 162677,
174446, 186665, 199336, 212462, 226046, 240091, 254598, 269571,
285012, 300923, 317307, 334166, 351502, 369317, 387613, 406394,
425659, 445413, 465656, 486391, 507620, 529345, 551566, 574288,
597510, 621235, 645466, 670202, 695447, 721202, 747469, 774249,
801544, 829356, 857686, 886535, 915906, 945800, 976219, 1007163,
1038635, 1070636, 1103167, 1136230, 1169826, 1203957, 1238624, 1273829,
1309572, 1345856, 1382681, 1420049, 1457961, 1496419, 1535423, 1574976,
1615078, 1655730, 1696934, 1738692, 1781003, 1823870, 1867294, 1911276,
1955817, 2000918, 2046581, 2092806, 2139595, 2186948, 2234868, 2283355,
2332410, 2382034, 2432229, 2482995, 2534333, 2586246, 2638733, 2691795,
2745435, 2799652, 2854448, 2909824, 2965781, 3022320, 3079441, 3137147,
3195437, 3254313, 3313776, 3373826, 3434466, 3495695, 3557515, 3619926,
3682930, 3746527, 3810719, 3875505, 3940889, 4006869, 4073447, 4140624,
4208401, 4276778, 4345758, 4415339, 4485524, 4556313, 4627707, 4699707,
4772314, 4845528, 4919351, 4993783, 5068825, 5144478, 5220742, 5297620,
5375110, 5453215, 5531935, 5611271, 5691223, 5771793, 5852981, 5934787,
6017214, 6100261, 6183930, 6268220, 6353133, 6438670, 6524831, 6611618,
6699030, 6787069, 6875735, 6965029, 7054952, 7145505, 7236688, 7328502,
7420948, 7514026, 7607737, 7702083, 7797062, 7892678, 7988929, 8085817,
8183342, 8281506, 8380308, 8479750, 8579832, 8680555, 8781919, 8883925,
8986575, 9089868, 9193805, 9298388, 9403615, 9509489, 9616010, 9723179,
9830995, 9939461, 10048576, 10158341, 10268757, 10379824, 10491543, 10603916,
10716941, 10830620, 10944954, 11059943, 11175588, 11291890, 11408848, 11526464,
11644739, 11763672, 11883265, 12003518, 12124432, 12246007, 12368244, 12491144,
12614706, 12738933, 12863823, 12989379, 13115600, 13242487, 13370041, 13498262,
13627151, 13756708, 13886934, 14017830, 14149396, 14281633, 14414541, 14548120,
14682372, 14817297, 14952896, 15089168, 15226115, 15363738, 15502036, 15641010,
15780661, 15920990, 16061996, 16203681, 16346045, 16489088, 16632812, 16777216,
};
static int gamma_curve_2p25[] = {
0, 65, 307, 765, 1461, 2414, 3638, 5146,
6950, 9058, 11482, 14228, 17305, 20719, 24479, 28590,
33058, 37889, 43089, 48663, 54616, 60953, 67679, 74798,
82315, 90234, 98559, 107293, 116442, 126009, 135996, 146409,
157250, 168524, 180232, 192379, 204968, 218001, 231482, 245414,
259800, 274643, 289945, 305709, 321939, 338636, 355803, 373443,
391559, 410153, 429227, 448784, 468826, 489356, 510376, 531888,
553895, 576399, 599401, 622905, 646911, 671424, 696443, 721973,
748013, 774568, 801638, 829226, 857333, 885962, 915114, 944791,
974995, 1005729, 1036993, 1068790, 1101121, 1133988, 1167394, 1201339,
1235825, 1270854, 1306429, 1342549, 1379218, 1416436, 1454206, 1492529,
1531407, 1570840, 1610832, 1651382, 1692494, 1734168, 1776406, 1819209,
1862579, 1906518, 1951026, 1996106, 2041759, 2087986, 2134789, 2182168,
2230127, 2278665, 2327784, 2377486, 2427772, 2478644, 2530102, 2582148,
2634784, 2688011, 2741829, 2796241, 2851248, 2906850, 2963050, 3019848,
3077247, 3135246, 3193847, 3253052, 3312862, 3373277, 3434300, 3495931,
3558172, 3621023, 3684487, 3748564, 3813255, 3878561, 3944485, 4011026,
4078186, 4145966, 4214368, 4283392, 4353039, 4423311, 4494209, 4565734,
4637886, 4710668, 4784080, 4858123, 4932798, 5008107, 5084050, 5160629,
5237844, 5315697, 5394188, 5473320, 5553092, 5633505, 5714562, 5796262,
5878607, 5961598, 6045236, 6129522, 6214456, 6300041, 6386276, 6473163,
6560703, 6648897, 6737745, 6827249, 6917410, 7008228, 7099705, 7191841,
7284638, 7378097, 7472217, 7567001, 7662450, 7758563, 7855342, 7952789,
8050903, 8149686, 8249139, 8349262, 8450057, 8551525, 8653665, 8756480,
8859970, 8964136, 9068979, 9174499, 9280698, 9387577, 9495136, 9603376,
9712298, 9821903, 9932191, 10043164, 10154823, 10267168, 10380200, 10493920,
10608329, 10723428, 10839217, 10955697, 11072869, 11190735, 11309294, 11428547,
11548496, 11669141, 11790483, 11912523, 12035261, 12158699, 12282837, 12407676,
12533216, 12659459, 12786406, 12914056, 13042411, 13171472, 13301240, 13431714,
13562897, 13694788, 13827389, 13960700, 14094721, 14229455, 14364901, 14501061,
14637934, 14775522, 14913826, 15052846, 15192582, 15333037, 15474210, 15616102,
15758714, 15902047, 16046101, 16190877, 16336375, 16482598, 16629544, 16777216,
};
#endif /* DIMMING_BITSHIFT == 26 */
#endif /* __DIMMING_GAMMA_H__ */