brintos

brintos / linux-shallow public Read only

0
0
Text · 3.3 KiB · 198c0e6 Raw
109 lines · c
1/*2 * Copyright 2016 Advanced Micro Devices, Inc.3 *4 * Permission is hereby granted, free of charge, to any person obtaining a5 * copy of this software and associated documentation files (the "Software"),6 * to deal in the Software without restriction, including without limitation7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,8 * and/or sell copies of the Software, and to permit persons to whom the9 * Software is furnished to do so, subject to the following conditions:10 *11 * The above copyright notice and this permission notice shall be included in12 * all copies or substantial portions of the Software.13 *14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR20 * OTHER DEALINGS IN THE SOFTWARE.21 *22 * Authors: AMD23 *24 */25 26#ifndef MOD_SHARED_H_27#define MOD_SHARED_H_28 29enum color_transfer_func {30	TRANSFER_FUNC_UNKNOWN,31	TRANSFER_FUNC_SRGB,32	TRANSFER_FUNC_BT709,33	TRANSFER_FUNC_PQ2084,34	TRANSFER_FUNC_PQ2084_INTERIM,35	TRANSFER_FUNC_LINEAR_0_1,36	TRANSFER_FUNC_LINEAR_0_125,37	TRANSFER_FUNC_GAMMA_22,38	TRANSFER_FUNC_GAMMA_2639};40 41enum vrr_packet_type {42	PACKET_TYPE_VRR,43	PACKET_TYPE_FS_V1,44	PACKET_TYPE_FS_V2,45	PACKET_TYPE_FS_V3,46	PACKET_TYPE_VTEM47};48 49union lut3d_control_flags {50	unsigned int raw;51	struct {52		unsigned int do_chroma_scale				:1;53		unsigned int spec_version				:3;54		unsigned int use_zero_display_black			:1;55		unsigned int use_zero_source_black			:1;56		unsigned int force_display_black			:6;57		unsigned int apply_display_gamma			:1;58		unsigned int exp_shaper_max				:6;59		unsigned int unity_3dlut				:1;60		unsigned int bypass_3dlut				:1;61		unsigned int use_3dlut					:1;62		unsigned int less_than_dcip3				:1;63		unsigned int override_lum				:1;64		unsigned int use_gamut_map_lib					:1;65		unsigned int chromatic_adaptation_src				:1;66		unsigned int chromatic_adaptation_dst				:1;67		unsigned int do_blender_lut_degamma		:1;68		unsigned int reseved					:4;69	} bits;70};71 72enum tm_show_option_internal {73	tm_show_option_internal_single_file		= 0,/*flags2 not in use*/74	tm_show_option_internal_duplicate_file,		/*use flags2*/75	tm_show_option_internal_duplicate_sidebyside/*use flags2*/76};77 78enum lut3d_control_gamut_map {79	lut3d_control_gamut_map_none = 0,80	lut3d_control_gamut_map_tonemap,81	lut3d_control_gamut_map_chto,82	lut3d_control_gamut_map_chso,83	lut3d_control_gamut_map_chci84};85 86enum lut3d_control_rotation_mode {87	lut3d_control_rotation_mode_none = 0,88	lut3d_control_rotation_mode_hue,89	lut3d_control_rotation_mode_cc,90	lut3d_control_rotation_mode_hue_cc91};92 93struct lut3d_settings {94	unsigned char version;95	union lut3d_control_flags flags;96	union lut3d_control_flags flags2;97	enum tm_show_option_internal option;98	unsigned int min_lum;/*multiplied by 100*/99	unsigned int max_lum;100	unsigned int min_lum2;101	unsigned int max_lum2;102	enum lut3d_control_gamut_map map;103	enum lut3d_control_rotation_mode rotation;104	enum lut3d_control_gamut_map map2;105	enum lut3d_control_rotation_mode rotation2;106};107 108#endif /* MOD_SHARED_H_ */109