Codebase list edid-decode / 2ae93f1
edid-decode: add support for DisplayID tags 0x09 and 0x0a Support Video Timing Range Limits and Product Serial Number. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Hans Verkuil 4 years ago
1 changed file(s) with 31 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
376376 print_timings(" ", t, suffix);
377377 }
378378
379 // tag 0x0b
380
381 static void parse_displayid_gp_string(const unsigned char *x)
379 // tag 0x09
380
381 static void parse_displayid_video_timing_range_limits(const unsigned char *x)
382 {
383 check_displayid_datablock_revision(x);
384
385 if (!check_displayid_datablock_length(x, 15, 15))
386 return;
387 printf(" Pixel Clock: %.3f-%.3f MHz\n",
388 (double)(x[3] | (x[4] << 8) | (x[5] << 16)) / 100.0,
389 (double)(x[6] | (x[7] << 8) | (x[8] << 16)) / 100.0);
390 printf(" Horizontal Frequency: %u-%u kHz\n", x[9], x[10]);
391 printf(" Minimum Horizontal Blanking: %u pixels\n", x[11] | (x[12] << 8));
392 printf(" Vertical Refresh: %u-%u Hz\n", x[13], x[14]);
393 printf(" Minimum Vertical Blanking: %u lines\n", x[15] | (x[16] << 8));
394 if (x[17] & 0x80)
395 printf(" Supports Interlaced\n");
396 if (x[17] & 0x40)
397 printf(" Supports CVT\n");
398 if (x[17] & 0x20)
399 printf(" Supports CVT Reduced Blanking\n");
400 if (x[17] & 0x10)
401 printf(" Discrete frequency display device\n");
402 }
403
404 // tag 0x0a and 0x0b
405
406 static void parse_displayid_string(const unsigned char *x)
382407 {
383408 check_displayid_datablock_revision(x);
384409 if (check_displayid_datablock_length(x))
916941 print_timings(" ", find_vic_id(i + 1), suffix);
917942 }
918943 break;
919 case 0x0b: parse_displayid_gp_string(x + offset); break;
944 case 0x09: parse_displayid_video_timing_range_limits(x + offset); break;
945 case 0x0a:
946 case 0x0b: parse_displayid_string(x + offset); break;
920947 case 0x0e: parse_displayid_transfer_characteristics(x + offset); break;
921948 case 0x11:
922949 for (i = 0; i < len / 7; i++)