edid.h
Go to the documentation of this file.
typedef unsigned char uchar;
typedef struct MonitorInfo MonitorInfo;
typedef struct Timing Timing;
typedef struct DetailedTiming DetailedTiming;
typedef enum
{
UNDEFINED,
DVI,
HDMI_A,
HDMI_B,
MDDI,
DISPLAY_PORT
} Interface;
typedef enum
{
UNDEFINED_COLOR,
MONOCHROME,
RGB,
OTHER_COLOR
} ColorType;
typedef enum
{
NO_STEREO,
FIELD_RIGHT,
FIELD_LEFT,
TWO_WAY_RIGHT_ON_EVEN,
TWO_WAY_LEFT_ON_EVEN,
FOUR_WAY_INTERLEAVED,
SIDE_BY_SIDE
} StereoType;
struct Timing
{
int width;
int height;
int frequency;
};
struct DetailedTiming
{
int pixel_clock;
int h_addr;
int h_blank;
int h_sync;
int h_front_porch;
int v_addr;
int v_blank;
int v_sync;
int v_front_porch;
int width_mm;
int height_mm;
int right_border;
int top_border;
int interlaced;
StereoType stereo;
int digital_sync;
union
{
struct
{
int bipolar;
int serrations;
int sync_on_green;
} analog;
struct
{
int composite;
int serrations;
int negative_vsync;
int negative_hsync;
} digital;
};
};
struct MonitorInfo
{
int checksum;
char manufacturer_code[4];
int product_code;
unsigned int serial_number;
int production_week; /* -1 if not specified */
int production_year; /* -1 if not specified */
int model_year; /* -1 if not specified */
int major_version;
int minor_version;
int is_digital;
union
{
struct
{
int bits_per_primary;
Interface interface;
int rgb444;
int ycrcb444;
int ycrcb422;
} digital;
struct
{
double video_signal_level;
double sync_signal_level;
double total_signal_level;
int blank_to_black;
int separate_hv_sync;
int composite_sync_on_h;
int composite_sync_on_green;
int serration_on_vsync;
ColorType color_type;
} analog;
};
int width_mm; /* -1 if not specified */
int height_mm; /* -1 if not specified */
double aspect_ratio; /* -1.0 if not specififed */
double gamma; /* -1.0 if not specified */
int standby;
int suspend;
int active_off;
int srgb_is_standard;
int preferred_timing_includes_native;
int continuous_frequency;
double red_x;
double red_y;
double green_x;
double green_y;
double blue_x;
double blue_y;
double white_x;
double white_y;
Timing established[24]; /* Terminated by 0x0x0 */
Timing standard[8];
int n_detailed_timings;
DetailedTiming detailed_timings[4]; /* If monitor has a preferred
* mode, it is the first one
* (whether it has, is
* determined by the
* preferred_timing_includes
* bit.
*/
/* Optional product description */
char dsc_serial_number[14];
char dsc_product_name[14];
char dsc_string[14]; /* Unspecified ASCII data */
};
MonitorInfo *decode_edid (const uchar *data);
void dump_monitor_info (MonitorInfo *info);
char * make_display_name (const char *output_name,
const MonitorInfo *info);
MonitorInfo::green_y
double green_y
Definition: edid.h:140
MonitorInfo::n_detailed_timings
int n_detailed_timings
Definition: edid.h:149
MonitorInfo::production_week
int production_week
Definition: edid.h:87
MonitorInfo::ycrcb444
int ycrcb444
Definition: edid.h:103
RGB
Definition: edid.h:20
DetailedTiming::h_sync
int h_sync
Definition: edid.h:47
FIELD_LEFT
Definition: edid.h:28
DetailedTiming::h_front_porch
int h_front_porch
Definition: edid.h:48
Timing::frequency
int frequency
Definition: edid.h:39
Timing::height
int height
Definition: edid.h:38
MonitorInfo::minor_version
int minor_version
Definition: edid.h:92
DetailedTiming::negative_vsync
int negative_vsync
Definition: edid.h:74
UNDEFINED
Definition: edid.h:8
MonitorInfo::active_off
int active_off
Definition: edid.h:131
MonitorInfo::suspend
int suspend
Definition: edid.h:130
MonitorInfo::standby
int standby
Definition: edid.h:129
DetailedTiming::interlaced
int interlaced
Definition: edid.h:57
MonitorInfo::major_version
int major_version
Definition: edid.h:91
DetailedTiming::height_mm
int height_mm
Definition: edid.h:54
DetailedTiming::serrations
int serrations
Definition: edid.h:66
MonitorInfo::product_code
int product_code
Definition: edid.h:84
ColorType
ColorType
Definition: edid.h:16
DetailedTiming::bipolar
int bipolar
Definition: edid.h:65
MonitorInfo::white_y
double white_y
Definition: edid.h:144
Timing::width
int width
Definition: edid.h:37
MonitorInfo::checksum
int checksum
Definition: edid.h:82
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1967
HDMI_A
Definition: edid.h:10
MonitorInfo::sync_signal_level
double sync_signal_level
Definition: edid.h:110
MonitorInfo::red_x
double red_x
Definition: edid.h:137
FOUR_WAY_INTERLEAVED
Definition: edid.h:31
MonitorInfo::interface
Interface interface
Definition: edid.h:101
MonitorInfo::width_mm
int width_mm
Definition: edid.h:123
make_display_name
char * make_display_name(const char *output_name, const MonitorInfo *info)
DetailedTiming::composite
int composite
Definition: edid.h:72
OTHER_COLOR
Definition: edid.h:21
DetailedTiming::pixel_clock
int pixel_clock
Definition: edid.h:44
decode_edid
MonitorInfo * decode_edid(const uchar *data)
Definition: edid-parse.c:521
MonitorInfo::blue_x
double blue_x
Definition: edid.h:141
MonitorInfo::color_type
ColorType color_type
Definition: edid.h:119
MonitorInfo::ycrcb422
int ycrcb422
Definition: edid.h:104
Timing
Definition: edid.h:35
MonitorInfo::model_year
int model_year
Definition: edid.h:89
DetailedTiming::negative_hsync
int negative_hsync
Definition: edid.h:75
TWO_WAY_LEFT_ON_EVEN
Definition: edid.h:30
DetailedTiming::digital_sync
int digital_sync
Definition: edid.h:60
DetailedTiming::top_border
int top_border
Definition: edid.h:56
DetailedTiming::right_border
int right_border
Definition: edid.h:55
HDMI_B
Definition: edid.h:11
MonitorInfo::serration_on_vsync
int serration_on_vsync
Definition: edid.h:118
DetailedTiming::v_front_porch
int v_front_porch
Definition: edid.h:52
MDDI
Definition: edid.h:12
StereoType
StereoType
Definition: edid.h:24
SIDE_BY_SIDE
Definition: edid.h:32
MonitorInfo::continuous_frequency
int continuous_frequency
Definition: edid.h:135
MonitorInfo::aspect_ratio
double aspect_ratio
Definition: edid.h:125
DetailedTiming::v_addr
int v_addr
Definition: edid.h:49
MonitorInfo::preferred_timing_includes_native
int preferred_timing_includes_native
Definition: edid.h:134
DetailedTiming
Definition: edid.h:42
MONOCHROME
Definition: edid.h:19
MonitorInfo::srgb_is_standard
int srgb_is_standard
Definition: edid.h:133
DetailedTiming::h_addr
int h_addr
Definition: edid.h:45
MonitorInfo::rgb444
int rgb444
Definition: edid.h:102
MonitorInfo::total_signal_level
double total_signal_level
Definition: edid.h:111
DetailedTiming::v_sync
int v_sync
Definition: edid.h:51
MonitorInfo::is_digital
int is_digital
Definition: edid.h:94
TWO_WAY_RIGHT_ON_EVEN
Definition: edid.h:29
uchar
unsigned char uchar
Definition: edid.h:1
MonitorInfo::composite_sync_on_h
int composite_sync_on_h
Definition: edid.h:116
DetailedTiming::stereo
StereoType stereo
Definition: edid.h:58
MonitorInfo
Definition: edid.h:80
MonitorInfo::composite_sync_on_green
int composite_sync_on_green
Definition: edid.h:117
DetailedTiming::width_mm
int width_mm
Definition: edid.h:53
MonitorInfo::blank_to_black
int blank_to_black
Definition: edid.h:113
MonitorInfo::height_mm
int height_mm
Definition: edid.h:124
DetailedTiming::v_blank
int v_blank
Definition: edid.h:50
DVI
Definition: edid.h:9
NO_STEREO
Definition: edid.h:26
UNDEFINED_COLOR
Definition: edid.h:18
dump_monitor_info
void dump_monitor_info(MonitorInfo *info)
Definition: edid-parse.c:549
MonitorInfo::white_x
double white_x
Definition: edid.h:143
MonitorInfo::serial_number
unsigned int serial_number
Definition: edid.h:85
MonitorInfo::production_year
int production_year
Definition: edid.h:88
MonitorInfo::bits_per_primary
int bits_per_primary
Definition: edid.h:100
MonitorInfo::gamma
double gamma
Definition: edid.h:127
MonitorInfo::green_x
double green_x
Definition: edid.h:139
DetailedTiming::h_blank
int h_blank
Definition: edid.h:46
DetailedTiming::sync_on_green
int sync_on_green
Definition: edid.h:67
MonitorInfo::blue_y
double blue_y
Definition: edid.h:142
MonitorInfo::video_signal_level
double video_signal_level
Definition: edid.h:109
FIELD_RIGHT
Definition: edid.h:27
DISPLAY_PORT
Definition: edid.h:13
MonitorInfo::separate_hv_sync
int separate_hv_sync
Definition: edid.h:115
MonitorInfo::red_y
double red_y
Definition: edid.h:138
Interface
Interface
Definition: edid.h:6