BBO BlinkenArea > Blinkenarea > BlinkenlightsProtokolle > DateiFormate > BinaryBlinkenMovie BlinkenArea webs:
BlinkenArea | Main | TWiki | Sandbox | (Recycle Bin)
Blinkenarea . { Changes | Index | Search }

BlinkenArea.BinaryBlinkenMovie
144 pixels ought to be enough for anybody


Home
Ziele
BlinkenArea
BlinkenLights

News
Presse
Links
Forum
MailList
Join

Audio,Video
Projekte
Protokolle
Dateiformate
Troia
bluebox

WTH
ICMP
CBCamp
CCCamp
CCCongress
EasterHack

Stats
Users
SiteMap
TWikiDoku
SiteTools
Translate
WebChanges

Impressum
Imprint

Datenschutzerklärung
Privacy Policy

RSS and Mail notification
powered by: [Powered by Eventphone]

*.bbm - Binary Blinken Movie english

Das Binary Blinken Movie Format wurde erstellt, um ein kleines und einfach zu verarbeitendes Format zu haben. Es wurde mit dem MCUF Protokoll im Hinterkopf entwickelt.

Jede *.bbm Datei beginnt mit einem main header, der einige genrelle Informationen über den Film. Danach können einige zusätzliche header platziert werden. Dahinter kommen dann die Einzelbilder nacheinander. Alle Werte, die länger als ein einzlenes Byte sind, werden in network-byte order, also big-endian oder highbyte first gespeichert.

*.bbm Datei:

  • main header
  • [zusätzliche header]
  • frame start marker
  • frames

main header:

  • magic (32 bit)
    • immer 0x23542666
  • height (16 bit)
    • die Höhe des Films in Pixeln
  • width (16 bit)
    • die Breite des Films in Pixeln
  • channels (16 bit)
    • die Anzahl der Kanäle jedes Pixels
    • 1 für Graustufen, 3 für RGB
  • maxval (16 bit)
    • der maximale Wert in den Pixel-Daten
    • sollte 255 sein
    • Programme dürfen Dateien zurückweisen, die einen anderen Wert als 255 haben
  • framecnt (32 bit)
    • die Anzahl der Einzelbilder in der Datei
    • wenn dieser Wert größer als die wirklich Anzahl der Einzelbilder in der Datei ist, kann das letzte Bild für die verbelibenden Bilder genutzt werden
    • wenn dieser Wert kleiner als die wirklich Anzahl der Einzelbilder in der Datei ist, kann der Film abgeschnitten werden
    • es ist zulässig, diesen Wert zu ignorieren und stattdessen die wirkliche Anzahl der Einzelbilder in der Datei zu verwenden
  • duration (32 bit)
    • die Dauer des gesamten Films in Millisekunden
    • dieser Wert darf von Programmen gerundet werden (z.B. auf 25fps: "frame_cnt = (duration + 20) / 40")
    • wenn dieser Wert größer als die Summe der Einzelbild-Dauern ist, kann das letzte Bild für die verbleibende Zeit angezeigt werden
    • wenn dieser Wert kleiner als die Summe der Einzelbild-Dauern ist, kann der Film abgeschnitten werden
    • es ist zulässig, diesen Wert zu ignorieren und stattdessen die Summe der Einzelbild-Dauern zu verwenden
  • frameptr (32 bit)
    • Zeiger auf frame start marker
    • enthält den absoluten Offset des ersten Bytes des frame start marker

zusätzliche header:

  • sub-magic (32 bit)
  • size (16 bit)
    • Gesamtgröße dieses zusätzlichen headers
  • ...

info header (kann mehrfach vorkommen):

  • sub-magic (32 bit)
    • immer 'i' 'n' 'f' 'o' (ASCII)
  • size (16 bit)
    • Gesamtgröße dieses info header
  • Typ der Information (Null-terminierte ASCII-Zeichenkette)
    • z.B. "author"
  • Information (Null-terminierte ASCII-Zeichenkette)
    • z.B. "blinkender Verdächtiger"

frame start marker:

  • magic (32 bit)
    • immer 'f' 'r' 'm' 's' (ASCII)

frame:

  • duration (16 bit)
    • die Zeit in Millisekunden für die dieses Einzelbild angezeigt werden soll
    • dieser Wert darf von Programmen gerundet werden (z.B. auf 25fps: "frame_cnt = (duration + 20) / 40")
  • pixels (je 8 bit)
    • die Werte der channels * width * height Pixel
    • 0x00 für aus, maxval für an, Werte dazwischen für Graustufen
    • von links nach rechts, dann von oben nach unten (also alle Kanäle des oberen linken Pixels zuerst, dann der Pixel rechts daneben, ...)

-- StefanSchuermans - 16 Sep 2004


EOF

Topic BinaryBlinkenMovie . { Edit | Attach | Ref-By | Printable | Diffs | r1.3 | > | r1.2 | > | r1.1 | More }
Revision r1.3 - 16 Sep 2004 - 13:41 - StefanSchuermans
Parents: BlinkenlightsProtokolle > DateiFormate