PS : pour passer de 14 à 8 bits, on ne divise pas par 14 et multiplie par 8, on divise par 2 puissance 14 (16384) et on multiplie par 2 puissance 8 (256), c'est à dire qu'on divise par 256.
En fait et comme le lien que tu as donné plus haut l'indique (en fait un lien dans le lien), sur les M8 et M9, on ne fait pas ca, on prend la racine carrée de la valeur de façon à favoriser les hautes lumières.
Si un pixel n'écrête pas en 14 bits, comme sa valeur multipliée par 8 puis divisée par 14 pourrait-elle écrêter ?
Les pixels qui écrêtent après transposition en 8 bits sont forcément ceux qui écrêtent en 14 bits, non ?
Et non. Supposons qu'on soit en 16 bits et qu'on prenne la racine carrée : la valeur max est 65535 pour une couleur. Donc 65026 n'est pas saturé dans ce codage.
Mais si on prend la racine carrée, ca vaut 255 après compression donc la valeur max en 8 bits et on est saturé.
Ca serait d'ailleurs vrai aussi si on faisait division/multiplication et c'est logique : sinon, on pourrait démontrer qu'il n'y a pas de perte d'infos du tout en passant de 14 bits à 8 bits ce qui vaudrait sans doute à son auteur une médaille Fields. Ou plus probablement de bien faire rire tout le monde
