MonitorInfo * decode_edid(const uint8_t *edid) { MonitorInfo *info = new MonitorInfo(); decode_check_sum(edid, info); if (decode_header(edid) && // decode_vendor_and_product_identification(edid, info) && // decode_edid_version(edid, info) && // decode_display_parameters(edid, info) && // decode_color_characteristics(edid, info) && // decode_established_timings(edid, info) && // decode_standard_timings(edid, info) && // decode_descriptors(edid, info)) { return info; } else { delete info; return 0; } }
MonitorInfo * decode_edid (const uchar *edid) { MonitorInfo *info = calloc (1, sizeof (MonitorInfo)); decode_check_sum (edid, info); if (!decode_header (edid) || !decode_vendor_and_product_identification (edid, info) || !decode_edid_version (edid, info) || !decode_display_parameters (edid, info) || !decode_color_characteristics (edid, info) || !decode_established_timings (edid, info) || !decode_standard_timings (edid, info) || !decode_descriptors (edid, info)) { free(info); return NULL; } return info; }
MonitorInfo * decode_edid (const uchar *edid) { MonitorInfo *info = g_new0 (MonitorInfo, 1); decode_check_sum (edid, info); if (decode_header (edid) && decode_vendor_and_product_identification (edid, info) && decode_edid_version (edid, info) && decode_display_parameters (edid, info) && decode_color_characteristics (edid, info) && decode_established_timings (edid, info) && decode_standard_timings (edid, info) && decode_descriptors (edid, info)) { return info; } else { g_free (info); return NULL; } }