SDL  2.0
edid.h
Go to the documentation of this file.
1 typedef unsigned char uchar;
2 typedef struct MonitorInfo MonitorInfo;
3 typedef struct Timing Timing;
4 typedef struct DetailedTiming DetailedTiming;
5 
6 typedef enum
7 {
9  DVI,
14 } Interface;
15 
16 typedef enum
17 {
20  RGB,
22 } ColorType;
23 
24 typedef enum
25 {
33 } StereoType;
34 
35 struct Timing
36 {
37  int width;
38  int height;
39  int frequency;
40 };
41 
43 {
45  int h_addr;
46  int h_blank;
47  int h_sync;
49  int v_addr;
50  int v_blank;
51  int v_sync;
53  int width_mm;
54  int height_mm;
59 
61  union
62  {
63  struct
64  {
65  int bipolar;
68  } analog;
69 
70  struct
71  {
72  int composite;
73  int serrations;
76  } digital;
77  } ad;
78 };
79 
81 {
82  int checksum;
85  unsigned int serial_number;
86 
87  int production_week; /* -1 if not specified */
88  int production_year; /* -1 if not specified */
89  int model_year; /* -1 if not specified */
90 
93 
95 
96  union
97  {
98  struct
99  {
102  int rgb444;
103  int ycrcb444;
104  int ycrcb422;
105  } digital;
106 
107  struct
108  {
112 
114 
120  } analog;
121  } ad;
122 
123  int width_mm; /* -1 if not specified */
124  int height_mm; /* -1 if not specified */
125  double aspect_ratio; /* -1.0 if not specififed */
126 
127  double gamma; /* -1.0 if not specified */
128 
129  int standby;
130  int suspend;
132 
136 
137  double red_x;
138  double red_y;
139  double green_x;
140  double green_y;
141  double blue_x;
142  double blue_y;
143  double white_x;
144  double white_y;
145 
146  Timing established[24]; /* Terminated by 0x0x0 */
148 
150  DetailedTiming detailed_timings[4]; /* If monitor has a preferred
151  * mode, it is the first one
152  * (whether it has, is
153  * determined by the
154  * preferred_timing_includes
155  * bit.
156  */
157 
158  /* Optional product description */
161  char dsc_string[14]; /* Unspecified ASCII data */
162 };
163 
165 void dump_monitor_info (MonitorInfo *info);
166 char * make_display_name (const char *output_name,
167  const MonitorInfo *info);
uchar
unsigned char uchar
Definition: edid.h:1
MonitorInfo::preferred_timing_includes_native
int preferred_timing_includes_native
Definition: edid.h:134
MonitorInfo::dsc_string
char dsc_string[14]
Definition: edid.h:161
OTHER_COLOR
@ OTHER_COLOR
Definition: edid.h:21
DetailedTiming::h_sync
int h_sync
Definition: edid.h:47
DetailedTiming::interlaced
int interlaced
Definition: edid.h:57
FOUR_WAY_INTERLEAVED
@ FOUR_WAY_INTERLEAVED
Definition: edid.h:31
DetailedTiming::serrations
int serrations
Definition: edid.h:66
DetailedTiming::composite
int composite
Definition: edid.h:72
MonitorInfo::standard
Timing standard[8]
Definition: edid.h:147
MonitorInfo::ad
union MonitorInfo::@270 ad
MonitorInfo::color_type
ColorType color_type
Definition: edid.h:119
MonitorInfo
Definition: edid.h:80
HDMI_B
@ HDMI_B
Definition: edid.h:11
DetailedTiming::height_mm
int height_mm
Definition: edid.h:54
MonitorInfo::established
Timing established[24]
Definition: edid.h:146
MonitorInfo::interface
Interface interface
Definition: edid.h:101
DetailedTiming::top_border
int top_border
Definition: edid.h:56
UNDEFINED
@ UNDEFINED
Definition: edid.h:8
TWO_WAY_LEFT_ON_EVEN
@ TWO_WAY_LEFT_ON_EVEN
Definition: edid.h:30
MonitorInfo::manufacturer_code
char manufacturer_code[4]
Definition: edid.h:83
decode_edid
MonitorInfo * decode_edid(const uchar *data)
Definition: edid-parse.c:523
MDDI
@ MDDI
Definition: edid.h:12
StereoType
StereoType
Definition: edid.h:24
RGB
@ RGB
Definition: edid.h:20
MonitorInfo::composite_sync_on_h
int composite_sync_on_h
Definition: edid.h:116
DetailedTiming::bipolar
int bipolar
Definition: edid.h:65
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
MonitorInfo::blank_to_black
int blank_to_black
Definition: edid.h:113
MONOCHROME
@ MONOCHROME
Definition: edid.h:19
HDMI_A
@ HDMI_A
Definition: edid.h:10
Timing::frequency
int frequency
Definition: edid.h:39
MonitorInfo::aspect_ratio
double aspect_ratio
Definition: edid.h:125
MonitorInfo::sync_signal_level
double sync_signal_level
Definition: edid.h:110
MonitorInfo::analog
struct MonitorInfo::@270::@272 analog
TWO_WAY_RIGHT_ON_EVEN
@ TWO_WAY_RIGHT_ON_EVEN
Definition: edid.h:29
MonitorInfo::ycrcb422
int ycrcb422
Definition: edid.h:104
Timing::height
int height
Definition: edid.h:38
MonitorInfo::serration_on_vsync
int serration_on_vsync
Definition: edid.h:118
DetailedTiming::analog
struct DetailedTiming::@267::@268 analog
MonitorInfo::blue_x
double blue_x
Definition: edid.h:141
MonitorInfo::active_off
int active_off
Definition: edid.h:131
MonitorInfo::suspend
int suspend
Definition: edid.h:130
DetailedTiming::pixel_clock
int pixel_clock
Definition: edid.h:44
dump_monitor_info
void dump_monitor_info(MonitorInfo *info)
Definition: edid-parse.c:551
MonitorInfo::green_x
double green_x
Definition: edid.h:139
DetailedTiming::h_addr
int h_addr
Definition: edid.h:45
MonitorInfo::blue_y
double blue_y
Definition: edid.h:142
DetailedTiming::right_border
int right_border
Definition: edid.h:55
MonitorInfo::separate_hv_sync
int separate_hv_sync
Definition: edid.h:115
DetailedTiming::negative_hsync
int negative_hsync
Definition: edid.h:75
MonitorInfo::dsc_serial_number
char dsc_serial_number[14]
Definition: edid.h:159
MonitorInfo::n_detailed_timings
int n_detailed_timings
Definition: edid.h:149
MonitorInfo::width_mm
int width_mm
Definition: edid.h:123
DetailedTiming::digital
struct DetailedTiming::@267::@269 digital
MonitorInfo::minor_version
int minor_version
Definition: edid.h:92
MonitorInfo::height_mm
int height_mm
Definition: edid.h:124
DetailedTiming::v_front_porch
int v_front_porch
Definition: edid.h:52
ColorType
ColorType
Definition: edid.h:16
DetailedTiming::digital_sync
int digital_sync
Definition: edid.h:60
MonitorInfo::production_week
int production_week
Definition: edid.h:87
NO_STEREO
@ NO_STEREO
Definition: edid.h:26
MonitorInfo::total_signal_level
double total_signal_level
Definition: edid.h:111
MonitorInfo::is_digital
int is_digital
Definition: edid.h:94
DetailedTiming::v_sync
int v_sync
Definition: edid.h:51
MonitorInfo::serial_number
unsigned int serial_number
Definition: edid.h:85
DetailedTiming::v_addr
int v_addr
Definition: edid.h:49
Timing
Definition: edid.h:35
MonitorInfo::green_y
double green_y
Definition: edid.h:140
Timing::width
int width
Definition: edid.h:37
DetailedTiming::v_blank
int v_blank
Definition: edid.h:50
MonitorInfo::standby
int standby
Definition: edid.h:129
UNDEFINED_COLOR
@ UNDEFINED_COLOR
Definition: edid.h:18
FIELD_RIGHT
@ FIELD_RIGHT
Definition: edid.h:27
MonitorInfo::srgb_is_standard
int srgb_is_standard
Definition: edid.h:133
DetailedTiming::stereo
StereoType stereo
Definition: edid.h:58
MonitorInfo::bits_per_primary
int bits_per_primary
Definition: edid.h:100
DetailedTiming::width_mm
int width_mm
Definition: edid.h:53
MonitorInfo::detailed_timings
DetailedTiming detailed_timings[4]
Definition: edid.h:150
Interface
Interface
Definition: edid.h:6
SIDE_BY_SIDE
@ SIDE_BY_SIDE
Definition: edid.h:32
FIELD_LEFT
@ FIELD_LEFT
Definition: edid.h:28
MonitorInfo::red_y
double red_y
Definition: edid.h:138
DISPLAY_PORT
@ DISPLAY_PORT
Definition: edid.h:13
DetailedTiming::sync_on_green
int sync_on_green
Definition: edid.h:67
MonitorInfo::gamma
double gamma
Definition: edid.h:127
MonitorInfo::white_y
double white_y
Definition: edid.h:144
MonitorInfo::digital
struct MonitorInfo::@270::@271 digital
MonitorInfo::composite_sync_on_green
int composite_sync_on_green
Definition: edid.h:117
DetailedTiming::h_blank
int h_blank
Definition: edid.h:46
DetailedTiming::h_front_porch
int h_front_porch
Definition: edid.h:48
MonitorInfo::dsc_product_name
char dsc_product_name[14]
Definition: edid.h:160
MonitorInfo::video_signal_level
double video_signal_level
Definition: edid.h:109
MonitorInfo::model_year
int model_year
Definition: edid.h:89
MonitorInfo::white_x
double white_x
Definition: edid.h:143
MonitorInfo::rgb444
int rgb444
Definition: edid.h:102
MonitorInfo::product_code
int product_code
Definition: edid.h:84
make_display_name
char * make_display_name(const char *output_name, const MonitorInfo *info)
DetailedTiming::ad
union DetailedTiming::@267 ad
MonitorInfo::checksum
int checksum
Definition: edid.h:82
DetailedTiming::negative_vsync
int negative_vsync
Definition: edid.h:74
MonitorInfo::major_version
int major_version
Definition: edid.h:91
MonitorInfo::production_year
int production_year
Definition: edid.h:88
MonitorInfo::continuous_frequency
int continuous_frequency
Definition: edid.h:135
MonitorInfo::ycrcb444
int ycrcb444
Definition: edid.h:103
DVI
@ DVI
Definition: edid.h:9
MonitorInfo::red_x
double red_x
Definition: edid.h:137
DetailedTiming
Definition: edid.h:42