2003-04-23 21:38:34 +03:00
|
|
|
#ifndef FFMPEG_AVI_H
|
|
|
|
#define FFMPEG_AVI_H
|
|
|
|
|
|
|
|
#include "avcodec.h"
|
2001-07-22 17:18:56 +03:00
|
|
|
|
2005-12-22 03:10:11 +02:00
|
|
|
#define AVIF_HASINDEX 0x00000010 // Index at end of file?
|
|
|
|
#define AVIF_MUSTUSEINDEX 0x00000020
|
|
|
|
#define AVIF_ISINTERLEAVED 0x00000100
|
|
|
|
#define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames?
|
|
|
|
#define AVIF_WASCAPTUREFILE 0x00010000
|
|
|
|
#define AVIF_COPYRIGHTED 0x00020000
|
2001-07-22 17:18:56 +03:00
|
|
|
|
2003-04-08 12:51:15 +03:00
|
|
|
#define AVI_MAX_RIFF_SIZE 0x40000000LL
|
2003-04-23 05:04:40 +03:00
|
|
|
#define AVI_MASTER_INDEX_SIZE 256
|
2003-04-08 12:51:15 +03:00
|
|
|
|
2003-11-10 20:48:33 +02:00
|
|
|
/* index flags */
|
|
|
|
#define AVIIF_INDEX 0x10
|
|
|
|
|
2002-11-11 11:07:32 +02:00
|
|
|
offset_t start_tag(ByteIOContext *pb, const char *tag);
|
2001-07-22 17:18:56 +03:00
|
|
|
void end_tag(ByteIOContext *pb, offset_t start);
|
|
|
|
|
|
|
|
typedef struct CodecTag {
|
|
|
|
int id;
|
|
|
|
unsigned int tag;
|
2002-10-30 05:02:00 +02:00
|
|
|
unsigned int invalid_asf : 1;
|
2001-07-22 17:18:56 +03:00
|
|
|
} CodecTag;
|
|
|
|
|
2002-11-11 11:07:32 +02:00
|
|
|
void put_bmp_header(ByteIOContext *pb, AVCodecContext *enc, const CodecTag *tags, int for_asf);
|
2002-04-08 23:58:56 +03:00
|
|
|
int put_wav_header(ByteIOContext *pb, AVCodecContext *enc);
|
|
|
|
int wav_codec_get_id(unsigned int tag, int bps);
|
2005-12-17 20:14:38 +02:00
|
|
|
void get_wav_header(ByteIOContext *pb, AVCodecContext *codec, int size);
|
2002-04-08 23:58:56 +03:00
|
|
|
|
2002-11-11 11:07:32 +02:00
|
|
|
extern const CodecTag codec_bmp_tags[];
|
|
|
|
extern const CodecTag codec_wav_tags[];
|
2001-07-22 17:18:56 +03:00
|
|
|
|
2002-04-08 18:07:42 +03:00
|
|
|
unsigned int codec_get_tag(const CodecTag *tags, int id);
|
2003-04-23 11:56:14 +03:00
|
|
|
enum CodecID codec_get_id(const CodecTag *tags, unsigned int tag);
|
2003-09-08 23:04:44 +03:00
|
|
|
unsigned int codec_get_bmp_tag(int id);
|
|
|
|
unsigned int codec_get_wav_tag(int id);
|
|
|
|
enum CodecID codec_get_bmp_id(unsigned int tag);
|
|
|
|
enum CodecID codec_get_wav_id(unsigned int tag);
|
2003-04-23 21:38:34 +03:00
|
|
|
|
|
|
|
#endif /* FFMPEG_AVI_H */
|