Procedure ChangerModeCompressionHuffman(ModeTelecopie : Booleen, InitialiserTableStatistiques : Nul Ou Fonction(EstBlanc : Booleen,
Index : Entier, EstTerminateur : Booleen Sortie, Longueur : Entier Sortie)
Retourner Nul Ou Caractere=Nul);
Si le paramètre ModeTelecopie a pour valeur Vrai, alors l'ordre de remplissage des bits des octets des codes est conforme à celui des télécopieurs i.e. inverse à celui des ordinateurs.
L'initialisation de la table est réalisée par des appels successifs à la fonction InitialiserTableStatistiques. Si ce paramètre est Nul, alors la statistique du Commite Consultatif International pour le Téléphone et le Télégraphe (CCITT) est utilisée.
Les paramètre de la fonction InitialiserTableStatistiques sont les suivants :
La valeur de retour de la fonction InitialiserTableStatistiques est le code binaire sous forme d'une chaîne de caractères contenant que des chiffres 0 ou 1. Si cette valeur est Nul, alors la table est entière construite par convention.
L'appel à la méthode Vider est automatique pour vider le résidu d'octets non compressé.
Pour plus de précisions sur cette méthode, merci de se référer à Description de méthode de compression Huffman.
/****************************************************************/
Fonction InitialiserTableStatistiques(EstBlanc : Booleen, Index : Entier, EstTerminateur : Booleen Sortie, Longueur : Entier Sortie) Retourner Nul Ou Caractere
/* Objet : Initialise la table de statistiques Huffman. */
/****************************************************************/
Debut
Selon Index Faire
Cas 0 Faire
Retourner "00110101";
Fin Cas
Cas 1 Faire
Retourner "000111";
Fin Cas
Cas 2 Faire
Retourner "0111";
Fin Cas
...
Retourner Nul;
Fin Fonction
Principal
/*******/
Variable
/******/
F1 : FluxCompresse;
Debut
...
F1.ChangerModeCompressionHuffman(Vrai, InitialiserTableStatistiques);
...
F1.ChangerModeCompressionAucun();
...
Fin Principal
- | - | - | - | - | - | - | - | - |