CEA-861 is the newer standard, published in 2006. I would certainly trust that more than
According to its man page,
cvt is based on the Excel spreadsheet published by vesa.org, which can still be found at https://web.archive.org/web/20090509063155/http://www.vesa.org/Public/CVT/CVTd6r1.xls and is dated April 9, 2003.
The spreadsheet has various values you can tweak: margin size, horizontal granularity of a character cell, how much time to allocate for horizontal and vertical sync...
The values produced by
cvt without the
-r option are calculated as suitable for a CRT display. With the
-r option, the blanking intervals required by a CRT are reduced as much as possible, resulting in something that only a flat panel display might achieve. Of course you could be less than completely zealous in reducing the blanking intervals, and get pixel clock values anywhere in between those two extremes.
I would guess that the CEA-861 working group took another look at some of these values, and came up with fixed standard timing values that fit within the range produced by the various options of the VESA calculations.
Anyway, modern monitors with their digital interfaces will in the overwhelming majority of cases have their EDID data readable by the GPU. That EDID data can include the exact set of display timings for the optimal native resolution of the display, if necessary. (Often it isn't needed, and instead the EDID just references the CEA-861 standard timings by short ID numbers.) The DDC2 signaling that provides access to the EDID data is even implementable on analog VGA.
On laptops with integrated display panels, the EDID information might be embedded in the system firmware instead. But even on MacOS, it is pretty easily retrievable.
So you got me curious. Are you in the business of overclocking old CRT displays, or what are you needing the