37 #define FORM_TAG MKTAG('F', 'O', 'R', 'M') 
   38 #define MOVE_TAG MKTAG('M', 'O', 'V', 'E') 
   39 #define  PC__TAG MKTAG('_', 'P', 'C', '_') 
   40 #define SOND_TAG MKTAG('S', 'O', 'N', 'D') 
   41 #define BNAM_TAG MKTAG('B', 'N', 'A', 'M') 
   42 #define SIZE_TAG MKTAG('S', 'I', 'Z', 'E') 
   43 #define PALT_TAG MKTAG('P', 'A', 'L', 'T') 
   44 #define INDX_TAG MKTAG('I', 'N', 'D', 'X') 
   45 #define BRCH_TAG MKTAG('B', 'R', 'C', 'H') 
   46 #define SHOT_TAG MKTAG('S', 'H', 'O', 'T') 
   47 #define VGA__TAG MKTAG('V', 'G', 'A', ' ') 
   48 #define TEXT_TAG MKTAG('T', 'E', 'X', 'T') 
   49 #define AUDI_TAG MKTAG('A', 'U', 'D', 'I') 
   52 #define WC3_DEFAULT_WIDTH 320 
   53 #define WC3_DEFAULT_HEIGHT 165 
   56 #define WC3_SAMPLE_RATE 22050 
   57 #define WC3_AUDIO_CHANNELS 1 
   58 #define WC3_AUDIO_BITS 16 
   61 #define WC3_FRAME_FPS 15 
   63 #define PALETTE_SIZE (256 * 3) 
   92     unsigned int fourcc_tag;
 
  115         switch (fourcc_tag) {
 
  133             if ((ret = 
avio_read(pb, buffer, size)) != size)
 
  202     unsigned int fourcc_tag;
 
  206     unsigned char text[1024];
 
  208     while (!packet_read) {
 
  216         switch (fourcc_tag) {
 
  244             if ((
unsigned)size > 
sizeof(text) || (ret = 
avio_read(pb, text, size)) != size)
 
  249                 if (i >= size || 
av_strnlen(&text[i + 1], size - i - 1) >= size - i - 1)
 
  253                 if (i >= size || 
av_strnlen(&text[i + 1], size - i - 1) >= size - i - 1)
 
  257                 if (i >= size || 
av_strnlen(&text[i + 1], size - i - 1) >= size - i - 1)
 
#define AVERROR_INVALIDDATA
Invalid data found when processing input. 
 
size_t static size_t av_strnlen(const char *s, size_t len)
Get the count of continuous non zero chars starting from the beginning. 
 
enum AVCodecID codec_id
Specific type of the encoded data (the codec used). 
 
int index
stream index in AVFormatContext 
 
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext. 
 
#define WC3_DEFAULT_HEIGHT
 
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward. 
 
static int wc3_read_close(AVFormatContext *s)
 
unsigned int avio_rb32(AVIOContext *s)
 
AVInputFormat ff_wc3_demuxer
 
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file. 
 
static av_cold int read_close(AVFormatContext *ctx)
 
uint64_t channel_layout
Audio only. 
 
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf. 
 
int64_t bit_rate
The average bitrate of the encoded data (in bits per second). 
 
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered. 
 
AVDictionary * metadata
Metadata that applies to the whole file. 
 
unsigned int avio_rl32(AVIOContext *s)
 
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
 
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers. 
 
#define av_fourcc2str(fourcc)
 
enum AVMediaType codec_type
General type of the encoded data. 
 
#define WC3_DEFAULT_WIDTH
 
int buf_size
Size of buf except extra allocated bytes. 
 
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero. 
 
int block_align
Audio only. 
 
audio channel layout utility functions 
 
#define AV_DICT_DONT_STRDUP_VAL
Take ownership of a value that's been allocated with av_malloc() or another memory allocation functio...
 
static int read_header(FFV1Context *f)
 
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
 
AVIOContext * pb
I/O context. 
 
void av_packet_unref(AVPacket *pkt)
Wipe the packet. 
 
static int wc3_read_packet(AVFormatContext *s, AVPacket *pkt)
 
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry. 
 
This structure contains the data a format has to probe a file. 
 
#define WC3_AUDIO_CHANNELS
 
int sample_rate
Audio only. 
 
static int wc3_read_header(AVFormatContext *s)
 
static int wc3_probe(AVProbeData *p)
 
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values. 
 
void * priv_data
Format private data. 
 
int bits_per_coded_sample
The number of bits per sample in the codedwords. 
 
AVCodecParameters * codecpar
 
int avio_feof(AVIOContext *s)
feof() equivalent for AVIOContext. 
 
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC). 
 
#define AV_CH_LAYOUT_MONO
 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
 
This structure stores compressed data. 
 
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...