CFAST Disney Animation Studio

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Sample files)
(Category->Animation)
 
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Graphics
+
|subcat=Animation
|subcat2=Amiga graphics formats
+
 
|extensions={{ext|cft}}
 
|extensions={{ext|cft}}
 
}}
 
}}
Line 87: Line 86:
 
[[Category:Video]]
 
[[Category:Video]]
 
[[Category:Amiga]]
 
[[Category:Amiga]]
 +
[[Category:Amiga graphics formats]]

Latest revision as of 22:25, 26 May 2024

File Format
Name CFAST Disney Animation Studio
Ontology
Extension(s) .cft

CFAST is an animated raster graphics format associated with the Disney Animation Studio application for Amiga computers.

Contents

[edit] Format Specification

There appears to be TWO different formats. One with .cft extension and one with .sec

.cft format:

Numbers are stored in big-endian format.

4 bytes - signature 'GUCF', 'LOCK' or 'STDY'
          'LOCK' means the file was meant to be saved as final/non editable.
          'STDY' means the file is one of the Animation Studio Sample files (copyright Disney)

If the signature is 'LOCK' or 'STDY' then a copyright/description message follows
2 bytes string length
n bytes string

Then follows the bitmap header
4 bytes - image width
4 bytes - image height
4 bytes - Amiga screen width (320=lores, 640=hires)
4 bytes - Amiga screen height (200=NTSC, 256=PAL, 400=NTSC interlaced, 512=PAL interlaced)
1 byte - number of bitplanes (1..5) (numColors = 2^bitplanes)

Then follows palette information for the first two colors (if there are more colors, they are specified later in the file)
3 bytes - rgb for color index 0
3 bytes - rgb for color index 1

Then follows an extra block of data of varying length
1 byte - extralen
n bytes (unknown contents)

Then follows the number of frames
4 bytes - numFrames

Frames are compressed individually (frames are NOT delta compressed from the previous frame)
for every frame
   for every bitplane
      4 bytes - compressed size of bitplane
      n bytes - compressed bitplane data (Run length encoding)
   end of every bitplane

   1 byte - numColors in frame
   3*numColors bytes

   1 byte - number of color cycling ranges
   for every range
	1 byte - low color index (0..31)
	1 byte - high color index (0..31)
	6 bytes - unknown
	4 bytes - color cycle Rate
        32 bytes - color cycle color indices ? Seems to always be numbered 0,1,2,3,4...31 (regardless of # bitplanes)
	           I don't know why these are needed, when we have low/high.
   end of every range
end of every frame

At the end of the file, there may also be exposure sheet information ... (TODO)

RLE compression:

Bitplanes are compressed with run length encoding. Each column of words (two bytes) are compressed separately.

2 bytes - code
if code < 0 then the next word is replicated -code+1 times
else code+1 words are copied literally

[edit] Software

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox