V10/man/man9/flickfile.9

.TH FLICKFILE 9.5
.CT 1 comm_term
.SH NAME
movies \- graphics movie file formats
.SH DESCRIPTION
Movie files are generated by
.I preflicks
and used by
.IR fflicks ;
see
.IR flicks (9.1).
The format of a movie files is:
.IP
.EX
struct Header {
	unsigned char version;
	short header_length;
	short nr_frames;
	unsigned char nr_tables;
	struct LOOKUP_TABLE {
		short number_of_entries;
		struct {
			short count;
			unsigned char value;
		} table[256];
	} Table[nr_tables];
};
struct Frame {
	short width, height;
	short compacted_length;
	unsigned char which_table;
	unsigned char data[compacted_length];
} Frame[nr_frames];
.EE
Each
.B short
in the above structure is present as a two-byte number in the
file, most significant byte first.
Each
.B "unsigned char"
is a single byte.
.TP
.B version
software version number, to
ensure compatibility between producer and consumer
of the file.
.PD0
.TP
.B header_length
total length in bytes of the lookup table(s)
used to encode the file plus three bytes (the next three that follow).
.TP
.B nr_frames
total number of movie frames in the file.
.TP
.B nr_tables
number of lookup tables.
.TP
.B nr_entries
number of entries in the lookup table (maximum 256).
.TP
.B count
.B value
pixel value and a count of
how many times that value is to be repeated.
.PD
.PP
Immediately following the lookup tables begin the frames
encoded in an indirect run-length code.
Each frame is described by
.BR width ,
.BR height ,
and the
.B compacted_length
of the frame in bytes.
The frame is coded in raster-scan order
as a sequence of indexes into
the table numbered
.BR which_table
(counting from 0).
.SH FILES
_movie
.SH "SEE ALSO"
.IR flicks (9.1), 
.IR pico (1), 
.IR rebecca (9.1)