Data Structures | |
| struct | AVI_CHUNK |
| A chunk of the avi file. More... | |
| struct | AVI_INDEX |
| All the index of the movie. More... | |
| struct | AVI_INDEX_ENTRY |
| Each index entry of the file. More... | |
| struct | AVI_MAIN_HEADER |
| Main header of the avi file. More... | |
| struct | AVI_MOVIE |
| AVI movie. More... | |
| struct | AVI_STREAM |
| Contain all the information necessary to handle a stream. More... | |
| struct | AVI_STREAM_DATA |
| Information about the aditional data for stream format. More... | |
| struct | AVI_STREAM_FORMAT |
| Information about the format of one stream of the file. More... | |
| struct | AVI_STREAM_HEADER |
| Stream header, with information about one stream of the file. More... | |
Defines | |
| #define | FCC_RIFF AL_ID('F', 'F', 'I', 'R') |
| First code in the avi. | |
| #define | FCC_AVI AL_ID(' ', 'I', 'V', 'A') |
| After 'RIFF', this is need to be a valid avi file. | |
| #define | FCC_LIST AL_ID('T', 'S', 'I', 'L') |
| Start of the list of chunks. | |
| #define | FCC_hdrl AL_ID('l', 'r', 'd', 'h') |
| Start the list of headers. | |
| #define | FCC_avih AL_ID('h', 'i', 'v', 'a') |
| Main avi header. | |
| #define | FCC_strl AL_ID('l', 'r', 't', 's') |
| List of stream informations. | |
| #define | FCC_strh AL_ID('h', 'r', 't', 's') |
| Header of the stream. | |
| #define | FCC_strf AL_ID('f', 'r', 't', 's') |
| Stream format. | |
| #define | FCC_strd AL_ID('d', 'r', 't', 's') |
| Additional stream data (not used). | |
| #define | FCC_movi AL_ID('i', 'v', 'o', 'm') |
| List of frames in the movie. | |
| #define | FCC_idx1 AL_ID('1', 'x', 'd', 'i') |
| Index of the movie. | |
| #define | FCC_vids AL_ID('s', 'd', 'i', 'v') |
| Type of the stream of video. | |
| #define | FCC_auds AL_ID('s', 'd', 'u', 'a') |
| Type of the stream of audio. | |
| #define | FCC_JUNK AL_ID('K', 'N', 'U', 'J') |
| Just for align data. | |
| #define | FCC_DIVX AL_ID('x', 'v', 'i', 'd') |
| FCC of DivX codec. | |
| #define | FCC_XVID AL_ID('d', 'i', 'v', 'x') |
| FCC of XviD codec. | |
| #define | FCC_DIVX_OTHER AL_ID('f', 'v', 'i', 'd') |
| One of my DivX movies has this codec. | |
Functions | |
| AVI_MOVIE * | avi_open (const char *name) |
| Opens the file name and verifies if it is a valid avi. | |
| void | avi_destroy (AVI_MOVIE *avi) |
| Frees the memory allocated and close the file. | |
| AVI_CHUNK * | avi_chunk_read_header (AVI_MOVIE *avi) |
| Reads the fcc, size and sub-type of the next chunk in the file. | |
| AVI_CHUNK * | avi_chunk_read (AVI_MOVIE *avi) |
| Reads the fcc, size, sub-type and data of the next chunk in the file. | |
| void | avi_chunk_destroy (AVI_CHUNK *ac) |
| Frees the memory allocated to a chunk. | |
| void | avi_chunk_skip (AVI_MOVIE *avi) |
| Skip the next chunk. | |
| int | avi_read_frame_video (AVI_MOVIE *avi, int frame) |
| Read a frame of video. | |
You can use this module separately of MJpgAlleg, to implement your own AVI library.
|
|
Frees the memory allocated to a chunk. The avi is a valid AVI_MOVIE pointer.
|
|
|
Reads the fcc, size, sub-type and data of the next chunk in the file. The subtype is read for RIFF and LIST fcc. The avi is a valid AVI_MOVIE pointer.
|
|
|
Reads the fcc, size and sub-type of the next chunk in the file. The subtype is read for RIFF and LIST fcc. The avi is a valid AVI_MOVIE pointer.
|
|
|
Skip the next chunk. The avi is a valid AVI_MOVIE pointer.
|
|
|
Frees the memory allocated and close the file. The avi is a valid AVI_MOVIE pointer
|
|
|
Opens the file name and verifies if it is a valid avi. This function will see if it's a valid RIFF file, of type AVI, and will load the header of the avi, the stream info, the offset of movi list and the index of the file
|
|
||||||||||||
|
Read a frame of video. Stores the data in the buffer of video stream and the size of frame in frame_size. The avi is a valid AVI_MOVIE pointer, and frame is the number of the frame to read.
|
1.2.18