53 {0,16}, {1,16}, {2,16}, {3,16}, {4,16}, {5,16}, {6,16}, {7,16}, {8,16}, {9,16}, {10,16}, {11,16}, {12,16}, {13,16}, {14,16}, {15,16},
54 {0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}, {6,10}, {7,10}, {8,10}, {9,10}, {0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6},
55 {0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}, {0,4}, {1,4}, {2,4}, {3,4}, {0,4}, {1,4}, {2,4}, {3,4}, {0,3}, {1,3},
56 {2,3}, {0,4}, {1,4}, {2,4}, {3,4}, {0,3}, {1,3}, {2,3}, {0,3}, {1,3}, {2,3}, {0,2}, {1,2}, {0,3}, {1,3}, {2,3},
57 {0,2}, {1,2}, {0,2}, {1,2}, {0,3}, {1,3}, {2,3}, {0,2}, {1,2}
60 uint8_t hi = (value >> 8);
61 uint16_t lo = (value & 0x00ff);
62 uint8_t hiResult = _table[hi];
63 uint16_t lowResult = 0;
68 lowResult = (lo + _hints[hi].
pos * 256) / _hints[hi].count;
78 if (hiResult == _table[hi - 1])
81 lowResult = (lo >> 1) | 0x80;
85 uint8_t delta = _table[hi + 1] - hiResult;
90 lowResult = (lo >> 1);
100 lowResult = delta * lo;
106 return (
static_cast<uint16_t
>(hiResult) << 8) + lowResult;
111 static const uint8_t _table[256];
#define countof(array)
Definition: NeoUtil.h:46
Definition: NeoGammaTableMethod.h:31
static uint16_t Correct(uint16_t value)
Definition: NeoGammaTableMethod.h:45
static uint8_t Correct(uint8_t value)
Definition: NeoGammaTableMethod.h:40
Definition: NeoGammaTableMethod.h:34
uint8_t pos
Definition: NeoGammaTableMethod.h:35
uint8_t count
Definition: NeoGammaTableMethod.h:36