I actually made the G1X version
Good to know.
I looked at this some more, and the bottom line is the value that the script call "ISO" is fed to SetCDSGain as an sv96 value, but SetCDSGain expects some entirely different units. It's likely camera specific, and it only "works" with ISO values in the sense that it's in a log scale and larger values represent higher sensitivity.
G7X references the string "SetAnaDigiGain dB %d\r" from SetCDSGain, which suggests it's a decibel value for the ADC.
G7X has native manual ISO in video, so I used GetCdsGainValue to read back the ISO at several stops. It appears there is about 194 units per stop of ISO:
124 = 34
200 = 168
400 = 362
800 = 556
1600 = 794
These specific values are likely only valid for cameras share the same sensor (g7x and g5x), but I expect others follow a similar form.
You cannot trivially get this relation from GetCdsGainValue in still image mode, because it only reflects what the live view is doing, and even in manual mode, live view trades off live view shutter and gain based on lighting conditions.
As an aside, I also looked at the DeltaSV value (returned by get_current_exp). On G7X, that value appear to be an APEX96 offset from ISO 200 (real and market are identical on this camera).
I also looked at SetDeltaCDSGain, think it might work in the same units as DeltaSV, but it appears to do
SetCDSGain(GetCdsGainValue() + x)
Other functions:
On g7x
GetCdsPreGainReg and GetSensorPreGain both always returned 0. On inspection, they are hard coded and don't actually do anything aside from printing their hard coded values to the console, but they expect a type argument. They do appear to have real code on some other cameras (elph130, for example)
GetCurrentDriveBaseSvValue returned 576 (=ISO200) in all cases on. It has actual code.