Dateiformate
Inhaltsverzeichnis
RAW+PAL
Bei diesem Format werden zwei Dateien benutzt: Eine für die Bilddaten (.raw) und eine für die Palette (.pal). RAW-Dateien haben folgendes Format:
Offset | Datentyp | Beschreibung |
---|---|---|
0 | Short | Breite des Bildes (Little-Endian) |
2 | Short | Höhe des Bildes (Little-Endian) |
4 | Byte | Transparenzfarbe |
5 | Byte[N] | Bilddaten |
Die Bilddaten enthalten die eigentlichen Pixel. Bei Bildern für das LCD werden zwei Pixel pro Byte gespeichert (das Hi-Nibble enthält den linken Pixel), bei Bildern für den Framebuffer ist es ein Pixel pro Byte.
Die Größe des Byte-Arrays 'Bilddaten' ist bei LCD-Bildern N = Breite * Höhe / 2. Bei Framebuffer-Bildern ist N = Breite * Höhe. Warum LCD-Bilder 4 Bits pro Pixel enthalten und nicht 1 Bit ist mir schleierhaft. Das LCD selber kann ja nur zwei Farben darstellen.
Das Array 'Bilddaten' enthält zuerst die Bilddaten für die erste Zeile, dann für zweite Zeile, usw.
Paletten-Dateien enthalten 256 RGB-Farbeinträge. Jede Palettendatei ist somit 768 Bytes groß.
ANI
Dieses Format dient der Speicherung von Animationen von LCD-Bildern genutzt. Es wird vom Programm aniplay verwendet. Es hat den folgenden Aufbau:
Offset | Datentyp | Beschreibung |
---|---|---|
0 | Char[4] | Signatur (= 'LCDA') |
4 | Short | Format |
6 | Short | Breite der Bilder |
8 | Short | Höhe der Bilder |
10 | Short | Anzahl der Bilder (= n) |
12 | Short | Wartezeit zwischen den Bildern |
14 | Byte[N] | Bilddaten der Einzelbilder |
Alle multi-byte Integers sind im Gegensatz zum RAW Format in Big Endian. Die Felder Format, Breite und Höhe werden von aniplay ignoriert. Sie sind eigentlich überflüssig, dar dieses Format ausschließlich für LCD-Animationen genutzt wird.
Als Format ist nur der Wert 0 spezifiziert. Dieses sieht vor jeweils 1 Bit pro Pixel zu benutzen. Ein Byte enthält 8 untereinanderliegende Pixel. Sie werden nachfolgend als Teilspalte bezeichnet, dar eine Teilspalte eben nur 8 Pixel anstatt der 64 Pixel einer (Voll-)Spalte enthalten. Die Daten werden so gespeichert: Es zuerst nebeneinanderliegende Teilspalten, welche in der ersten Zeile beginnen gespeichert. Dies sind 120 Teilspalten (dar das LCD ja aus 120 Spalten besteht). Danach werden die unterhalb liegenden Spalten (welche in Zeile 8 beginnen) gespeichert. Danach wiederum die Darunterliegenden und so weiter.
Das Bilddaten-Array ist N = n * Breite * Höhe / 8 Bytes groß.
Format der Datei logo-fb
Diese Datei wird im MPEG-1 Format gespeichert. Die Auflösung ist 720x756 Pixel, die Frame Rate bei 25 FPS und die Videonorm sollte PAL sein. Es wird nur ein Einzelbild gespeichert.
Die Datei befindet sich im Ordner /var/tuxbox/boot.
Format der Datei logo-lcd
Diese Datei enthält exakt 120 * 64 = 7680 Bytes. Das Layout der Pixel ist wie beim ANI-Format. Es wird jeweils ein Byte pro Pixel gespeichert.
Die Datei befindet sich im Ordner /var/tuxbox/boot.
Referenzen
RAW/ANI: Im cdk: '/source/hostapps/bmp2raw/formats.txt'
logo-lcd: im cdk: '/source/boot/u-boot/board/dbox2/lcd.c'