From 3084341f68baf43224a8ab6266af1c62608b2e41 Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn <hi@jhbruhn.de> Date: Fri, 17 Jul 2020 20:22:51 +0200 Subject: [PATCH] Make space by reducing useless high resolution led gamma tables --- stereo_mix/drivers/leds.h | 8 +- stereo_mix/resources.cc | 1514 ++++++++----------------- stereo_mix/resources.h | 4 +- stereo_mix/resources/lookup_tables.py | 7 +- 4 files changed, 510 insertions(+), 1023 deletions(-) diff --git a/stereo_mix/drivers/leds.h b/stereo_mix/drivers/leds.h index b2ea4de..a1f7af4 100644 --- a/stereo_mix/drivers/leds.h +++ b/stereo_mix/drivers/leds.h @@ -56,7 +56,7 @@ class Leds { htim1.Init.Prescaler = 1; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = 4095; // 12 bit + htim1.Init.Period = 1024; // 12 bit htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(&htim1); @@ -97,13 +97,13 @@ class Leds { if(targetColor == LED_COLOR_RED) { HAL_GPIO_WritePin(kGpioColorPorts[i], kGpioColorPins[i], GPIO_PIN_SET); - intensity = 65535 - lut_led_red_gamma[intensity >> 5]; + intensity = 65535 - lut_led_red_gamma[intensity >> 6]; } else if(targetColor == LED_COLOR_GREEN) { HAL_GPIO_WritePin(kGpioColorPorts[i], kGpioColorPins[i], GPIO_PIN_RESET); - intensity = lut_led_green_gamma[intensity >> 5]; + intensity = lut_led_green_gamma[intensity >> 6]; } - __HAL_TIM_SET_COMPARE(&htim1, timer_channel[i], intensity >> 4); + __HAL_TIM_SET_COMPARE(&htim1, timer_channel[i], (intensity >> 6)); } } diff --git a/stereo_mix/resources.cc b/stereo_mix/resources.cc index f6dcd86..93d434d 100644 --- a/stereo_mix/resources.cc +++ b/stereo_mix/resources.cc @@ -3117,1030 +3117,516 @@ const uint16_t lut_led_red_gamma[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, - 1, 1, 1, 1, - 1, 1, 2, 2, + 1, 1, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 3, - 3, 3, 3, 3, - 3, 3, 4, 4, - 4, 4, 4, 5, - 5, 5, 5, 5, - 6, 6, 6, 6, - 6, 7, 7, 7, - 7, 8, 8, 8, - 9, 9, 9, 9, - 10, 10, 10, 11, - 11, 11, 12, 12, - 12, 13, 13, 14, - 14, 14, 15, 15, - 16, 16, 16, 17, - 17, 18, 18, 19, - 19, 20, 20, 21, - 21, 22, 22, 23, - 23, 24, 24, 25, - 25, 26, 27, 27, - 28, 28, 29, 30, - 30, 31, 32, 32, - 33, 34, 34, 35, - 36, 37, 37, 38, - 39, 39, 40, 41, - 42, 43, 43, 44, - 45, 46, 47, 48, - 48, 49, 50, 51, - 52, 53, 54, 55, - 56, 57, 58, 59, - 60, 61, 62, 63, - 64, 65, 66, 67, - 68, 69, 70, 71, - 72, 73, 75, 76, - 77, 78, 79, 81, - 82, 83, 84, 85, - 87, 88, 89, 91, - 92, 93, 94, 96, - 97, 99, 100, 101, - 103, 104, 106, 107, - 108, 110, 111, 113, - 114, 116, 117, 119, - 121, 122, 124, 125, - 127, 129, 130, 132, - 133, 135, 137, 139, - 140, 142, 144, 145, - 147, 149, 151, 153, - 154, 156, 158, 160, - 162, 164, 166, 168, - 170, 172, 174, 176, - 178, 180, 182, 184, - 186, 188, 190, 192, - 194, 196, 198, 200, - 203, 205, 207, 209, - 211, 214, 216, 218, - 221, 223, 225, 228, - 230, 232, 235, 237, - 239, 242, 244, 247, - 249, 252, 254, 257, - 259, 262, 265, 267, - 270, 272, 275, 278, - 280, 283, 286, 289, - 291, 294, 297, 300, - 302, 305, 308, 311, - 314, 317, 320, 323, - 326, 329, 332, 335, - 338, 341, 344, 347, - 350, 353, 356, 359, - 362, 366, 369, 372, - 375, 378, 382, 385, - 388, 392, 395, 398, - 402, 405, 409, 412, - 415, 419, 422, 426, - 429, 433, 437, 440, - 444, 447, 451, 455, - 458, 462, 466, 469, - 473, 477, 481, 485, - 488, 492, 496, 500, - 504, 508, 512, 516, - 520, 524, 528, 532, - 536, 540, 544, 548, - 552, 557, 561, 565, - 569, 573, 578, 582, - 586, 591, 595, 599, - 604, 608, 613, 617, - 622, 626, 631, 635, - 640, 644, 649, 653, - 658, 663, 667, 672, - 677, 682, 686, 691, - 696, 701, 706, 711, - 715, 720, 725, 730, - 735, 740, 745, 750, - 755, 761, 766, 771, - 776, 781, 786, 792, - 797, 802, 807, 813, - 818, 823, 829, 834, - 840, 845, 851, 856, - 862, 867, 873, 878, - 884, 890, 895, 901, - 907, 912, 918, 924, - 930, 935, 941, 947, - 953, 959, 965, 971, - 977, 983, 989, 995, - 1001, 1007, 1013, 1019, - 1026, 1032, 1038, 1044, - 1051, 1057, 1063, 1070, - 1076, 1082, 1089, 1095, - 1102, 1108, 1115, 1121, - 1128, 1134, 1141, 1148, - 1154, 1161, 1168, 1174, - 1181, 1188, 1195, 1202, - 1209, 1215, 1222, 1229, - 1236, 1243, 1250, 1257, - 1264, 1271, 1279, 1286, - 1293, 1300, 1307, 1315, - 1322, 1329, 1336, 1344, - 1351, 1359, 1366, 1373, - 1381, 1388, 1396, 1404, - 1411, 1419, 1426, 1434, - 1442, 1449, 1457, 1465, - 1473, 1481, 1488, 1496, - 1504, 1512, 1520, 1528, - 1536, 1544, 1552, 1560, - 1568, 1577, 1585, 1593, - 1601, 1609, 1618, 1626, - 1634, 1643, 1651, 1659, - 1668, 1676, 1685, 1693, - 1702, 1711, 1719, 1728, - 1737, 1745, 1754, 1763, - 1771, 1780, 1789, 1798, - 1807, 1816, 1825, 1834, - 1843, 1852, 1861, 1870, - 1879, 1888, 1897, 1907, - 1916, 1925, 1934, 1944, - 1953, 1962, 1972, 1981, - 1991, 2000, 2010, 2019, - 2029, 2038, 2048, 2058, - 2067, 2077, 2087, 2097, - 2107, 2116, 2126, 2136, - 2146, 2156, 2166, 2176, - 2186, 2196, 2206, 2216, - 2227, 2237, 2247, 2257, - 2268, 2278, 2288, 2299, - 2309, 2320, 2330, 2341, - 2351, 2362, 2372, 2383, - 2394, 2404, 2415, 2426, - 2436, 2447, 2458, 2469, - 2480, 2491, 2502, 2513, - 2524, 2535, 2546, 2557, - 2568, 2579, 2591, 2602, - 2613, 2624, 2636, 2647, - 2659, 2670, 2681, 2693, - 2704, 2716, 2728, 2739, - 2751, 2763, 2774, 2786, - 2798, 2810, 2821, 2833, - 2845, 2857, 2869, 2881, - 2893, 2905, 2917, 2930, - 2942, 2954, 2966, 2978, - 2991, 3003, 3015, 3028, - 3040, 3053, 3065, 3078, - 3090, 3103, 3115, 3128, - 3141, 3154, 3166, 3179, - 3192, 3205, 3218, 3231, - 3244, 3257, 3270, 3283, - 3296, 3309, 3322, 3335, - 3348, 3362, 3375, 3388, - 3402, 3415, 3429, 3442, - 3455, 3469, 3483, 3496, - 3510, 3523, 3537, 3551, - 3565, 3578, 3592, 3606, - 3620, 3634, 3648, 3662, - 3676, 3690, 3704, 3718, - 3733, 3747, 3761, 3775, - 3790, 3804, 3818, 3833, - 3847, 3862, 3876, 3891, - 3905, 3920, 3935, 3949, - 3964, 3979, 3994, 4009, - 4024, 4038, 4053, 4068, - 4083, 4099, 4114, 4129, - 4144, 4159, 4174, 4190, - 4205, 4220, 4236, 4251, - 4267, 4282, 4298, 4313, - 4329, 4344, 4360, 4376, - 4392, 4407, 4423, 4439, - 4455, 4471, 4487, 4503, - 4519, 4535, 4551, 4567, - 4583, 4600, 4616, 4632, - 4648, 4665, 4681, 4698, - 4714, 4731, 4747, 4764, - 4780, 4797, 4814, 4831, - 4847, 4864, 4881, 4898, - 4915, 4932, 4949, 4966, - 4983, 5000, 5017, 5034, - 5052, 5069, 5086, 5104, - 5121, 5138, 5156, 5173, - 5191, 5208, 5226, 5244, - 5261, 5279, 5297, 5315, - 5332, 5350, 5368, 5386, - 5404, 5422, 5440, 5458, - 5477, 5495, 5513, 5531, - 5550, 5568, 5586, 5605, - 5623, 5642, 5660, 5679, - 5697, 5716, 5735, 5753, - 5772, 5791, 5810, 5829, - 5848, 5867, 5886, 5905, - 5924, 5943, 5962, 5981, - 6001, 6020, 6039, 6059, - 6078, 6097, 6117, 6136, - 6156, 6176, 6195, 6215, - 6235, 6254, 6274, 6294, - 6314, 6334, 6354, 6374, - 6394, 6414, 6434, 6454, - 6475, 6495, 6515, 6535, - 6556, 6576, 6597, 6617, - 6638, 6658, 6679, 6700, - 6720, 6741, 6762, 6783, - 6804, 6824, 6845, 6866, - 6887, 6908, 6930, 6951, - 6972, 6993, 7014, 7036, - 7057, 7079, 7100, 7122, - 7143, 7165, 7186, 7208, - 7230, 7251, 7273, 7295, - 7317, 7339, 7361, 7383, - 7405, 7427, 7449, 7471, - 7493, 7516, 7538, 7560, - 7583, 7605, 7627, 7650, - 7672, 7695, 7718, 7740, - 7763, 7786, 7809, 7831, - 7854, 7877, 7900, 7923, - 7946, 7969, 7993, 8016, - 8039, 8062, 8086, 8109, - 8132, 8156, 8179, 8203, - 8226, 8250, 8274, 8297, - 8321, 8345, 8369, 8393, - 8417, 8441, 8465, 8489, - 8513, 8537, 8561, 8585, - 8610, 8634, 8658, 8683, - 8707, 8732, 8756, 8781, - 8805, 8830, 8855, 8880, - 8904, 8929, 8954, 8979, - 9004, 9029, 9054, 9079, - 9104, 9130, 9155, 9180, - 9206, 9231, 9256, 9282, - 9307, 9333, 9359, 9384, - 9410, 9436, 9462, 9487, - 9513, 9539, 9565, 9591, - 9617, 9643, 9670, 9696, - 9722, 9748, 9775, 9801, - 9827, 9854, 9881, 9907, - 9934, 9960, 9987, 10014, - 10041, 10067, 10094, 10121, - 10148, 10175, 10202, 10230, - 10257, 10284, 10311, 10339, - 10366, 10393, 10421, 10448, - 10476, 10503, 10531, 10559, - 10586, 10614, 10642, 10670, - 10698, 10726, 10754, 10782, - 10810, 10838, 10866, 10895, - 10923, 10951, 10980, 11008, - 11037, 11065, 11094, 11122, - 11151, 11180, 11208, 11237, - 11266, 11295, 11324, 11353, - 11382, 11411, 11440, 11469, - 11499, 11528, 11557, 11587, - 11616, 11646, 11675, 11705, - 11734, 11764, 11794, 11824, - 11853, 11883, 11913, 11943, - 11973, 12003, 12033, 12064, - 12094, 12124, 12154, 12185, - 12215, 12245, 12276, 12307, - 12337, 12368, 12398, 12429, - 12460, 12491, 12522, 12553, - 12584, 12615, 12646, 12677, - 12708, 12739, 12771, 12802, - 12833, 12865, 12896, 12928, - 12959, 12991, 13023, 13055, - 13086, 13118, 13150, 13182, - 13214, 13246, 13278, 13310, - 13342, 13375, 13407, 13439, - 13472, 13504, 13536, 13569, - 13602, 13634, 13667, 13700, - 13732, 13765, 13798, 13831, - 13864, 13897, 13930, 13963, - 13996, 14030, 14063, 14096, - 14130, 14163, 14197, 14230, - 14264, 14297, 14331, 14365, - 14399, 14433, 14466, 14500, - 14534, 14568, 14603, 14637, - 14671, 14705, 14739, 14774, - 14808, 14843, 14877, 14912, - 14946, 14981, 15016, 15051, - 15085, 15120, 15155, 15190, - 15225, 15260, 15295, 15331, - 15366, 15401, 15436, 15472, - 15507, 15543, 15578, 15614, - 15650, 15685, 15721, 15757, - 15793, 15829, 15865, 15901, - 15937, 15973, 16009, 16045, - 16082, 16118, 16154, 16191, - 16227, 16264, 16300, 16337, - 16374, 16411, 16447, 16484, - 16521, 16558, 16595, 16632, - 16669, 16707, 16744, 16781, - 16818, 16856, 16893, 16931, - 16968, 17006, 17044, 17081, - 17119, 17157, 17195, 17233, - 17271, 17309, 17347, 17385, - 17423, 17462, 17500, 17538, - 17577, 17615, 17654, 17692, - 17731, 17770, 17808, 17847, - 17886, 17925, 17964, 18003, - 18042, 18081, 18120, 18160, - 18199, 18238, 18278, 18317, - 18357, 18396, 18436, 18475, - 18515, 18555, 18595, 18635, - 18675, 18715, 18755, 18795, - 18835, 18875, 18915, 18956, - 18996, 19037, 19077, 19118, - 19158, 19199, 19240, 19280, - 19321, 19362, 19403, 19444, - 19485, 19526, 19567, 19609, - 19650, 19691, 19733, 19774, - 19816, 19857, 19899, 19940, - 19982, 20024, 20066, 20108, - 20150, 20192, 20234, 20276, - 20318, 20360, 20403, 20445, - 20487, 20530, 20572, 20615, - 20657, 20700, 20743, 20786, - 20829, 20871, 20914, 20957, - 21001, 21044, 21087, 21130, - 21173, 21217, 21260, 21304, - 21347, 21391, 21434, 21478, - 21522, 21566, 21610, 21654, - 21698, 21742, 21786, 21830, - 21874, 21918, 21963, 22007, - 22052, 22096, 22141, 22185, - 22230, 22275, 22320, 22364, - 22409, 22454, 22499, 22544, - 22590, 22635, 22680, 22725, - 22771, 22816, 22862, 22907, - 22953, 22999, 23044, 23090, - 23136, 23182, 23228, 23274, - 23320, 23366, 23412, 23458, - 23505, 23551, 23598, 23644, - 23691, 23737, 23784, 23831, - 23877, 23924, 23971, 24018, - 24065, 24112, 24159, 24207, - 24254, 24301, 24349, 24396, - 24444, 24491, 24539, 24586, - 24634, 24682, 24730, 24778, - 24826, 24874, 24922, 24970, - 25018, 25066, 25115, 25163, - 25212, 25260, 25309, 25357, - 25406, 25455, 25504, 25553, - 25601, 25650, 25699, 25749, - 25798, 25847, 25896, 25946, - 25995, 26045, 26094, 26144, - 26193, 26243, 26293, 26343, - 26393, 26443, 26493, 26543, - 26593, 26643, 26693, 26744, - 26794, 26844, 26895, 26946, - 26996, 27047, 27098, 27148, - 27199, 27250, 27301, 27352, - 27403, 27455, 27506, 27557, - 27609, 27660, 27711, 27763, - 27815, 27866, 27918, 27970, - 28022, 28074, 28126, 28178, - 28230, 28282, 28334, 28386, - 28439, 28491, 28544, 28596, - 28649, 28702, 28754, 28807, - 28860, 28913, 28966, 29019, - 29072, 29125, 29178, 29232, - 29285, 29338, 29392, 29445, - 29499, 29553, 29606, 29660, - 29714, 29768, 29822, 29876, - 29930, 29984, 30038, 30093, - 30147, 30202, 30256, 30311, - 30365, 30420, 30475, 30529, - 30584, 30639, 30694, 30749, - 30804, 30860, 30915, 30970, - 31025, 31081, 31136, 31192, - 31248, 31303, 31359, 31415, - 31471, 31527, 31583, 31639, - 31695, 31751, 31807, 31864, - 31920, 31977, 32033, 32090, - 32146, 32203, 32260, 32317, - 32374, 32430, 32488, 32545, - 32602, 32659, 32716, 32774, - 32831, 32889, 32946, 33004, - 33061, 33119, 33177, 33235, - 33293, 33351, 33409, 33467, - 33525, 33583, 33642, 33700, - 33759, 33817, 33876, 33934, - 33993, 34052, 34111, 34170, - 34229, 34288, 34347, 34406, - 34465, 34525, 34584, 34643, - 34703, 34762, 34822, 34882, - 34942, 35001, 35061, 35121, - 35181, 35241, 35302, 35362, - 35422, 35482, 35543, 35603, - 35664, 35725, 35785, 35846, - 35907, 35968, 36029, 36090, - 36151, 36212, 36273, 36335, - 36396, 36457, 36519, 36580, - 36642, 36704, 36765, 36827, - 36889, 36951, 37013, 37075, - 37137, 37200, 37262, 37324, - 37387, 37449, 37512, 37574, - 37637, 37700, 37763, 37826, - 37888, 37952, 38015, 38078, - 38141, 38204, 38268, 38331, - 38395, 38458, 38522, 38586, - 38649, 38713, 38777, 38841, - 38905, 38969, 39033, 39098, - 39162, 39226, 39291, 39355, - 39420, 39485, 39549, 39614, - 39679, 39744, 39809, 39874, - 39939, 40004, 40070, 40135, - 40200, 40266, 40331, 40397, - 40463, 40528, 40594, 40660, - 40726, 40792, 40858, 40924, - 40991, 41057, 41123, 41190, - 41256, 41323, 41389, 41456, - 41523, 41590, 41657, 41724, - 41791, 41858, 41925, 41992, - 42060, 42127, 42195, 42262, - 42330, 42397, 42465, 42533, - 42601, 42669, 42737, 42805, - 42873, 42941, 43010, 43078, - 43146, 43215, 43284, 43352, - 43421, 43490, 43559, 43628, - 43697, 43766, 43835, 43904, - 43973, 44043, 44112, 44182, - 44251, 44321, 44391, 44460, - 44530, 44600, 44670, 44740, - 44810, 44881, 44951, 45021, - 45092, 45162, 45233, 45303, - 45374, 45445, 45516, 45587, - 45658, 45729, 45800, 45871, - 45942, 46014, 46085, 46156, - 46228, 46300, 46371, 46443, - 46515, 46587, 46659, 46731, - 46803, 46875, 46947, 47020, - 47092, 47165, 47237, 47310, - 47383, 47455, 47528, 47601, - 47674, 47747, 47820, 47894, - 47967, 48040, 48114, 48187, - 48261, 48334, 48408, 48482, - 48556, 48630, 48704, 48778, - 48852, 48926, 49000, 49075, - 49149, 49224, 49298, 49373, - 49447, 49522, 49597, 49672, - 49747, 49822, 49897, 49973, - 50048, 50123, 50199, 50274, - 50350, 50425, 50501, 50577, - 50653, 50729, 50805, 50881, - 50957, 51033, 51110, 51186, - 51263, 51339, 51416, 51493, - 51569, 51646, 51723, 51800, - 51877, 51954, 52031, 52109, - 52186, 52264, 52341, 52419, - 52496, 52574, 52652, 52730, - 52808, 52886, 52964, 53042, - 53120, 53198, 53277, 53355, - 53434, 53513, 53591, 53670, - 53749, 53828, 53907, 53986, - 54065, 54144, 54223, 54303, - 54382, 54462, 54541, 54621, - 54701, 54781, 54860, 54940, - 55020, 55100, 55181, 55261, - 55341, 55422, 55502, 55583, - 55663, 55744, 55825, 55906, - 55987, 56068, 56149, 56230, - 56311, 56392, 56474, 56555, - 56637, 56718, 56800, 56882, - 56964, 57046, 57128, 57210, - 57292, 57374, 57456, 57539, - 57621, 57704, 57786, 57869, - 57952, 58035, 58117, 58200, - 58283, 58367, 58450, 58533, - 58616, 58700, 58783, 58867, - 58951, 59034, 59118, 59202, - 59286, 59370, 59454, 59538, - 59623, 59707, 59792, 59876, - 59961, 60045, 60130, 60215, - 60300, 60385, 60470, 60555, - 60640, 60725, 60811, 60896, - 60982, 61067, 61153, 61239, - 61324, 61410, 61496, 61582, - 61668, 61755, 61841, 61927, - 62014, 62100, 62187, 62273, - 62360, 62447, 62534, 62621, - 62708, 62795, 62882, 62970, - 63057, 63144, 63232, 63320, - 63407, 63495, 63583, 63671, - 63759, 63847, 63935, 64023, - 64111, 64200, 64288, 64377, - 64465, 64554, 64643, 64732, - 64821, 64910, 64999, 65088, - 65177, 65267, 65356, 65445, - 65535, + 3, 3, 3, 4, + 4, 4, 5, 5, + 6, 6, 6, 7, + 7, 8, 9, 9, + 10, 10, 11, 12, + 12, 13, 14, 15, + 16, 16, 17, 18, + 19, 20, 21, 22, + 23, 24, 26, 27, + 28, 29, 30, 32, + 33, 34, 36, 37, + 39, 40, 42, 44, + 45, 47, 49, 50, + 52, 54, 56, 58, + 60, 62, 64, 66, + 68, 70, 73, 75, + 77, 80, 82, 84, + 87, 89, 92, 95, + 97, 100, 103, 106, + 109, 112, 115, 118, + 121, 124, 127, 131, + 134, 137, 141, 144, + 148, 151, 155, 159, + 162, 166, 170, 174, + 178, 182, 186, 190, + 195, 199, 203, 208, + 212, 217, 221, 226, + 231, 235, 240, 245, + 250, 255, 260, 265, + 271, 276, 281, 287, + 292, 298, 303, 309, + 315, 321, 326, 332, + 339, 345, 351, 357, + 363, 370, 376, 383, + 389, 396, 403, 410, + 417, 424, 431, 438, + 445, 452, 460, 467, + 475, 482, 490, 498, + 505, 513, 521, 529, + 537, 546, 554, 562, + 571, 579, 588, 597, + 605, 614, 623, 632, + 641, 651, 660, 669, + 679, 688, 698, 708, + 717, 727, 737, 747, + 758, 768, 778, 789, + 799, 810, 820, 831, + 842, 853, 864, 875, + 886, 898, 909, 921, + 932, 944, 956, 968, + 980, 992, 1004, 1016, + 1028, 1041, 1053, 1066, + 1079, 1092, 1105, 1118, + 1131, 1144, 1157, 1171, + 1184, 1198, 1212, 1226, + 1240, 1254, 1268, 1282, + 1296, 1311, 1325, 1340, + 1355, 1370, 1385, 1400, + 1415, 1430, 1446, 1461, + 1477, 1492, 1508, 1524, + 1540, 1556, 1573, 1589, + 1606, 1622, 1639, 1656, + 1673, 1690, 1707, 1724, + 1741, 1759, 1776, 1794, + 1812, 1830, 1848, 1866, + 1884, 1903, 1921, 1940, + 1958, 1977, 1996, 2015, + 2034, 2054, 2073, 2093, + 2112, 2132, 2152, 2172, + 2192, 2212, 2233, 2253, + 2274, 2295, 2315, 2336, + 2358, 2379, 2400, 2422, + 2443, 2465, 2487, 2509, + 2531, 2553, 2575, 2598, + 2620, 2643, 2666, 2689, + 2712, 2735, 2758, 2782, + 2805, 2829, 2853, 2877, + 2901, 2925, 2950, 2974, + 2999, 3024, 3049, 3074, + 3099, 3124, 3149, 3175, + 3201, 3227, 3252, 3279, + 3305, 3331, 3358, 3384, + 3411, 3438, 3465, 3492, + 3519, 3547, 3574, 3602, + 3630, 3658, 3686, 3714, + 3743, 3771, 3800, 3829, + 3858, 3887, 3916, 3946, + 3975, 4005, 4035, 4065, + 4095, 4125, 4155, 4186, + 4216, 4247, 4278, 4309, + 4341, 4372, 4404, 4435, + 4467, 4499, 4531, 4563, + 4596, 4628, 4661, 4694, + 4727, 4760, 4794, 4827, + 4861, 4894, 4928, 4962, + 4997, 5031, 5065, 5100, + 5135, 5170, 5205, 5240, + 5276, 5311, 5347, 5383, + 5419, 5455, 5492, 5528, + 5565, 5602, 5639, 5676, + 5713, 5750, 5788, 5826, + 5864, 5902, 5940, 5978, + 6017, 6056, 6095, 6134, + 6173, 6212, 6252, 6291, + 6331, 6371, 6411, 6452, + 6492, 6533, 6574, 6615, + 6656, 6697, 6739, 6780, + 6822, 6864, 6906, 6949, + 6991, 7034, 7077, 7119, + 7163, 7206, 7249, 7293, + 7337, 7381, 7425, 7469, + 7514, 7558, 7603, 7648, + 7693, 7739, 7784, 7830, + 7876, 7922, 7968, 8014, + 8061, 8108, 8155, 8202, + 8249, 8296, 8344, 8392, + 8440, 8488, 8536, 8585, + 8633, 8682, 8731, 8780, + 8830, 8879, 8929, 8979, + 9029, 9079, 9129, 9180, + 9231, 9282, 9333, 9384, + 9436, 9487, 9539, 9591, + 9644, 9696, 9749, 9801, + 9854, 9908, 9961, 10014, + 10068, 10122, 10176, 10230, + 10285, 10339, 10394, 10449, + 10504, 10560, 10615, 10671, + 10727, 10783, 10840, 10896, + 10953, 11010, 11067, 11124, + 11181, 11239, 11297, 11355, + 11413, 11472, 11530, 11589, + 11648, 11707, 11767, 11826, + 11886, 11946, 12006, 12066, + 12127, 12188, 12249, 12310, + 12371, 12432, 12494, 12556, + 12618, 12680, 12743, 12806, + 12869, 12932, 12995, 13058, + 13122, 13186, 13250, 13314, + 13379, 13444, 13508, 13574, + 13639, 13704, 13770, 13836, + 13902, 13968, 14035, 14102, + 14168, 14236, 14303, 14370, + 14438, 14506, 14574, 14643, + 14711, 14780, 14849, 14918, + 14987, 15057, 15127, 15197, + 15267, 15337, 15408, 15479, + 15550, 15621, 15693, 15764, + 15836, 15908, 15980, 16053, + 16126, 16199, 16272, 16345, + 16419, 16492, 16566, 16641, + 16715, 16790, 16865, 16940, + 17015, 17090, 17166, 17242, + 17318, 17394, 17471, 17548, + 17625, 17702, 17780, 17857, + 17935, 18013, 18091, 18170, + 18249, 18328, 18407, 18486, + 18566, 18646, 18726, 18806, + 18887, 18967, 19048, 19129, + 19211, 19292, 19374, 19456, + 19539, 19621, 19704, 19787, + 19870, 19953, 20037, 20121, + 20205, 20289, 20374, 20458, + 20543, 20629, 20714, 20800, + 20886, 20972, 21058, 21145, + 21231, 21318, 21406, 21493, + 21581, 21669, 21757, 21845, + 21934, 22023, 22112, 22201, + 22291, 22381, 22471, 22561, + 22651, 22742, 22833, 22924, + 23016, 23107, 23199, 23291, + 23384, 23476, 23569, 23662, + 23756, 23849, 23943, 24037, + 24131, 24226, 24320, 24415, + 24511, 24606, 24702, 24798, + 24894, 24990, 25087, 25184, + 25281, 25378, 25476, 25574, + 25672, 25770, 25868, 25967, + 26066, 26166, 26265, 26365, + 26465, 26565, 26666, 26766, + 26867, 26969, 27070, 27172, + 27274, 27376, 27479, 27581, + 27684, 27787, 27891, 27995, + 28098, 28203, 28307, 28412, + 28517, 28622, 28727, 28833, + 28939, 29045, 29152, 29258, + 29365, 29472, 29580, 29688, + 29795, 29904, 30012, 30121, + 30230, 30339, 30448, 30558, + 30668, 30778, 30889, 30999, + 31110, 31222, 31333, 31445, + 31557, 31669, 31782, 31894, + 32008, 32121, 32234, 32348, + 32462, 32577, 32691, 32806, + 32921, 33036, 33152, 33268, + 33384, 33500, 33617, 33734, + 33851, 33969, 34086, 34204, + 34322, 34441, 34560, 34679, + 34798, 34918, 35037, 35157, + 35278, 35398, 35519, 35640, + 35762, 35883, 36005, 36127, + 36250, 36373, 36496, 36619, + 36742, 36866, 36990, 37115, + 37239, 37364, 37489, 37614, + 37740, 37866, 37992, 38119, + 38246, 38373, 38500, 38627, + 38755, 38883, 39012, 39140, + 39269, 39398, 39528, 39658, + 39788, 39918, 40048, 40179, + 40310, 40442, 40573, 40705, + 40838, 40970, 41103, 41236, + 41369, 41503, 41637, 41771, + 41905, 42040, 42175, 42310, + 42446, 42581, 42718, 42854, + 42991, 43127, 43265, 43402, + 43540, 43678, 43816, 43955, + 44094, 44233, 44372, 44512, + 44652, 44793, 44933, 45074, + 45215, 45357, 45498, 45640, + 45783, 45925, 46068, 46211, + 46355, 46498, 46642, 46787, + 46931, 47076, 47221, 47367, + 47512, 47658, 47805, 47951, + 48098, 48245, 48393, 48541, + 48689, 48837, 48986, 49134, + 49284, 49433, 49583, 49733, + 49883, 50034, 50185, 50336, + 50488, 50640, 50792, 50944, + 51097, 51250, 51403, 51557, + 51711, 51865, 52019, 52174, + 52329, 52484, 52640, 52796, + 52952, 53109, 53266, 53423, + 53580, 53738, 53896, 54054, + 54213, 54372, 54531, 54691, + 54851, 55011, 55171, 55332, + 55493, 55654, 55816, 55978, + 56140, 56303, 56465, 56629, + 56792, 56956, 57120, 57284, + 57449, 57614, 57779, 57945, + 58110, 58277, 58443, 58610, + 58777, 58944, 59112, 59280, + 59449, 59617, 59786, 59955, + 60125, 60295, 60465, 60635, + 60806, 60977, 61149, 61320, + 61492, 61665, 61837, 62010, + 62184, 62357, 62531, 62705, + 62880, 63055, 63230, 63405, + 63581, 63757, 63933, 64110, + 64287, 64464, 64642, 64820, + 64998, 65177, 65356, 65535, }; const uint16_t lut_led_green_gamma[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, - 1, 1, 1, 1, + 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 3, 3, - 3, 3, 4, 4, + 3, 3, 3, 4, 4, 4, 5, 5, - 5, 5, 6, 6, - 7, 7, 7, 8, - 8, 8, 9, 9, - 10, 10, 11, 11, - 12, 12, 13, 13, - 14, 14, 15, 15, - 16, 17, 17, 18, - 19, 19, 20, 21, - 21, 22, 23, 23, - 24, 25, 26, 27, - 27, 28, 29, 30, - 31, 32, 33, 33, - 34, 35, 36, 37, - 38, 39, 40, 41, - 42, 43, 44, 46, - 47, 48, 49, 50, - 51, 52, 54, 55, - 56, 57, 59, 60, - 61, 63, 64, 65, - 67, 68, 69, 71, - 72, 74, 75, 77, - 78, 80, 81, 83, - 84, 86, 88, 89, - 91, 93, 94, 96, - 98, 99, 101, 103, - 105, 107, 108, 110, - 112, 114, 116, 118, - 120, 122, 124, 126, - 128, 130, 132, 134, - 136, 138, 140, 142, - 144, 146, 149, 151, - 153, 155, 158, 160, - 162, 165, 167, 169, - 172, 174, 176, 179, - 181, 184, 186, 189, - 191, 194, 197, 199, - 202, 204, 207, 210, - 212, 215, 218, 221, - 223, 226, 229, 232, - 235, 238, 241, 244, - 246, 249, 252, 255, - 258, 262, 265, 268, - 271, 274, 277, 280, - 283, 287, 290, 293, - 296, 300, 303, 306, - 310, 313, 317, 320, - 324, 327, 330, 334, - 338, 341, 345, 348, - 352, 356, 359, 363, - 367, 370, 374, 378, - 382, 386, 389, 393, - 397, 401, 405, 409, - 413, 417, 421, 425, - 429, 433, 437, 442, - 446, 450, 454, 458, - 463, 467, 471, 476, - 480, 484, 489, 493, - 498, 502, 506, 511, - 516, 520, 525, 529, - 534, 539, 543, 548, - 553, 557, 562, 567, - 572, 577, 582, 586, - 591, 596, 601, 606, - 611, 616, 621, 626, - 632, 637, 642, 647, - 652, 657, 663, 668, - 673, 679, 684, 689, - 695, 700, 706, 711, - 717, 722, 728, 733, - 739, 744, 750, 756, - 761, 767, 773, 779, - 784, 790, 796, 802, - 808, 814, 820, 826, - 832, 838, 844, 850, - 856, 862, 868, 875, - 881, 887, 893, 899, - 906, 912, 918, 925, - 931, 938, 944, 951, - 957, 964, 970, 977, - 983, 990, 997, 1003, - 1010, 1017, 1024, 1031, - 1037, 1044, 1051, 1058, - 1065, 1072, 1079, 1086, - 1093, 1100, 1107, 1114, - 1121, 1128, 1136, 1143, - 1150, 1157, 1165, 1172, - 1179, 1187, 1194, 1202, - 1209, 1217, 1224, 1232, - 1239, 1247, 1255, 1262, - 1270, 1278, 1285, 1293, - 1301, 1309, 1317, 1324, - 1332, 1340, 1348, 1356, - 1364, 1372, 1380, 1388, - 1396, 1405, 1413, 1421, - 1429, 1438, 1446, 1454, - 1462, 1471, 1479, 1488, - 1496, 1505, 1513, 1522, - 1530, 1539, 1547, 1556, - 1565, 1573, 1582, 1591, - 1600, 1609, 1617, 1626, - 1635, 1644, 1653, 1662, - 1671, 1680, 1689, 1698, - 1707, 1717, 1726, 1735, - 1744, 1754, 1763, 1772, - 1782, 1791, 1800, 1810, - 1819, 1829, 1838, 1848, - 1857, 1867, 1877, 1886, - 1896, 1906, 1916, 1925, - 1935, 1945, 1955, 1965, - 1975, 1985, 1995, 2005, - 2015, 2025, 2035, 2045, - 2055, 2066, 2076, 2086, - 2096, 2107, 2117, 2128, - 2138, 2148, 2159, 2169, - 2180, 2190, 2201, 2212, - 2222, 2233, 2244, 2254, - 2265, 2276, 2287, 2298, - 2309, 2320, 2331, 2341, - 2352, 2364, 2375, 2386, - 2397, 2408, 2419, 2430, - 2442, 2453, 2464, 2476, - 2487, 2498, 2510, 2521, - 2533, 2544, 2556, 2567, - 2579, 2591, 2602, 2614, - 2626, 2638, 2649, 2661, - 2673, 2685, 2697, 2709, - 2721, 2733, 2745, 2757, - 2769, 2781, 2794, 2806, - 2818, 2830, 2843, 2855, - 2867, 2880, 2892, 2904, - 2917, 2929, 2942, 2955, - 2967, 2980, 2993, 3005, - 3018, 3031, 3044, 3056, - 3069, 3082, 3095, 3108, - 3121, 3134, 3147, 3160, - 3173, 3186, 3200, 3213, - 3226, 3239, 3253, 3266, - 3279, 3293, 3306, 3320, - 3333, 3347, 3360, 3374, - 3387, 3401, 3415, 3429, - 3442, 3456, 3470, 3484, - 3498, 3512, 3525, 3539, - 3553, 3567, 3582, 3596, - 3610, 3624, 3638, 3652, - 3667, 3681, 3695, 3710, - 3724, 3739, 3753, 3767, - 3782, 3797, 3811, 3826, - 3840, 3855, 3870, 3885, - 3899, 3914, 3929, 3944, - 3959, 3974, 3989, 4004, - 4019, 4034, 4049, 4064, - 4080, 4095, 4110, 4125, - 4141, 4156, 4171, 4187, - 4202, 4218, 4233, 4249, - 4264, 4280, 4296, 4311, - 4327, 4343, 4359, 4374, - 4390, 4406, 4422, 4438, - 4454, 4470, 4486, 4502, - 4518, 4534, 4551, 4567, - 4583, 4599, 4616, 4632, - 4648, 4665, 4681, 4698, - 4714, 4731, 4747, 4764, - 4781, 4797, 4814, 4831, - 4848, 4865, 4881, 4898, - 4915, 4932, 4949, 4966, - 4983, 5000, 5018, 5035, - 5052, 5069, 5086, 5104, - 5121, 5138, 5156, 5173, - 5191, 5208, 5226, 5243, - 5261, 5279, 5296, 5314, - 5332, 5350, 5367, 5385, - 5403, 5421, 5439, 5457, - 5475, 5493, 5511, 5529, - 5548, 5566, 5584, 5602, - 5621, 5639, 5657, 5676, - 5694, 5713, 5731, 5750, - 5768, 5787, 5806, 5824, - 5843, 5862, 5881, 5900, - 5918, 5937, 5956, 5975, - 5994, 6013, 6032, 6051, - 6071, 6090, 6109, 6128, - 6148, 6167, 6186, 6206, - 6225, 6245, 6264, 6284, - 6303, 6323, 6342, 6362, - 6382, 6402, 6421, 6441, - 6461, 6481, 6501, 6521, - 6541, 6561, 6581, 6601, - 6621, 6642, 6662, 6682, - 6702, 6723, 6743, 6763, - 6784, 6804, 6825, 6845, - 6866, 6887, 6907, 6928, - 6949, 6969, 6990, 7011, - 7032, 7053, 7074, 7095, - 7116, 7137, 7158, 7179, - 7200, 7221, 7243, 7264, - 7285, 7306, 7328, 7349, - 7371, 7392, 7414, 7435, - 7457, 7478, 7500, 7522, - 7544, 7565, 7587, 7609, - 7631, 7653, 7675, 7697, - 7719, 7741, 7763, 7785, - 7807, 7830, 7852, 7874, - 7896, 7919, 7941, 7964, - 7986, 8009, 8031, 8054, - 8076, 8099, 8122, 8145, - 8167, 8190, 8213, 8236, - 8259, 8282, 8305, 8328, - 8351, 8374, 8397, 8420, - 8443, 8467, 8490, 8513, - 8537, 8560, 8584, 8607, - 8631, 8654, 8678, 8701, - 8725, 8749, 8772, 8796, - 8820, 8844, 8868, 8892, - 8916, 8940, 8964, 8988, - 9012, 9036, 9060, 9085, - 9109, 9133, 9158, 9182, - 9206, 9231, 9255, 9280, - 9304, 9329, 9354, 9378, - 9403, 9428, 9453, 9477, - 9502, 9527, 9552, 9577, - 9602, 9627, 9652, 9678, - 9703, 9728, 9753, 9779, - 9804, 9829, 9855, 9880, - 9906, 9931, 9957, 9982, - 10008, 10034, 10059, 10085, - 10111, 10137, 10163, 10188, - 10214, 10240, 10266, 10293, - 10319, 10345, 10371, 10397, - 10423, 10450, 10476, 10502, - 10529, 10555, 10582, 10608, - 10635, 10661, 10688, 10715, - 10742, 10768, 10795, 10822, - 10849, 10876, 10903, 10930, - 10957, 10984, 11011, 11038, - 11065, 11092, 11120, 11147, - 11174, 11202, 11229, 11257, - 11284, 11312, 11339, 11367, - 11395, 11422, 11450, 11478, - 11506, 11533, 11561, 11589, - 11617, 11645, 11673, 11701, - 11730, 11758, 11786, 11814, - 11842, 11871, 11899, 11928, - 11956, 11985, 12013, 12042, - 12070, 12099, 12128, 12156, - 12185, 12214, 12243, 12272, - 12300, 12329, 12358, 12387, - 12417, 12446, 12475, 12504, - 12533, 12563, 12592, 12621, - 12651, 12680, 12710, 12739, - 12769, 12798, 12828, 12858, - 12887, 12917, 12947, 12977, - 13007, 13036, 13066, 13096, - 13126, 13157, 13187, 13217, - 13247, 13277, 13308, 13338, - 13368, 13399, 13429, 13460, - 13490, 13521, 13551, 13582, - 13613, 13643, 13674, 13705, - 13736, 13767, 13798, 13829, - 13860, 13891, 13922, 13953, - 13984, 14015, 14046, 14078, - 14109, 14140, 14172, 14203, - 14235, 14266, 14298, 14330, - 14361, 14393, 14425, 14456, - 14488, 14520, 14552, 14584, - 14616, 14648, 14680, 14712, - 14744, 14776, 14809, 14841, - 14873, 14906, 14938, 14970, - 15003, 15035, 15068, 15101, - 15133, 15166, 15199, 15231, - 15264, 15297, 15330, 15363, - 15396, 15429, 15462, 15495, - 15528, 15561, 15595, 15628, - 15661, 15694, 15728, 15761, - 15795, 15828, 15862, 15895, - 15929, 15963, 15996, 16030, - 16064, 16098, 16132, 16166, - 16200, 16234, 16268, 16302, - 16336, 16370, 16404, 16439, - 16473, 16507, 16542, 16576, - 16610, 16645, 16679, 16714, - 16749, 16783, 16818, 16853, - 16888, 16922, 16957, 16992, - 17027, 17062, 17097, 17132, - 17168, 17203, 17238, 17273, - 17308, 17344, 17379, 17415, - 17450, 17486, 17521, 17557, - 17592, 17628, 17664, 17700, - 17735, 17771, 17807, 17843, - 17879, 17915, 17951, 17987, - 18023, 18060, 18096, 18132, - 18168, 18205, 18241, 18278, - 18314, 18351, 18387, 18424, - 18460, 18497, 18534, 18571, - 18607, 18644, 18681, 18718, - 18755, 18792, 18829, 18866, - 18904, 18941, 18978, 19015, - 19053, 19090, 19128, 19165, - 19202, 19240, 19278, 19315, - 19353, 19391, 19428, 19466, - 19504, 19542, 19580, 19618, - 19656, 19694, 19732, 19770, - 19808, 19847, 19885, 19923, - 19962, 20000, 20039, 20077, - 20116, 20154, 20193, 20231, - 20270, 20309, 20348, 20387, - 20425, 20464, 20503, 20542, - 20581, 20620, 20660, 20699, - 20738, 20777, 20817, 20856, - 20895, 20935, 20974, 21014, - 21053, 21093, 21133, 21172, - 21212, 21252, 21292, 21332, - 21372, 21412, 21452, 21492, - 21532, 21572, 21612, 21652, - 21693, 21733, 21773, 21814, - 21854, 21895, 21935, 21976, - 22016, 22057, 22098, 22138, - 22179, 22220, 22261, 22302, - 22343, 22384, 22425, 22466, - 22507, 22548, 22590, 22631, - 22672, 22714, 22755, 22797, - 22838, 22880, 22921, 22963, - 23004, 23046, 23088, 23130, - 23172, 23214, 23255, 23297, - 23340, 23382, 23424, 23466, - 23508, 23550, 23593, 23635, - 23677, 23720, 23762, 23805, - 23847, 23890, 23933, 23975, - 24018, 24061, 24104, 24147, - 24189, 24232, 24275, 24318, - 24362, 24405, 24448, 24491, - 24534, 24578, 24621, 24664, - 24708, 24751, 24795, 24839, - 24882, 24926, 24970, 25013, - 25057, 25101, 25145, 25189, - 25233, 25277, 25321, 25365, - 25409, 25453, 25498, 25542, - 25586, 25631, 25675, 25720, - 25764, 25809, 25853, 25898, - 25943, 25987, 26032, 26077, - 26122, 26167, 26212, 26257, - 26302, 26347, 26392, 26437, - 26483, 26528, 26573, 26619, - 26664, 26710, 26755, 26801, - 26846, 26892, 26938, 26983, - 27029, 27075, 27121, 27167, - 27213, 27259, 27305, 27351, - 27397, 27443, 27490, 27536, - 27582, 27629, 27675, 27721, - 27768, 27815, 27861, 27908, - 27955, 28001, 28048, 28095, - 28142, 28189, 28236, 28283, - 28330, 28377, 28424, 28471, - 28518, 28566, 28613, 28660, - 28708, 28755, 28803, 28850, - 28898, 28946, 28993, 29041, - 29089, 29137, 29185, 29233, - 29281, 29329, 29377, 29425, - 29473, 29521, 29569, 29618, - 29666, 29714, 29763, 29811, - 29860, 29908, 29957, 30006, - 30055, 30103, 30152, 30201, - 30250, 30299, 30348, 30397, - 30446, 30495, 30544, 30593, - 30643, 30692, 30741, 30791, - 30840, 30890, 30939, 30989, - 31038, 31088, 31138, 31188, - 31237, 31287, 31337, 31387, - 31437, 31487, 31537, 31588, - 31638, 31688, 31738, 31789, - 31839, 31889, 31940, 31990, - 32041, 32092, 32142, 32193, - 32244, 32295, 32345, 32396, - 32447, 32498, 32549, 32600, - 32651, 32703, 32754, 32805, - 32856, 32908, 32959, 33011, - 33062, 33114, 33165, 33217, - 33269, 33320, 33372, 33424, - 33476, 33528, 33580, 33632, - 33684, 33736, 33788, 33840, - 33893, 33945, 33997, 34050, - 34102, 34155, 34207, 34260, - 34312, 34365, 34418, 34470, - 34523, 34576, 34629, 34682, - 34735, 34788, 34841, 34894, - 34948, 35001, 35054, 35107, - 35161, 35214, 35268, 35321, - 35375, 35428, 35482, 35536, - 35590, 35643, 35697, 35751, - 35805, 35859, 35913, 35967, - 36021, 36076, 36130, 36184, - 36238, 36293, 36347, 36402, - 36456, 36511, 36565, 36620, - 36675, 36730, 36784, 36839, - 36894, 36949, 37004, 37059, - 37114, 37169, 37225, 37280, - 37335, 37390, 37446, 37501, - 37557, 37612, 37668, 37723, - 37779, 37835, 37891, 37946, - 38002, 38058, 38114, 38170, - 38226, 38282, 38338, 38395, - 38451, 38507, 38564, 38620, - 38676, 38733, 38789, 38846, - 38903, 38959, 39016, 39073, - 39130, 39186, 39243, 39300, - 39357, 39414, 39472, 39529, - 39586, 39643, 39700, 39758, - 39815, 39873, 39930, 39988, - 40045, 40103, 40161, 40218, - 40276, 40334, 40392, 40450, - 40508, 40566, 40624, 40682, - 40740, 40798, 40857, 40915, - 40973, 41032, 41090, 41149, - 41207, 41266, 41325, 41383, - 41442, 41501, 41560, 41619, - 41678, 41737, 41796, 41855, - 41914, 41973, 42032, 42092, - 42151, 42210, 42270, 42329, - 42389, 42449, 42508, 42568, - 42628, 42687, 42747, 42807, - 42867, 42927, 42987, 43047, - 43107, 43167, 43228, 43288, - 43348, 43409, 43469, 43529, - 43590, 43651, 43711, 43772, - 43833, 43893, 43954, 44015, - 44076, 44137, 44198, 44259, - 44320, 44381, 44442, 44504, - 44565, 44626, 44688, 44749, - 44811, 44872, 44934, 44995, - 45057, 45119, 45181, 45242, - 45304, 45366, 45428, 45490, - 45552, 45615, 45677, 45739, - 45801, 45864, 45926, 45988, - 46051, 46114, 46176, 46239, - 46301, 46364, 46427, 46490, - 46553, 46616, 46679, 46742, - 46805, 46868, 46931, 46994, - 47058, 47121, 47184, 47248, - 47311, 47375, 47438, 47502, - 47566, 47629, 47693, 47757, - 47821, 47885, 47949, 48013, - 48077, 48141, 48205, 48269, - 48334, 48398, 48462, 48527, - 48591, 48656, 48720, 48785, - 48850, 48914, 48979, 49044, - 49109, 49174, 49239, 49304, - 49369, 49434, 49499, 49564, - 49630, 49695, 49760, 49826, - 49891, 49957, 50022, 50088, - 50154, 50219, 50285, 50351, - 50417, 50483, 50549, 50615, - 50681, 50747, 50813, 50879, - 50946, 51012, 51078, 51145, - 51211, 51278, 51344, 51411, - 51478, 51545, 51611, 51678, - 51745, 51812, 51879, 51946, - 52013, 52080, 52147, 52215, - 52282, 52349, 52417, 52484, - 52552, 52619, 52687, 52754, - 52822, 52890, 52958, 53025, - 53093, 53161, 53229, 53297, - 53365, 53434, 53502, 53570, - 53638, 53707, 53775, 53844, - 53912, 53981, 54049, 54118, - 54187, 54255, 54324, 54393, - 54462, 54531, 54600, 54669, - 54738, 54807, 54877, 54946, - 55015, 55084, 55154, 55223, - 55293, 55362, 55432, 55502, - 55572, 55641, 55711, 55781, - 55851, 55921, 55991, 56061, - 56131, 56201, 56272, 56342, - 56412, 56483, 56553, 56624, - 56694, 56765, 56835, 56906, - 56977, 57048, 57119, 57189, - 57260, 57331, 57402, 57474, - 57545, 57616, 57687, 57759, - 57830, 57901, 57973, 58044, - 58116, 58188, 58259, 58331, - 58403, 58475, 58546, 58618, - 58690, 58762, 58834, 58907, - 58979, 59051, 59123, 59196, - 59268, 59341, 59413, 59486, - 59558, 59631, 59704, 59776, - 59849, 59922, 59995, 60068, - 60141, 60214, 60287, 60360, - 60434, 60507, 60580, 60654, - 60727, 60800, 60874, 60948, - 61021, 61095, 61169, 61242, - 61316, 61390, 61464, 61538, - 61612, 61686, 61760, 61835, - 61909, 61983, 62058, 62132, - 62207, 62281, 62356, 62430, - 62505, 62580, 62654, 62729, - 62804, 62879, 62954, 63029, - 63104, 63179, 63255, 63330, - 63405, 63481, 63556, 63631, - 63707, 63782, 63858, 63934, - 64010, 64085, 64161, 64237, - 64313, 64389, 64465, 64541, - 64617, 64693, 64770, 64846, - 64922, 64999, 65075, 65152, - 65228, 65305, 65382, 65458, - 65535, + 6, 6, 7, 7, + 8, 8, 9, 10, + 10, 11, 12, 13, + 13, 14, 15, 16, + 17, 18, 19, 20, + 21, 22, 23, 24, + 26, 27, 28, 30, + 31, 32, 34, 35, + 37, 38, 40, 42, + 43, 45, 47, 49, + 51, 53, 55, 57, + 59, 61, 63, 65, + 67, 70, 72, 74, + 77, 79, 82, 84, + 87, 90, 93, 95, + 98, 101, 104, 107, + 110, 113, 116, 120, + 123, 126, 130, 133, + 137, 140, 144, 148, + 151, 155, 159, 163, + 167, 171, 175, 179, + 184, 188, 192, 197, + 201, 206, 210, 215, + 220, 225, 230, 234, + 239, 245, 250, 255, + 260, 266, 271, 277, + 282, 288, 293, 299, + 305, 311, 317, 323, + 329, 335, 342, 348, + 354, 361, 367, 374, + 381, 388, 395, 402, + 409, 416, 423, 430, + 437, 445, 452, 460, + 468, 475, 483, 491, + 499, 507, 515, 523, + 532, 540, 549, 557, + 566, 575, 583, 592, + 601, 610, 619, 629, + 638, 647, 657, 666, + 676, 686, 696, 706, + 716, 726, 736, 746, + 757, 767, 778, 788, + 799, 810, 821, 832, + 843, 854, 865, 877, + 888, 900, 912, 923, + 935, 947, 959, 971, + 984, 996, 1008, 1021, + 1034, 1046, 1059, 1072, + 1085, 1098, 1111, 1125, + 1138, 1152, 1165, 1179, + 1193, 1207, 1221, 1235, + 1249, 1264, 1278, 1293, + 1307, 1322, 1337, 1352, + 1367, 1382, 1397, 1413, + 1428, 1444, 1460, 1475, + 1491, 1507, 1524, 1540, + 1556, 1573, 1589, 1606, + 1623, 1640, 1657, 1674, + 1691, 1708, 1726, 1743, + 1761, 1779, 1797, 1815, + 1833, 1851, 1870, 1888, + 1907, 1925, 1944, 1963, + 1982, 2001, 2021, 2040, + 2060, 2079, 2099, 2119, + 2139, 2159, 2179, 2199, + 2220, 2241, 2261, 2282, + 2303, 2324, 2345, 2367, + 2388, 2410, 2431, 2453, + 2475, 2497, 2519, 2541, + 2564, 2586, 2609, 2632, + 2655, 2678, 2701, 2724, + 2748, 2771, 2795, 2819, + 2843, 2867, 2891, 2915, + 2940, 2964, 2989, 3014, + 3039, 3064, 3089, 3114, + 3140, 3165, 3191, 3217, + 3243, 3269, 3295, 3322, + 3348, 3375, 3402, 3428, + 3456, 3483, 3510, 3538, + 3565, 3593, 3621, 3649, + 3677, 3705, 3734, 3762, + 3791, 3820, 3849, 3878, + 3907, 3936, 3966, 3995, + 4025, 4055, 4085, 4115, + 4146, 4176, 4207, 4238, + 4268, 4300, 4331, 4362, + 4394, 4425, 4457, 4489, + 4521, 4553, 4585, 4618, + 4651, 4683, 4716, 4749, + 4782, 4816, 4849, 4883, + 4917, 4951, 4985, 5019, + 5053, 5088, 5123, 5157, + 5192, 5228, 5263, 5298, + 5334, 5370, 5405, 5441, + 5478, 5514, 5550, 5587, + 5624, 5661, 5698, 5735, + 5772, 5810, 5848, 5886, + 5924, 5962, 6000, 6038, + 6077, 6116, 6155, 6194, + 6233, 6273, 6312, 6352, + 6392, 6432, 6472, 6512, + 6553, 6593, 6634, 6675, + 6716, 6758, 6799, 6841, + 6882, 6924, 6966, 7009, + 7051, 7094, 7136, 7179, + 7222, 7266, 7309, 7353, + 7396, 7440, 7484, 7528, + 7573, 7617, 7662, 7707, + 7752, 7797, 7842, 7888, + 7934, 7980, 8026, 8072, + 8118, 8165, 8211, 8258, + 8305, 8352, 8400, 8447, + 8495, 8543, 8591, 8639, + 8687, 8736, 8785, 8834, + 8883, 8932, 8981, 9031, + 9081, 9131, 9181, 9231, + 9281, 9332, 9383, 9434, + 9485, 9536, 9588, 9639, + 9691, 9743, 9795, 9848, + 9900, 9953, 10006, 10059, + 10112, 10165, 10219, 10273, + 10327, 10381, 10435, 10490, + 10544, 10599, 10654, 10709, + 10765, 10820, 10876, 10932, + 10988, 11044, 11101, 11157, + 11214, 11271, 11328, 11386, + 11443, 11501, 11559, 11617, + 11675, 11734, 11793, 11851, + 11910, 11970, 12029, 12089, + 12148, 12208, 12268, 12329, + 12389, 12450, 12511, 12572, + 12633, 12695, 12756, 12818, + 12880, 12942, 13005, 13067, + 13130, 13193, 13256, 13319, + 13383, 13447, 13510, 13575, + 13639, 13703, 13768, 13833, + 13898, 13963, 14029, 14094, + 14160, 14226, 14292, 14359, + 14425, 14492, 14559, 14626, + 14694, 14761, 14829, 14897, + 14965, 15033, 15102, 15171, + 15240, 15309, 15378, 15448, + 15517, 15587, 15657, 15728, + 15798, 15869, 15940, 16011, + 16082, 16154, 16226, 16297, + 16370, 16442, 16514, 16587, + 16660, 16733, 16807, 16880, + 16954, 17028, 17102, 17176, + 17251, 17325, 17400, 17476, + 17551, 17626, 17702, 17778, + 17854, 17931, 18007, 18084, + 18161, 18238, 18316, 18393, + 18471, 18549, 18627, 18706, + 18785, 18863, 18942, 19022, + 19101, 19181, 19261, 19341, + 19421, 19502, 19583, 19663, + 19745, 19826, 19908, 19989, + 20071, 20154, 20236, 20319, + 20402, 20485, 20568, 20651, + 20735, 20819, 20903, 20987, + 21072, 21157, 21242, 21327, + 21412, 21498, 21584, 21670, + 21756, 21843, 21929, 22016, + 22103, 22191, 22278, 22366, + 22454, 22542, 22631, 22720, + 22808, 22898, 22987, 23076, + 23166, 23256, 23346, 23437, + 23527, 23618, 23709, 23801, + 23892, 23984, 24076, 24168, + 24260, 24353, 24446, 24539, + 24632, 24726, 24820, 24914, + 25008, 25102, 25197, 25292, + 25387, 25482, 25578, 25673, + 25769, 25866, 25962, 26059, + 26156, 26253, 26350, 26448, + 26545, 26643, 26742, 26840, + 26939, 27038, 27137, 27236, + 27336, 27436, 27536, 27636, + 27737, 27838, 27939, 28040, + 28141, 28243, 28345, 28447, + 28549, 28652, 28755, 28858, + 28961, 29065, 29169, 29273, + 29377, 29481, 29586, 29691, + 29796, 29902, 30007, 30113, + 30219, 30326, 30432, 30539, + 30646, 30753, 30861, 30969, + 31077, 31185, 31293, 31402, + 31511, 31620, 31730, 31839, + 31949, 32060, 32170, 32281, + 32391, 32503, 32614, 32725, + 32837, 32949, 33062, 33174, + 33287, 33400, 33513, 33627, + 33741, 33855, 33969, 34083, + 34198, 34313, 34428, 34544, + 34659, 34775, 34891, 35008, + 35125, 35241, 35359, 35476, + 35594, 35712, 35830, 35948, + 36067, 36186, 36305, 36424, + 36544, 36664, 36784, 36904, + 37025, 37146, 37267, 37388, + 37510, 37631, 37754, 37876, + 37998, 38121, 38244, 38368, + 38491, 38615, 38739, 38864, + 38988, 39113, 39238, 39364, + 39489, 39615, 39741, 39867, + 39994, 40121, 40248, 40375, + 40503, 40631, 40759, 40888, + 41016, 41145, 41274, 41404, + 41533, 41663, 41793, 41924, + 42054, 42185, 42317, 42448, + 42580, 42712, 42844, 42976, + 43109, 43242, 43375, 43509, + 43643, 43777, 43911, 44046, + 44180, 44316, 44451, 44586, + 44722, 44858, 44995, 45131, + 45268, 45405, 45543, 45681, + 45818, 45957, 46095, 46234, + 46373, 46512, 46652, 46791, + 46931, 47072, 47212, 47353, + 47494, 47636, 47777, 47919, + 48061, 48204, 48346, 48489, + 48633, 48776, 48920, 49064, + 49208, 49353, 49497, 49643, + 49788, 49933, 50079, 50226, + 50372, 50519, 50666, 50813, + 50960, 51108, 51256, 51404, + 51553, 51702, 51851, 52000, + 52150, 52300, 52450, 52601, + 52751, 52902, 53054, 53205, + 53357, 53509, 53662, 53814, + 53967, 54120, 54274, 54427, + 54581, 54736, 54890, 55045, + 55200, 55356, 55511, 55667, + 55824, 55980, 56137, 56294, + 56451, 56609, 56767, 56925, + 57083, 57242, 57401, 57560, + 57720, 57879, 58040, 58200, + 58361, 58521, 58683, 58844, + 59006, 59168, 59330, 59493, + 59656, 59819, 59982, 60146, + 60310, 60474, 60639, 60804, + 60969, 61134, 61300, 61466, + 61632, 61799, 61966, 62133, + 62300, 62468, 62636, 62804, + 62973, 63142, 63311, 63480, + 63650, 63820, 63990, 64160, + 64331, 64502, 64674, 64845, + 65017, 65190, 65362, 65535, }; diff --git a/stereo_mix/resources.h b/stereo_mix/resources.h index dc7af41..28a5a35 100644 --- a/stereo_mix/resources.h +++ b/stereo_mix/resources.h @@ -58,9 +58,9 @@ extern const uint16_t lut_led_green_gamma[]; #define LUT_RIGHT_COS_PAN 2 #define LUT_RIGHT_COS_PAN_SIZE 4096 #define LUT_LED_RED_GAMMA 3 -#define LUT_LED_RED_GAMMA_SIZE 2049 +#define LUT_LED_RED_GAMMA_SIZE 1024 #define LUT_LED_GREEN_GAMMA 4 -#define LUT_LED_GREEN_GAMMA_SIZE 2049 +#define LUT_LED_GREEN_GAMMA_SIZE 1024 } // namespace stereo_mix diff --git a/stereo_mix/resources/lookup_tables.py b/stereo_mix/resources/lookup_tables.py index e21864f..d742513 100644 --- a/stereo_mix/resources/lookup_tables.py +++ b/stereo_mix/resources/lookup_tables.py @@ -52,12 +52,13 @@ lookup_tables_u16.append(('right_cos_pan', r_pan)) print(r_pan.size) # led gamma correction -gamma_green = 2.4 +gamma_green = 2.7 gamma_red = 2.8 -max_in = 2048 +max_in = 1024 max_out = 65535 -input_vals = np.linspace(0, max_in, num=max_in + 1) +input_vals = np.linspace(0, max_in, num=max_in) gamma_correction_red = ((input_vals / max_in) ** gamma_red) * max_out + 0.5 gamma_correction_green = ((input_vals / max_in) ** gamma_green) * max_out + 0.5 lookup_tables_u16.append(('led_red_gamma', np.floor(gamma_correction_red))) lookup_tables_u16.append(('led_green_gamma', np.floor(gamma_correction_green))) +