Lines Matching refs:edid

51 decode_header (const uchar *edid)  in decode_header()  argument
53 if (SDL_memcmp (edid, "\x00\xff\xff\xff\xff\xff\xff\x00", 8) == 0) in decode_header()
59 decode_vendor_and_product_identification (const uchar *edid, MonitorInfo *info) in decode_vendor_and_product_identification() argument
64 info->manufacturer_code[0] = get_bits (edid[0x08], 2, 6); in decode_vendor_and_product_identification()
65 info->manufacturer_code[1] = get_bits (edid[0x08], 0, 1) << 3; in decode_vendor_and_product_identification()
66 info->manufacturer_code[1] |= get_bits (edid[0x09], 5, 7); in decode_vendor_and_product_identification()
67 info->manufacturer_code[2] = get_bits (edid[0x09], 0, 4); in decode_vendor_and_product_identification()
75 info->product_code = edid[0x0b] << 8 | edid[0x0a]; in decode_vendor_and_product_identification()
79 edid[0x0c] | edid[0x0d] << 8 | edid[0x0e] << 16 | (Uint32)edid[0x0f] << 24; in decode_vendor_and_product_identification()
83 switch (edid[0x10]) in decode_vendor_and_product_identification()
95 info->production_week = edid[0x10]; in decode_vendor_and_product_identification()
102 info->model_year = 1990 + edid[0x11]; in decode_vendor_and_product_identification()
106 info->production_year = 1990 + edid[0x11]; in decode_vendor_and_product_identification()
114 decode_edid_version (const uchar *edid, MonitorInfo *info) in decode_edid_version() argument
116 info->major_version = edid[0x12]; in decode_edid_version()
117 info->minor_version = edid[0x13]; in decode_edid_version()
123 decode_display_parameters (const uchar *edid, MonitorInfo *info) in decode_display_parameters() argument
126 info->is_digital = get_bit (edid[0x14], 7); in decode_display_parameters()
142 bits = get_bits (edid[0x14], 4, 6); in decode_display_parameters()
145 bits = get_bits (edid[0x14], 0, 3); in decode_display_parameters()
154 int bits = get_bits (edid[0x14], 5, 6); in decode_display_parameters()
168 info->ad.analog.blank_to_black = get_bit (edid[0x14], 4); in decode_display_parameters()
170 info->ad.analog.separate_hv_sync = get_bit (edid[0x14], 3); in decode_display_parameters()
171 info->ad.analog.composite_sync_on_h = get_bit (edid[0x14], 2); in decode_display_parameters()
172 info->ad.analog.composite_sync_on_green = get_bit (edid[0x14], 1); in decode_display_parameters()
174 info->ad.analog.serration_on_vsync = get_bit (edid[0x14], 0); in decode_display_parameters()
178 if (edid[0x15] == 0 && edid[0x16] == 0) in decode_display_parameters()
184 else if (edid[0x16] == 0) in decode_display_parameters()
188 info->aspect_ratio = 100.0 / (edid[0x15] + 99); in decode_display_parameters()
190 else if (edid[0x15] == 0) in decode_display_parameters()
194 info->aspect_ratio = 100.0 / (edid[0x16] + 99); in decode_display_parameters()
199 info->width_mm = 10 * edid[0x15]; in decode_display_parameters()
200 info->height_mm = 10 * edid[0x16]; in decode_display_parameters()
204 if (edid[0x17] == 0xFF) in decode_display_parameters()
207 info->gamma = (edid[0x17] + 100.0) / 100.0; in decode_display_parameters()
210 info->standby = get_bit (edid[0x18], 7); in decode_display_parameters()
211 info->suspend = get_bit (edid[0x18], 6); in decode_display_parameters()
212 info->active_off = get_bit (edid[0x18], 5); in decode_display_parameters()
217 if (get_bit (edid[0x18], 3)) in decode_display_parameters()
219 if (get_bit (edid[0x18], 4)) in decode_display_parameters()
224 int bits = get_bits (edid[0x18], 3, 4); in decode_display_parameters()
233 info->srgb_is_standard = get_bit (edid[0x18], 2); in decode_display_parameters()
236 info->preferred_timing_includes_native = get_bit (edid[0x18], 1); in decode_display_parameters()
239 info->continuous_frequency = get_bit (edid[0x18], 0); in decode_display_parameters()
258 decode_color_characteristics (const uchar *edid, MonitorInfo *info) in decode_color_characteristics() argument
260 info->red_x = decode_fraction (edid[0x1b], get_bits (edid[0x19], 6, 7)); in decode_color_characteristics()
261 info->red_y = decode_fraction (edid[0x1c], get_bits (edid[0x19], 5, 4)); in decode_color_characteristics()
262 info->green_x = decode_fraction (edid[0x1d], get_bits (edid[0x19], 2, 3)); in decode_color_characteristics()
263 info->green_y = decode_fraction (edid[0x1e], get_bits (edid[0x19], 0, 1)); in decode_color_characteristics()
264 info->blue_x = decode_fraction (edid[0x1f], get_bits (edid[0x1a], 6, 7)); in decode_color_characteristics()
265 info->blue_y = decode_fraction (edid[0x20], get_bits (edid[0x1a], 4, 5)); in decode_color_characteristics()
266 info->white_x = decode_fraction (edid[0x21], get_bits (edid[0x1a], 2, 3)); in decode_color_characteristics()
267 info->white_y = decode_fraction (edid[0x22], get_bits (edid[0x1a], 0, 1)); in decode_color_characteristics()
273 decode_established_timings (const uchar *edid, MonitorInfo *info) in decode_established_timings() argument
316 int byte = edid[0x23 + i]; in decode_established_timings()
326 decode_standard_timings (const uchar *edid, MonitorInfo *info) in decode_standard_timings() argument
332 int first = edid[0x26 + 2 * i]; in decode_standard_timings()
333 int second = edid[0x27 + 2 * i]; in decode_standard_timings()
482 decode_descriptors (const uchar *edid, MonitorInfo *info) in decode_descriptors() argument
493 if (edid[index + 0] == 0x00 && edid[index + 1] == 0x00) in decode_descriptors()
495 decode_display_descriptor (edid + index, info); in decode_descriptors()
500 edid + index, &(info->detailed_timings[timing_idx++])); in decode_descriptors()
510 decode_check_sum (const uchar *edid, in decode_check_sum() argument
517 check += edid[i]; in decode_check_sum()
523 decode_edid (const uchar *edid) in decode_edid() argument
527 decode_check_sum (edid, info); in decode_edid()
529 if (!decode_header (edid) || in decode_edid()
530 !decode_vendor_and_product_identification (edid, info) || in decode_edid()
531 !decode_edid_version (edid, info) || in decode_edid()
532 !decode_display_parameters (edid, info) || in decode_edid()
533 !decode_color_characteristics (edid, info) || in decode_edid()
534 !decode_established_timings (edid, info) || in decode_edid()
535 !decode_standard_timings (edid, info) || in decode_edid()
536 !decode_descriptors (edid, info)) { in decode_edid()