CDXL

Willkommen auf der CDXL-Seite. Auf dieser Seite behandeln wir das CDXL-Format mittels eines ziemlich ausführlichen Berichts von Christian Effenberger. Jetzt hoffe ich mal, dass das CDXL-Format euer Interesse geweckt hat und man schon bald eigene Werke von euch bewundern kann.

Alle in diesem Artikel referenzierten Daten sind auf der CD-Rom des Amiga-Magazins 7/97 zu finden!
»CDXL« ist ein Animationsformat, das von Commodore Ende der 80er Jahre für das damals noch brandneue CDTV (Sie erinnern sich; die Kreuzung aus A-500 und CD-Player im Hifi-Lock) entwickelt wurde. Das Format sollte eine Tonspur enthalten und direkt vom Medium abspielbar sein. Unter den gegebenen Voraussetzungen eines 68000 Prozessors, eines Laufwerks mit 150 Kb/sek. und maximal 4096 Farben ergaben sich natürlich nur relativ geringe Dimensionen. Bei 160x100 in HAM6 mit 11025 Hz 8bit Mono und 12 Bildern pro Sekunde lag damal das absolute Maximum. Durch die unkomprimiert vorliegenden Bild- und Ton-Daten wurde sichergestellt, das ein für heutige Verhältnisse langsamer Prozessor wie der 68000er die anfallende Datenmenge schnell genug in den Speicher schaufeln konnte. Zu dieser Zeit gab es weder AVI noch QuickTime und somit war das CDXL-Format damals im Bereich der Personal Computer einmalig. Aber auch Heute noch bietet sich CDXL geradezu als Alternative zum ANIM-Format an. Es bietet die Möglichkeit einen vertonten Film auf jedem Amiga bei gleichbleibender Geschwindigkeit direkt vom Medium abzuspielen, egal wie groß der Film auch immer sein mag. Das bedeutet: ein 3 minütiger Kinotrailer (60 Mb) direkt von Platte oder CD-Rom (DoubleSpeed), mit Ton und in einer Qualität die sich vor der von AVI-Filmen nicht zu verstecken braucht, auf einem A-500 mit 1 Mb Speicher und OS 3.x. ...nah, wär das was für Sie?
Abbildung [1] Die Playeroberfläche »cdgsxlGUI2«
Dieser Artikel soll Ihnen die Grundlagen vermitteln, um mit den Programmen »cdgsxlGUI2« und »XLToolKitGUI«, in kürzester zeit ansprechende Filme zu erstellen. Das Programmpaket unterteilt sich in den eigentlichen FilmEditor »XLToolKitGUI« und den FilmPlayer »cdgsxlGUI2«, sowie einige BeispielFilme und sonstige Dateien.
Abbildung [2] HAM6 Film auf HiRes Hintergrundbild (AGA)
Zum besseren Verständniß, und damit Sie einen Eindruck vom späteren Ergebnis erhalten, werfen Sie doch einmal einen Blick auf die Abbildungen [2]&[3]. Was Sie sehen ist die Bildschirmseite eines CDXL-Filmes der auf einem Hintergrundbild abgespielt wird. Der Film liegt im HAM6 Format vor, und kann deswegen sowohl auf einem LoRes-Bildschirm für ECS-Rechner [3] abgespielt werden, als auch auf einem HiRes-Bildschirm für AGA-Rechner [2]. Das Hintergrundbild wurde so präpariert, das es trotz wechselnder BildPaletten des Films sein Aussehen nicht verändert. Sie merken schon, CDXL bietet ungewohnte Möglichkeiten zur Präsentation an.
Abbildung [3] HAM6 Film auf LoRes Hintergrundbild (ECS)
Nach erfolgreicher Installation der benötigten Bibliotheken mittels des mitgelieferten Installationsskriptes, sollten Sie die Voreinstellungspfade beider Programme in den ToolTypes der Piktogramme nach ihren Bedürfnissen anpassen. Beide Programme passen sich übrigens automatisch an die verwendete Sprache ihrer Workbench an. Falls Sie keine deutsche Workbench benutzen, werden die Programme mit einer englischen Benutzerführung gestartet. Bitte vergessen Sie nicht das beide Programme im Prinzip nur graphische Benutzeroberflächen für reine CLI-Programme darstellen. Deshalb müssen Sie selbst sicherstellen, das sich diese CLI-Programme in dem Pfad befinden, den Sie als ToolType vorgegeben haben.
Nun haben Sie alle Vorbereitungen getroffen, um mit der Erstellung eines Filmes beginnen zu können. Zuvor sollten Sie aber einmal, je nach Ausstattung, eines der beiden Icons 'DropZone.ECS' oder 'DropZone.AGA' anklicken, um sich einen Eindruck von den Formatqualitäten zu verschaffen.
Abbildung [4] Die Editoroberfläche »XLToolKitGUI«
Schritt 1:
Nachdem Sie XLToolKitGUI gestartet haben, befinden Sie sich auf der Hauptsteuertafel (siehe Abbildung [4]). Die sichtbaren Knöpfe in Form von Karteikartenreitern am oberen Fensterrand zeigen das Spektrum der Bearbeitungsmöglichkeiten an. Da wir einen Film erstellen möchten, klicken Sie bitte auf den Knopf »Erstellen«. Falls die nachfolgenden Beschreibungen für Ihren Geschmack nicht ausführlich genug sind, können Sie jederzeit die kontextsensitive OnLine-Hilfe durch einen Druck auf die Taste »Help«, oder durch Anwahl des Menüpunktes »Hilfe« aufrufen.
Schritt 2:
Klicken Sie bitte auf den Knopf »Einfügen« unterhalb der Liste. In dem jetzt geöffneten DateiRequester wählen Sie bitte den Film 'Walker.CDXL' aus. Hierbei handelt es sich um die unsägliche Demonstrantion eines CDXL-Filmes von Commodore. Genau diesen Film werden wir aus einzelnen Bildern und einer Tondatei zusammenstellen. Wenn Sie den Eintrag in der Liste doppelt anklicken, wird auf der rechten Seite ein Dokument mit umfangreichen Informationen zum Film angezeigt. Um zum Abspielen des Filmes nicht auf die Karteikarte »Abspielen« wechseln zu müssen, können sie jederzeit einen Film aus der Liste abspielen, indem sie den Auswahlknopf direkt unter der Liste anklicken. Nun aber zurück zur Erstellung unseres Beispielfilmes.
Schritt 3:
Die Einstellungsmöglichkeiten »interleaved« »HAM« und »AVM« bleiben alle deaktiviert. Dafür klicken Sie bitte auf den DateiSymbolKnopf neben »Name des Films«. In dem jetzt geöffneten DateiRequester geben Sie Pfad und Namen des zu erstellenden Filmes an. Das Gleiche bitte nochmal bei »Basisname der Bilder«. Wählen sie dazu das erste Bild 'B.0001' aus dem Verzeichnis 'SinglePics/' aus. Wenn Sie sich die Nummer des letzten Bildes gemerkt haben, können Sie diesen Wert (25) unter »Anzahl der Bilder« eintragen. Wenn Sie bei »Basisname der Bilder« den Knopf mit dem Pfeil nach unten anklicken, wird das gewählte Bild per MultiView angezeigt. Wenn Sie aber gleichzeitig die Taste »Shift« drücken, können Sie ein Verzeichnis auswählen, dessen Bilder dann alle nacheinander auf einen eigenen Bildschirm geblittet werden. Probieren Sie es mal aus. Jetzt müssen wir noch die benötigte Anzahl der Audio Bytes ermitteln. Dazu klicken Sie bitte einmal auf den SymbolKnopf mit dem Pfeil nach links, direkt neben dem Text »Audio bytes/Bild«. In dem jetzt geöffneten DateiRequester geben Sie Pfad und Namen der zu verwendenden Tondatei an ('Sounds/Walker.SND'). Daraufhin wird unter Verwendung der voreingestellten Anzahl der Bilder pro Sekunde (siehe Menü...), der Wert für die Audiobytes berechnet und eingetragen. Der Knopf rechts daneben dient zum Abspielen der Tondatei mittels Multiview. Die eigentliche Ausführung der ganzen Operation wird durch den Knopf »Film Erstellen« eingeleitet. Also klicken Sie diesen jetzt bitte einmal an.
Schritt 4:
Unser Film ist jetzt eigentlich fertig. Aber halt, da fehlt noch etwas. Der Ton ist nicht enthalten. Bei der Erstellung eines Filmes werden nämlich nur Nullbytes für den Ton belegt, quasi als Platzhalter. Fügen Sie den fertigen Film in die Liste ein, indem Sie einfach auf den Knopf mit dem Pfeil nach links klicken. Mit einem Doppelklick auf den Listeneintrag erhalten Sie Informationen zum Film. Wenn Sie den Ton jetzt noch einfügen möchten, müssen Sie zuerst auf die gleichnamige Karteikarte »Einfügen« wechseln. Danach klicken Sie bitte auf den SymbolKnopf mit dem Pfeil nach rechts, neben »Name des Films«. Schon haben Sie den gerade erstellten Film eingesetzt. Für den Ton geben Sie im DateiRequester die zu verwendenden Tondatei an ('Sounds/Walker.SND'), und die Anzahl der Audio Bytes werden wieder durch einen Klick auf den Knopf mit dem Pfeil nach rechts eingesetzt. Die eigentliche Ausführung der ganzen Operation wird durch den Knopf »Ton Einfügen« eingeleitet. Also klicken Sie diesen jetzt bitte einmal an. Nun ist der Film entgültig fertig.
Die beschriebene Erstellung eines Filmes soll natürlich nur exemplarisch für eine mögliche Vorgehensweise stehen. Diese kurze Einleitung kann auch nicht alle Möglichkeiten und Bearbeitungsformen aufzeigen. Für weiterführende Erläuterungen bedienen Sie sich bitte der mitgelieferten OnLine-Hilfe. Noch ein Wort zu den mitgelieferten Filmen. Da das cdxl.datatype auf dem sound.datatype und dem animation.datatype aufbaut, und diese beiden weder Stereo noch wechselnde Paletten unterstützen, kann Multiview leider nicht alle Filme korrekt abspielen. Hinzu kommt noch, das das cdxl.datatype alle Filme grundsätzlich mit 150 Kb/Sek. wiedergibt. Deswegen habe ich außer mit 'DropZone.CDXL' nur Filme beigelegt, die auch unter Multiview zufriedenstellend abspielbar sind.
Zum Schluß bleibt mir nur, Ihnen viel Spaß und Erfolg bei der Arbeit mit Ihren CDXL-Filmen zu wünschen.
© 1997 by Christian Effenberger
Was sind cdgsxlGUI2 und XLToolKitGUI?
Das Programm cdgsxlGUI2 dient als graphische Oberfläche für den CDXL-Player cdgsxl von Wayne D. Lutz. Es eignet sich hervorragend zum Abspielen von CDXL-Filmen. Im Lieferumfang befinden sich AmigaGuide-Dateien zur OnLine-Hilfe in Deutsch und Englisch. Nicht im Lieferumfang enthalten ist das CLI-Programm cdgsxl.
Das Programm XLToolKitGUI dient als graphische Oberfläche für die CLI-Programme des CDXL Toolkit V1.10 von Pantaray Inc. und den CDXL-Player cdgsxl von Wayne D. Lutz. Es eignet sich hervorragend für die Erstellung und Bearbeitung von CDXL-Filmen. Im Lieferumfang befinden sich AmigaGuide-Dateien zur OnLine-Hilfe in Deutsch und Englisch. Nicht im Lieferumfang enthalten sind die benötigten CLI-Programme:
XLAudio, XLClean, XLCopy, XLIff, XLInfo, XLJoin, XLMake, XLTrim und cdgsxl.
Das CDXL Toolkit von Pantaray Inc. finden Sie auf der 'Amiga Developer CD-Rom'. Den CDXL Player cdgsxl von Wayne D. Lutz finden Sie auf dem 'AmiNet Set 2b'.
Welchen Status haben cdgsxlGUI2 und XLToolKitGUI?
»cdgsxlGUI2« und »XLToolKitGUI« sind sogenannte »Shareware«-Programm. Die Version auf den PD-Disketten des AmigaMagazins sind in ihrer Nutzung ohne Einschränkung.
Wo kann mann die Programme erhalten? z.B. AmiNet, AmigaMagazin PD-Disketten
Wo kann mann den Player »cdgsxl« finden? z.B. AmiNet Set 2b
Wo kann mann das »CDXL ToolKit« finden? z.B. Amiga Developer CD-Rom
Wie hoch ist die Sharewaregebühr für die Programme? »cdgsxlGUI2« und »XLToolKitGUI« jeweils: 10,- DM oder 10,- $
Welche Systemvoraussetzungen stellen cdgsxlGUI2 und XLToolKitGUI?
»cdgsxlGUI2« - OS 2.x, min. 2 Mb FAST, min. 0.5 Mb CHIP, ECS
»XLToolKitGUI« - OS 2.x, min. 2 Mb FAST, min. 0.5 Mb CHIP, ECS
Grafikkarten? Beide Programme können grundsätzlich auf Grafikarten laufen. Bei Bedarf kann per ToolType ein PublicScreen vorgegeben werden.
MERKE: Zwar laufen »cdgsxlGUI2« und »XLToolKitGUI« ab OS 2.x, aber sowohl der Player »cdgsxl« als auch »MultiView« benötigen zum Betrieb unbedingt OS 3.x.
Was wird sonst noch benötigt?
Zur Generierung von Einzelbildern (eventuell aus vorhandenen Animationen) bieten sich zum Beispiel nachfolgende Programmpakete an.
Kommerzielle Software
Adorage
Animage
Art Department Professional (ADPro) und FrameEditor (FRED)
MainActor Broadcast (extrahiert auch den Ton aus AVI-Dateien)
Monument Designer
Public Domain
BuildAnim
MainActor
MainActor Broadcast
mpeg
MultiView (mit dumpdtanim zusammen)
WildFire
Zur Manipulation von Tondateien (IFF-8SVX) bieten sich eine Unzahl an kommerzieller und Public Domain Software an. Sie haben bestimmt etwas passendes.
Abmessungstabelle für verschiedene konstante Abspielgeschwindigkeiten?
Bei 300 Kb/Sek. würden ungefähr 36 Minuten Animation auf eine ISO CD-Rom [640 Mb] passen, was ungefähr der Hälfte der Video-CD [MPEG-1 ~ 72 min. in 384x280x24] entspricht.
[1:1] 180x180 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
[5:4] PAL 200x164 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
[4:3] VGA 208x158 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
[3:2] NTSC 224x146 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
[16:9] PAL+ 240x136 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
[2:1] CINEMA 256x128 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kH
CDXL-Auflösungs-Kombinationen für unterschiedliche CD-Rom Laufwerkstypen, jeweils mit 4096 Farben und 12 bis 24 Bildern pro Sekunde.
1fach-Speed Laufwerk (150 kB)
160x100 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kHz
2fach-Speed Laufwerk (300 kB)
224x146 in HAM6 mit 12 FPS und 8 Bit Mono in 11.025 kHz
3fach-Speed Laufwerk (450 kB)
272x170 in HAM6 mit 12 FPS und 8 Bit Mono in 22.05 kHz
4fach-Speed Laufwerk (600 kB)
320x200 in HAM6 mit 12 FPS und 8 Bit Mono in 22.05 kHz
6fach-Speed Laufwerk (900 kB)
384x240 in HAM6 mit 12 FPS und 8 Bit Stereo in 22.05 kHz
8fach-Speed Laufwerk (1200 kB)
384x274 in HAM6 mit 15 FPS und 8 Bit Stereo in 22.05 kHz
10fach-Speed Laufwerk (1500 kB)
384x274 in HAM6 mit 20 FPS und 8 Bit Stereo in 22.05 kHz
12fach-Speed Laufwerk (1800 kB)
384x274 in HAM6 mit 24 FPS und 8 Bit Stereo in 22.05 kHz
CDXL F O R M A T - Beschreibung
Typenbedeutung:
BYTE 8 Bit vorzeichenlose ganze Zahl
WORD 16 Bit vorzeichenlose ganze Zahl im 'Motorola'-Byte-Sex
LONG 32 Bit vorzeichenlose ganze Zahl im 'Motorola'-Byte-Sex
CDXL-Format Beschreibung [CHUNK]
#01 BYTE: $00 {0} [CUSTOM CDXL]
or BYTE: $01 {1} [STANDARD CDXL]
or BYTE: $02 {2} [SPECIAL CDXL]
Das CDXL-Info-Byte ensteht durch Addition dreier Beschreibungsgruppen:
#02 BYTE: $00 {0} [RGB] ...VIDEO ENCODING
or BYTE: $01 {1} [HAM]
or BYTE: $02 {2} [YUV]
or BYTE: $03 {3} [AVM & DCTV]
plus

#02 BYTE: $00 {0} [BIT PLANAR] ...ORIENTATION
or BYTE: $20 {32} [BYTE PLANAR]
or BYTE: $40 {64} [CHUNKY]
or BYTE: $80 {128} [BIT LINE]
or BYTE: $C0 {192} [BYTE LINE]
plus

#02 BYTE: $00 {0} [MONO] ...AUDIO VALUES
or BYTE: $10 {16} [STEREO]

#03 LONG: $0000295C {10588} [CURRENT CHUNKSIZE]
#04 LONG: $0000295C {10588} [PREVIOUS CHUNKSIZE]
#05 WORD: $0000 {0} [RESERVED]
#06 WORD: $0001 {1} [CURRENT FRAMENUMBER]
#07 WORD: $00CB {203} [BITMAPWIDTH]
#08 WORD: $005E {94} [BITMAPHEIGHT]
#09 WORD: $0004 {4} [NUMBEROFBITPLANES]
#10 WORD: $0020 {32} [COLORMAPSIZE]
#11 WORD: $02EC {748} [RAWSOUNDSIZE]
#12 LONG: $00000000 {0} [RESERVED]
#13 LONG: $00000000 {0} [RESERVED]
BYTE #32 - #64 [COLORMAP] ; die Pens sind immer WORT-kodiert mit führenden Nullen d. h. die Palette ist immer 12 Bit (4096 Farben).
z.B. 0FFF oder 0E9A

|||_15 |||_10 ; RGB_Blau_Anteil (0-15)
||__15 ||__09 ; RGB_Grün_Anteil (0-15)
|___15 |___14 ; RGB_Rot_Anteil (0-15)
Die Daten liegen immer in dieser Reihenfolge vor:
#3 BITMAPDATA [UNCOMPRESSED BODY]
#4 SOUNDDATA [UNCOMPRESSED BODY]

#1 HEADER
#2 COLORMAPDATA
#3 BITMAPDATA
#4 SOUNDDATA

u.s.w. angeordnet.
Womit wurden die Programme geschrieben?
Mit dem CanDo 3.0 Sourcekodepaket. Auf Sourcelevelniveau ist es ein Kinderspiel solche Programme in wenigen Stunden zu erstellen. CanDo eignet sich hervorragend für alle nicht zeitkritischen oder rechenaufwendigen Projekte. Außerdem sind alle CanDoProgramme Multitaskingfähig, und verbrauchen im Wartezustand keinerlei Rechenpower. Alle Prozessoren werden unterstützt, inklusive 68881 und 68882. Einzige Voraussetzung zum Betrieb ist OS 2.x und min. 2 MB Speicher.
* Das Sourcekodepaket kann von eingetragenen CanDoBesitzern (ab V2.5) in verschiedenem Lieferumfang bei der INOVAtronics HotLine erworben werden:
0 49 - (0) 21 31 / 6 35 94 (Die. & Do. 17°°-19°° Uhr) Tel. & Fax
STANDARD - gegen eine ShareWare-Gebühr von 30 DM oder 20 $. (Disk)
DEVELOPER - gegen eine ShareWare-Gebühr von 80 DM oder 50 $. (CD-R)
Aufruf an alle Programmierer!
Der CDXL Player 'cdgsxl' von Wayne D. Lutz ist auf der 'Amiga Developer CD-Rom' auch als Quellkode vorhanden. Dieses Programm eignet sich hervorragend als Basis für eine sinnvolle Weiterentwicklung des CDXL Formates. Unter Beibehaltung der Fähigkeit sofort auf jedes Einzelbild zugreifen zu können, wäre es von Vorteil wenn ein verlustloser schneller Kommpressionsalgorithmus die anfallende Datenmenge wirkungsvoll reduzieren könnte. Zum Beispiel ein RunLenght- oder Huffmann-Verfahren. Schon eine Reduzierung auf 40% der Datenmenge würde bei 300 Kb/Sek. einen Film mit 15 Bildern pro Sekunde in 320x200x6 und 22.05 KHz 8 bit Stereo möglich machen.
* Wer Interesse an einer Mitarbeit zur Weiterentwicklung des CDXL-Formates hat, möchte sich doch bitte zwecks Koordinierung bei mir melden.
YOUAN@AMCLUST2.amclust.de (Christian Effenberger)
Tel. & Fax: 0 49 - (0) 21 31 / 6 35 94