• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef DI_DMT_H
2 #define DI_DMT_H
3 
4 /**
5  * libdisplay-info's low-level API for VESA Display Monitor Timing (DMT).
6  *
7  * The library implements VESA DMT version 1.0 revision 13.
8  */
9 
10 #include <stdbool.h>
11 #include <stdint.h>
12 
13 /**
14  * A DMT timing.
15  */
16 struct di_dmt_timing {
17 	/* DMT ID */
18 	uint8_t dmt_id;
19 	/* EDID standard timing 2-byte code, zero if unset */
20 	uint16_t edid_std_id;
21 	/* CVT 3-byte code, zero if unset */
22 	uint32_t cvt_id;
23 	/* Addressable pixels */
24 	int32_t horiz_video, vert_video;
25 	/* Field Refresh Rate in Hz */
26 	float refresh_rate_hz;
27 	/* Pixel clock in Hz */
28 	int32_t pixel_clock_hz;
29 	/* Horizontal/Vertical Blanking in pixels/lines */
30 	int32_t horiz_blank, vert_blank;
31 	/* Horizontal/Vertical Front Porch in pixels/lines */
32 	int32_t horiz_front_porch, vert_front_porch;
33 	/* Horizontal/Vertical Sync Pulse Width in pixels/lines */
34 	int32_t horiz_sync_pulse, vert_sync_pulse;
35 	/* Horizontal/Vertical Border in pixels/lines */
36 	int32_t horiz_border, vert_border;
37 	/* Whether the timing has reduced blanking */
38 	bool reduced_blanking;
39 };
40 
41 #endif
42