Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme de décompression GIF (16 couleurs)


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Algorithme de décompression GIF (16 couleurs)
    Bonjour,

    J’espère poster au bon endroit. Si ça n'est pas le cas, mes excuses par avance au gentil administrateur qui déplacera mon topic.

    Dans le but de créer une fonction d'affichage d'un gif animé sur une écran tft 80X160 ST7735S piloté par un micro-contrôleur ARM M3 (MBED LPC1768), je cherche à bien comprendre la méthode de décompression LZW des gif.

    J'ai suivi quelques tutoriels sur la décompression, et notamment ceux-ci :

    http://dictionnaire.sensagent.lepari...0Format/en-en/

    http://giflib.sourceforge.net/whatsi...mage_data.html

    Je pensais avoir compris la méthode (notamment pour des palettes a 256 couleurs), mais quand je passe à une palette de 16 couleurs (gif créé via photoshop), je ne peux décompresser correctement que les trois premières lignes de mon gif de test.
    Avant que l'on ne me pose la question, je souhaite garder une palette à 16 couleurs pour des questions futures de taille de palette dynamique lors de la programmation sur mon micro-contrôleur.
    La problématique c'est que pour le coup, je ne suis pas certain d'avoir compris la subtilité du décodage pour une palette à 256 couleurs.

    J'en viens donc à mon problème :

    Je décode le gif suivant Nom : test1 - 16 color.gif
Affichages : 108
Taille : 106 octets

    Je vous joints un fichier excel :
    - la première feuille décrit la récupération du "stream code". Je découpe les octets constituant l'image en groupe de 5 bit (normal j'ai 0xF couleurs, soit une découpe de 5 bit des octets).
    - la seconde est la partie décodage proprement dite

    Si quelqu'un expert dans ce domaine pouvait m'expliquer ou est mon erreur...

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bon, je vais me répondre à moi même :

    En fait il faut prendre en compte le fait que le stream code n'a pas une taille fixe. il augmente de 1 bit quand la valeur du nouveau index ajouté vaut 2^(taile en bit du code en cours)-1...

    Si ça intéresse qq'un je peux développer.

    Bonne journée a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. couleur de fond derrière un .gif
    Par Dark Neggror dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/05/2008, 10h43
  2. Algorithme qui détermine un espace couleur hybride
    Par hanane78 dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/02/2007, 19h15
  3. algorithme de décompression ZIP
    Par alain77 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/01/2007, 11h23
  4. Réponses: 2
    Dernier message: 26/04/2006, 22h34
  5. [C / API32 ] Algorithme d'indexation des couleurs
    Par elf dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 03/08/2005, 04h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo