ok penso di aver capito come funziona.
in automatico controlla se W > H o H > W.
in base a questo, ridimensiona partendo dal più grande.

quindi se W > H, ridimensiona partendo dalla larghezza, e proporziona l'altezza.
se H > W fa l'operazione opposta.

ho fatto diverse prove, e il comportamento è risultato sempre quello.