Cheatah: GIF-Dateiformat (test_1)

Beitrag lesen

Hi Klaus,

Beim Screen Descriptor waren aber schon ein paar
unerwartete Dinge dabei.
Die Bildbreite und die Höhe sind um ein bit größer
als ich erwartet hätte. So wie es ist, kannst Du
theoretisch ein Bild der Größe null definieren.

vielleicht kannst Du die Einzelbilder so definieren, daß sie außerhalb des Gesamtbildes liegen? Das ist vermutlich nur sinnvoll, wenn man eine Hintergrundfarbe mit angibt. Ich glaube da alelrdings nicht dran. Vermutlich ist es so einfacher für den Dekoder.

Dann kommt unerwartet ein Extension Block.

Stimmt, das hat mich auch etwas verwirrt... zumal ich 89a bisher kaum angeblickt habe.

Dann steht aber dabei, daß ein Dekoder den Block
erkennen und bearbeiten können muß. Wenn er ihn
nicht verarbeiten kann, dann muß er die Anweisungen
ignorieren, stolpern darf er jedoch nicht!

Gut zu wissen!

Bit_2..0 = bits/pixel wieso null?
Zumindest eine 1 hätte ich da erwartet.
In der 87a-Spezifikation steht was von:
pixel+1 - # bits per pixel for this image.
Wenn ich von dem Wert noch einen abziehe,
dann liege ich wohl voll daneben.
Also muß es wohl so verstanden werden, daß diesem Wert
noch eine 1 dazugezählt werden muß um den endgültigen
Wert zu erhalten. Naja, 'ne Zuweisung steht da nirgends.

Das ist in der Tat so zu verstehen, daß Du zu dem gelesenen Wert noch eins hinzuzählen mußt. Nur so läßt sich mit 3 Bit (= maximal 7) 2^8 kodieren. Außerdem würde eine 0 nicht viel Sinn machen, weil Du dann 2^0 = 1 Farbe hättest - also den Hintergrund.

Raster Data Block fängt mit der Code Size an. Das war
doch die Sache mit der man die 'string table' für die
Komprimierung aufbaut? Versuch kommt noch.

An der Komprimierung knabbere ich auch gerade. Versuche auf Papier waren "erfolgreich", mit anderen Worten ich weiß jetzt, daß es funktioniert und auch wie es arbeitet. Warum es aber eigentlich funktioniert ist mir immer noch nicht ganz klar... ein paar "Aha"-Erlebnisse brauche ich da wohl noch. Letztlich ist das aber auch irrelevant, obwohl ich mich schon bemühe, mein Verständnis zu erweitern.

Wenn ich mich nicht furchtbar täusche, sollten die
unkomprimierten Bilddaten wie folgt lauten:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

Vermutlich doch eher so, wie Du es im BMP-Format beschreibst - schließlich werden nur 4 Bit benötigt! Aber egal...

Hab' ich mich nun getäuscht?

Vielleicht sagt "Code size" nur, daß die Farben 4-Bit-kodiert sind? Wäre zwar doppelt gemoppelt, aber... wozu braucht man sonst eine "04"?

Die komprimierten Daten sollten (laut PSP) so aussehen:

10 04 31 48 31 07 25 B5 58 73 8F 44 59 98 C6 79 60 04

Dazwischen liegt nur noch der Kompressionsalgorithmus.
Mal sehen ob ich Steve Blackstock nachvollziehen kann.
...
Da werde ich wohl doch noch mal weiterknobeln und
schmökern müssen.

Ich auch... :-)

Cheatah

0 50

GIF-Dateiformat (1)

Klaus Junge
  1. 0

    GIF-Dateiformat (2)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        m0b
        1. 0
          m0b
          1. 0
            Cheatah
          2. 0
            Stefan Muenz
            1. 0
              Cheatah
    2. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Klaus Junge
          1. 0
            Cheatah
            1. 0
              Klaus Junge
              1. 0
                Cheatah
    3. 0

      GIF-Dateiformat (2a)

      Klaus Junge
      1. 0
        Cheatah
        1. 0
          Klaus Junge
          1. 0
            Cheatah
            1. 0
              Klaus Junge
              1. 0
                Cheatah
              2. 0
                Calocybe
                1. 0
                  Cheatah
                  1. 0
                    Calocybe
                    1. 0
                      Cheatah
                      1. 0
                        Calocybe
        2. 0
          Jörk Behrends
  2. 0
    Olaf Grönemann
  3. 0

    GIF-Dateiformat (k1)

    Klaus Junge
    1. 0

      GIF-Dateiformat (k2)

      Klaus Junge
      1. 0
        Cheatah
        1. 0
          Klaus Junge
          1. 0
            Cheatah
      2. 0

        GIF-Dateiformat (k3)

        Klaus Junge
        1. 0
          Cheatah
        2. 0

          GIF-Dateiformat (k4)

          Klaus Junge
  4. 0

    GIF-Dateiformat (3=Palette)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Cheatah
  5. 0

    Aktueller Stand der Dinge

    Cheatah
    1. 0
      Klaus Junge
      1. 0
        Cheatah
      2. 0
        Calocybe
        1. 0
          Cheatah
  6. 0

    GIF-Dateiformat (test_1)

    Klaus Junge
    1. 0
      Cheatah
      1. 0
        Klaus Junge
        1. 0
          Klaus Junge
          1. 0
            Calocybe
          2. 0
            Cheatah