9#ifndef GP_GAMMA_CORRECTION_GEN_H
10#define GP_GAMMA_CORRECTION_GEN_H
18extern uint16_t *gp_gamma8_linear10;
19extern uint8_t *gp_linear10_gamma8;
21static inline uint16_t gp_gamma1_to_linear10(uint8_t val)
23 return gp_gamma8_linear10[val<<7];
26static inline uint16_t gp_gamma2_to_linear10(uint8_t val)
28 return gp_gamma8_linear10[val<<6];
31static inline uint16_t gp_gamma3_to_linear10(uint8_t val)
33 return gp_gamma8_linear10[val<<5];
36static inline uint16_t gp_gamma4_to_linear10(uint8_t val)
38 return gp_gamma8_linear10[val<<4];
41static inline uint16_t gp_gamma5_to_linear10(uint8_t val)
43 return gp_gamma8_linear10[val<<3];
46static inline uint16_t gp_gamma6_to_linear10(uint8_t val)
48 return gp_gamma8_linear10[val<<2];
51static inline uint16_t gp_gamma7_to_linear10(uint8_t val)
53 return gp_gamma8_linear10[val<<1];
56static inline uint16_t gp_gamma8_to_linear10(uint8_t val)
58 return gp_gamma8_linear10[val<<0];
61static inline uint8_t gp_linear10_to_gamma1(uint16_t val)
63 return (gp_linear10_gamma8[val] + 64)>>7;
66static inline uint8_t gp_linear16_to_gamma1(uint16_t val)
68 return (gp_linear10_gamma8[val>>6] + 64)>>7;
71static inline uint8_t gp_linear10_to_gamma2(uint16_t val)
73 return (gp_linear10_gamma8[val] + 32)>>6;
76static inline uint8_t gp_linear16_to_gamma2(uint16_t val)
78 return (gp_linear10_gamma8[val>>6] + 32)>>6;
81static inline uint8_t gp_linear10_to_gamma3(uint16_t val)
83 return (gp_linear10_gamma8[val] + 16)>>5;
86static inline uint8_t gp_linear16_to_gamma3(uint16_t val)
88 return (gp_linear10_gamma8[val>>6] + 16)>>5;
91static inline uint8_t gp_linear10_to_gamma4(uint16_t val)
93 return (gp_linear10_gamma8[val] + 8)>>4;
96static inline uint8_t gp_linear16_to_gamma4(uint16_t val)
98 return (gp_linear10_gamma8[val>>6] + 8)>>4;
101static inline uint8_t gp_linear10_to_gamma5(uint16_t val)
103 return (gp_linear10_gamma8[val] + 4)>>3;
106static inline uint8_t gp_linear16_to_gamma5(uint16_t val)
108 return (gp_linear10_gamma8[val>>6] + 4)>>3;
111static inline uint8_t gp_linear10_to_gamma6(uint16_t val)
113 return (gp_linear10_gamma8[val] + 2)>>2;
116static inline uint8_t gp_linear16_to_gamma6(uint16_t val)
118 return (gp_linear10_gamma8[val>>6] + 2)>>2;
121static inline uint8_t gp_linear10_to_gamma7(uint16_t val)
123 return (gp_linear10_gamma8[val] + 1)>>1;
126static inline uint8_t gp_linear16_to_gamma7(uint16_t val)
128 return (gp_linear10_gamma8[val>>6] + 1)>>1;
131static inline uint8_t gp_linear10_to_gamma8(uint16_t val)
133 return (gp_linear10_gamma8[val] + 0)>>0;
136static inline uint8_t gp_linear16_to_gamma8(uint16_t val)
138 return (gp_linear10_gamma8[val>>6] + 0)>>0;