|
|
1.1 root 1: .TH FLICKFILE 9.5
2: .CT 1 comm_term
3: .SH NAME
4: movies \- graphics movie file formats
5: .SH DESCRIPTION
6: Movie files are generated by
7: .I preflicks
8: and used by
9: .IR fflicks ;
10: see
11: .IR flicks (9.1).
12: The format of a movie files is:
13: .IP
14: .EX
15: struct Header {
16: unsigned char version;
17: short header_length;
18: short nr_frames;
19: unsigned char nr_tables;
20: struct LOOKUP_TABLE {
21: short number_of_entries;
22: struct {
23: short count;
24: unsigned char value;
25: } table[256];
26: } Table[nr_tables];
27: };
28: struct Frame {
29: short width, height;
30: short compacted_length;
31: unsigned char which_table;
32: unsigned char data[compacted_length];
33: } Frame[nr_frames];
34: .EE
35: Each
36: .B short
37: in the above structure is present as a two-byte number in the
38: file, most significant byte first.
39: Each
40: .B "unsigned char"
41: is a single byte.
42: .TP
43: .B version
44: software version number, to
45: ensure compatibility between producer and consumer
46: of the file.
47: .PD0
48: .TP
49: .B header_length
50: total length in bytes of the lookup table(s)
51: used to encode the file plus three bytes (the next three that follow).
52: .TP
53: .B nr_frames
54: total number of movie frames in the file.
55: .TP
56: .B nr_tables
57: number of lookup tables.
58: .TP
59: .B nr_entries
60: number of entries in the lookup table (maximum 256).
61: .TP
62: .B count
63: .B value
64: pixel value and a count of
65: how many times that value is to be repeated.
66: .PD
67: .PP
68: Immediately following the lookup tables begin the frames
69: encoded in an indirect run-length code.
70: Each frame is described by
71: .BR width ,
72: .BR height ,
73: and the
74: .B compacted_length
75: of the frame in bytes.
76: The frame is coded in raster-scan order
77: as a sequence of indexes into
78: the table numbered
79: .BR which_table
80: (counting from 0).
81: .SH FILES
82: _movie
83: .SH "SEE ALSO"
84: .IR flicks (9.1),
85: .IR pico (1),
86: .IR rebecca (9.1)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.