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);