Blender
V3.3
|
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_fileops.h"
#include "BLI_sys_types.h"
#include "BLI_utildefines.h"
#include "AVI_avi.h"
#include "avi_intern.h"
#include "avi_endian.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_PRINT(x) |
Functions | |
char * | fcc_to_char (unsigned int fcc) |
char * | tcc_to_char (unsigned int tcc) |
unsigned int | GET_FCC (FILE *fp) |
unsigned int | GET_TCC (FILE *fp) |
int | AVI_get_stream (AviMovie *movie, int avist_type, int stream_num) |
static int | fcc_get_stream (int fcc) |
static bool | fcc_is_data (int fcc) |
AviError | AVI_print_error (AviError in_error) |
bool | AVI_is_avi (const char *name) |
AviError | AVI_open_movie (const char *name, AviMovie *movie) |
void * | AVI_read_frame (AviMovie *movie, AviFormat format, int frame, int stream) |
AviError | AVI_close (AviMovie *movie) |
AviError | AVI_open_compress (char *name, AviMovie *movie, int streams,...) |
AviError | AVI_write_frame (AviMovie *movie, int frame_num,...) |
AviError | AVI_close_compress (AviMovie *movie) |
Variables | |
static int | AVI_DEBUG = 0 |
static char | DEBUG_FCC [4] |
This is external code.
Definition in file avi.c.
Close an open movie stream.
Definition at line 670 of file avi.c.
References AVI_ERROR_NONE, _AviMovie::entries, _AviMovie::fp, _AviMovie::header, MEM_freeN, NULL, _AviMovie::offset_table, _AviStreamRec::sf, _AviMainHeader::Streams, and _AviMovie::streams.
Finalize a compressed output stream.
Definition at line 989 of file avi.c.
References AVI_ERROR_FOUND, AVI_ERROR_NONE, AVI_INDEXE, AVI_RIFF_SOFF, awrite(), BLI_fseek(), BLI_ftell(), _AviMovie::entries, _AviMovie::fp, _AviMovie::header, _AviMovie::index_entries, L, MEM_freeN, _AviMovie::movi_offset, NULL, _AviMovie::offset_table, PUT_FCC, PUT_FCCN, _AviStreamRec::sf, _AviMainHeader::Streams, and _AviMovie::streams.
int AVI_get_stream | ( | AviMovie * | movie, |
int | avist_type, | ||
int | stream_num | ||
) |
Direct the streams <avist_type> to <movie>. Redirect <stream_num> streams.
Definition at line 90 of file avi.c.
References AVI_ERROR_FOUND, AVI_ERROR_OPTION, _AviMovie::header, NULL, _AviStreamRec::sh, _AviMainHeader::Streams, _AviMovie::streams, and _AviStreamHeader::Type.
bool AVI_is_avi | ( | const char * | name | ) |
Test whether this is an avi-format.
Definition at line 187 of file avi.c.
References AVI_FORMAT_AVI_RGB, AVI_FORMAT_MJPEG, AVI_MOVIE_READ, _AviBitmapInfoHeader::BitCount, BLI_fopen(), BLI_fseek(), BLI_ftell(), _AviStreamHeader::bottom, _AviBitmapInfoHeader::ClrImportant, _AviBitmapInfoHeader::ClrUsed, _AviBitmapInfoHeader::Compression, DEBUG_PRINT, _AviMainHeader::fcc, _AviStreamHeader::fcc, _AviBitmapInfoHeader::fcc, FCC, _AviMainHeader::Flags, _AviStreamHeader::Flags, _AviStreamRec::format, _AviMovie::fp, GET_FCC(), GET_TCC(), _AviStreamHeader::Handler, _AviMovie::header, _AviMainHeader::Height, _AviBitmapInfoHeader::Height, _AviMainHeader::InitialFrames, _AviStreamHeader::InitialFrames, _AviStreamHeader::Language, _AviStreamHeader::left, _AviStreamHeader::Length, _AviMainHeader::MaxBytesPerSec, MEM_calloc_arrayN, MEM_freeN, _AviMainHeader::MicroSecPerFrame, NULL, _AviMovie::offset_table, _AviMainHeader::PaddingGranularity, _AviBitmapInfoHeader::Planes, _AviStreamHeader::Priority, _AviStreamHeader::Quality, _AviStreamHeader::Rate, _AviMainHeader::Reserved, _AviStreamHeader::right, _AviStreamHeader::SampleSize, _AviStreamHeader::Scale, _AviStreamRec::sf, _AviStreamRec::sf_size, _AviStreamRec::sh, _AviMainHeader::size, _AviStreamHeader::size, _AviBitmapInfoHeader::size, _AviBitmapInfoHeader::Size, _AviMovie::size, _AviBitmapInfoHeader::SizeImage, _AviStreamHeader::Start, _AviMainHeader::Streams, _AviMovie::streams, _AviMainHeader::SuggestedBufferSize, _AviStreamHeader::SuggestedBufferSize, _AviStreamHeader::top, _AviMainHeader::TotalFrames, _AviStreamHeader::Type, _AviMovie::type, _AviMainHeader::Width, _AviBitmapInfoHeader::Width, _AviBitmapInfoHeader::XPelsPerMeter, and _AviBitmapInfoHeader::YPelsPerMeter.
Referenced by isavi().
Open a compressed file, decompress it into memory.
Definition at line 695 of file avi.c.
References AVI_BITMAPH, AVI_CHUNK, AVI_ERROR_FORMAT, AVI_ERROR_NONE, AVI_ERROR_OPEN, avi_get_format_compression(), avi_get_format_fcc(), avi_get_format_type(), AVI_HDRL_SOFF, AVI_LIST, AVI_MAINH, AVI_MOVIE_WRITE, AVI_STREAMH, AVIF_HASINDEX, AVIF_MUSTUSEINDEX, awrite(), BLI_fopen(), BLI_fseek(), BLI_ftell(), _AviStreamHeader::bottom, DEBUG_PRINT, _AviMovie::entries, _AviChunk::fcc, _AviList::fcc, _AviMainHeader::fcc, _AviStreamHeader::fcc, FCC, _AviMainHeader::Flags, _AviStreamHeader::Flags, _AviStreamRec::format, _AviMovie::fp, _AviStreamHeader::Handler, _AviMovie::header, _AviMainHeader::Height, _AviList::ids, _AviMovie::index_entries, _AviMainHeader::InitialFrames, _AviStreamHeader::InitialFrames, _AviStreamHeader::Language, _AviStreamHeader::left, _AviStreamHeader::Length, _AviMainHeader::MaxBytesPerSec, MEM_mallocN, _AviMainHeader::MicroSecPerFrame, _AviMovie::movi_offset, NULL, _AviMovie::offset_table, _AviMainHeader::PaddingGranularity, _AviStreamHeader::Priority, PUT_FCCN, _AviStreamHeader::Quality, _AviStreamHeader::Rate, _AviMainHeader::Reserved, _AviStreamHeader::right, _AviStreamHeader::SampleSize, _AviStreamHeader::Scale, _AviStreamRec::sf, _AviStreamRec::sf_size, _AviStreamRec::sh, _AviChunk::size, _AviList::size, _AviMainHeader::size, _AviStreamHeader::size, _AviStreamHeader::Start, _AviMainHeader::Streams, _AviMovie::streams, _AviMainHeader::SuggestedBufferSize, _AviStreamHeader::SuggestedBufferSize, _AviStreamHeader::top, _AviMainHeader::TotalFrames, _AviStreamHeader::Type, _AviMovie::type, and _AviMainHeader::Width.
Open a movie stream from file.
Definition at line 378 of file avi.c.
References AVI_DEBUG, AVI_ERROR_COMPRESSION, AVI_ERROR_FORMAT, AVI_ERROR_NONE, AVI_ERROR_OPEN, AVI_FORMAT_AVI_RGB, AVI_FORMAT_MJPEG, AVI_MOVIE_READ, AVIF_HASINDEX, _AviBitmapInfoHeader::BitCount, BLI_fopen(), BLI_fseek(), BLI_ftell(), _AviStreamHeader::bottom, _AviIndexEntry::ChunkId, _AviBitmapInfoHeader::ClrImportant, _AviBitmapInfoHeader::ClrUsed, _AviBitmapInfoHeader::Compression, DEBUG_PRINT, _AviMovie::entries, _AviMainHeader::fcc, _AviStreamHeader::fcc, _AviBitmapInfoHeader::fcc, FCC, fcc_to_char(), _AviMainHeader::Flags, _AviStreamHeader::Flags, _AviIndexEntry::Flags, _AviStreamRec::format, _AviMovie::fp, GET_FCC(), GET_TCC(), _AviStreamHeader::Handler, _AviMovie::header, _AviMainHeader::Height, _AviBitmapInfoHeader::Height, _AviMovie::index_entries, _AviMainHeader::InitialFrames, _AviStreamHeader::InitialFrames, _AviStreamHeader::Language, _AviStreamHeader::left, _AviStreamHeader::Length, _AviMainHeader::MaxBytesPerSec, MEM_calloc_arrayN, MEM_mallocN, _AviMainHeader::MicroSecPerFrame, _AviMovie::movi_offset, NULL, _AviIndexEntry::Offset, _AviMovie::offset_table, _AviMainHeader::PaddingGranularity, _AviBitmapInfoHeader::Planes, _AviStreamHeader::Priority, _AviStreamHeader::Quality, _AviStreamHeader::Rate, _AviMovie::read_offset, _AviMainHeader::Reserved, _AviStreamHeader::right, _AviStreamHeader::SampleSize, _AviStreamHeader::Scale, _AviStreamRec::sf, _AviStreamRec::sf_size, _AviStreamRec::sh, size(), _AviMainHeader::size, _AviStreamHeader::size, _AviBitmapInfoHeader::size, _AviBitmapInfoHeader::Size, _AviIndexEntry::Size, _AviMovie::size, _AviBitmapInfoHeader::SizeImage, _AviStreamHeader::Start, _AviMainHeader::Streams, _AviMovie::streams, _AviMainHeader::SuggestedBufferSize, _AviStreamHeader::SuggestedBufferSize, _AviStreamHeader::top, _AviMainHeader::TotalFrames, _AviStreamHeader::Type, _AviMovie::type, _AviMainHeader::Width, _AviBitmapInfoHeader::Width, _AviBitmapInfoHeader::XPelsPerMeter, and _AviBitmapInfoHeader::YPelsPerMeter.
Unused but still external
Definition at line 142 of file avi.c.
References AVI_ERROR_ALLOC, AVI_ERROR_COMPRESSION, AVI_ERROR_FORMAT, AVI_ERROR_FOUND, AVI_ERROR_NONE, AVI_ERROR_OPEN, AVI_ERROR_OPTION, AVI_ERROR_READING, AVI_ERROR_WRITING, and error().
Read a frame from a movie stream.
Definition at line 623 of file avi.c.
References avi_format_convert(), BLI_fseek(), buffer, _AviIndexEntry::ChunkId, _AviMovie::entries, fcc_get_stream(), fcc_is_data(), _AviStreamRec::format, _AviMovie::fp, GET_FCC(), MEM_freeN, MEM_mallocN, NULL, _AviIndexEntry::Offset, _AviMovie::read_offset, size(), _AviIndexEntry::Size, and _AviMovie::streams.
Write frames to a movie stream.
Definition at line 881 of file avi.c.
References AVI_CHUNK, AVI_ERROR_NONE, AVI_ERROR_OPTION, avi_format_convert(), avi_get_data_id(), AVI_LIST, AVI_MAINH, AVI_RAW, AVI_STREAMH, AVIIF_KEYFRAME, AVIIF_LIST, awrite(), BLI_fseek(), BLI_ftell(), buffer, _AviMovie::entries, _AviChunk::fcc, _AviList::fcc, FCC, _AviIndexEntry::Flags, _AviStreamRec::format, _AviMovie::fp, _AviMovie::header, _AviList::ids, _AviMovie::index_entries, L, _AviStreamHeader::Length, MEM_freeN, MEM_recallocN, _AviMovie::movi_offset, _AviMovie::offset_table, PUT_FCCN, _AviStreamRec::sh, size(), _AviChunk::size, _AviList::size, _AviIndexEntry::Size, _AviMainHeader::Streams, _AviMovie::streams, and _AviMainHeader::TotalFrames.
|
static |
Definition at line 111 of file avi.c.
Referenced by AVI_read_frame().
|
static |
char * fcc_to_char | ( | unsigned int | fcc | ) |
unsigned int GET_FCC | ( | FILE * | fp | ) |
Definition at line 46 of file avi.c.
References FCC.
Referenced by AVI_is_avi(), AVI_open_movie(), and AVI_read_frame().
unsigned int GET_TCC | ( | FILE * | fp | ) |
Definition at line 58 of file avi.c.
References FCC.
Referenced by AVI_is_avi(), and AVI_open_movie().
|
static |
Definition at line 31 of file avi.c.
Referenced by AVI_open_movie().
|
static |
Definition at line 32 of file avi.c.
Referenced by fcc_to_char(), and tcc_to_char().