1ec7e6bb8SLeo (Sunpeng) Li /* 2ec7e6bb8SLeo (Sunpeng) Li * Copyright 2016 Advanced Micro Devices, Inc. 3ec7e6bb8SLeo (Sunpeng) Li * 4ec7e6bb8SLeo (Sunpeng) Li * Permission is hereby granted, free of charge, to any person obtaining a 5ec7e6bb8SLeo (Sunpeng) Li * copy of this software and associated documentation files (the "Software"), 6ec7e6bb8SLeo (Sunpeng) Li * to deal in the Software without restriction, including without limitation 7ec7e6bb8SLeo (Sunpeng) Li * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8ec7e6bb8SLeo (Sunpeng) Li * and/or sell copies of the Software, and to permit persons to whom the 9ec7e6bb8SLeo (Sunpeng) Li * Software is furnished to do so, subject to the following conditions: 10ec7e6bb8SLeo (Sunpeng) Li * 11ec7e6bb8SLeo (Sunpeng) Li * The above copyright notice and this permission notice shall be included in 12ec7e6bb8SLeo (Sunpeng) Li * all copies or substantial portions of the Software. 13ec7e6bb8SLeo (Sunpeng) Li * 14ec7e6bb8SLeo (Sunpeng) Li * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15ec7e6bb8SLeo (Sunpeng) Li * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16ec7e6bb8SLeo (Sunpeng) Li * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17ec7e6bb8SLeo (Sunpeng) Li * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18ec7e6bb8SLeo (Sunpeng) Li * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19ec7e6bb8SLeo (Sunpeng) Li * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20ec7e6bb8SLeo (Sunpeng) Li * OTHER DEALINGS IN THE SOFTWARE. 21ec7e6bb8SLeo (Sunpeng) Li * 22ec7e6bb8SLeo (Sunpeng) Li * Authors: AMD 23ec7e6bb8SLeo (Sunpeng) Li * 24ec7e6bb8SLeo (Sunpeng) Li */ 25ec7e6bb8SLeo (Sunpeng) Li 26ec7e6bb8SLeo (Sunpeng) Li #ifndef COLOR_MOD_COLOR_GAMMA_H_ 27ec7e6bb8SLeo (Sunpeng) Li #define COLOR_MOD_COLOR_GAMMA_H_ 28ec7e6bb8SLeo (Sunpeng) Li 29ec7e6bb8SLeo (Sunpeng) Li struct dc_transfer_func; 30ec7e6bb8SLeo (Sunpeng) Li struct dc_gamma; 31ec7e6bb8SLeo (Sunpeng) Li struct dc_transfer_func_distributed_points; 32ec7e6bb8SLeo (Sunpeng) Li struct dc_rgb_fixed; 33ec7e6bb8SLeo (Sunpeng) Li enum dc_transfer_func_predefined; 34ec7e6bb8SLeo (Sunpeng) Li 35ec7e6bb8SLeo (Sunpeng) Li void setup_x_points_distribution(void); 36ec7e6bb8SLeo (Sunpeng) Li void precompute_pq(void); 37792474b7SVitaly Prosyak void precompute_de_pq(void); 38ec7e6bb8SLeo (Sunpeng) Li 39ec7e6bb8SLeo (Sunpeng) Li bool mod_color_calculate_regamma_params(struct dc_transfer_func *output_tf, 40ec7e6bb8SLeo (Sunpeng) Li const struct dc_gamma *ramp, bool mapUserRamp); 41ec7e6bb8SLeo (Sunpeng) Li 42792474b7SVitaly Prosyak bool mod_color_calculate_degamma_params(struct dc_transfer_func *output_tf, 43792474b7SVitaly Prosyak const struct dc_gamma *ramp, bool mapUserRamp); 44792474b7SVitaly Prosyak 45ec7e6bb8SLeo (Sunpeng) Li bool mod_color_calculate_curve(enum dc_transfer_func_predefined trans, 46ec7e6bb8SLeo (Sunpeng) Li struct dc_transfer_func_distributed_points *points); 47ec7e6bb8SLeo (Sunpeng) Li 48792474b7SVitaly Prosyak bool mod_color_calculate_degamma_curve(enum dc_transfer_func_predefined trans, 49792474b7SVitaly Prosyak struct dc_transfer_func_distributed_points *points); 50792474b7SVitaly Prosyak 51792474b7SVitaly Prosyak 52ec7e6bb8SLeo (Sunpeng) Li 53ec7e6bb8SLeo (Sunpeng) Li #endif /* COLOR_MOD_COLOR_GAMMA_H_ */ 54