2003-04-23 20:38:34 +02:00
|
|
|
#ifndef FFMPEG_AVI_H
|
|
|
|
#define FFMPEG_AVI_H
|
|
|
|
|
|
|
|
#include "avcodec.h"
|
2001-07-22 16:18:56 +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
|
|
|
|
|
2003-04-08 11:51:15 +02:00
|
|
|
#define AVI_MAX_RIFF_SIZE 0x40000000LL
|
2003-04-23 04:04:40 +02:00
|
|
|
#define AVI_MASTER_INDEX_SIZE 256
|
2003-04-08 11:51:15 +02:00
|
|
|
|
2002-11-11 10:07:32 +01:00
|
|
|
offset_t start_tag(ByteIOContext *pb, const char *tag);
|
2001-07-22 16:18:56 +02:00
|
|
|
void end_tag(ByteIOContext *pb, offset_t start);
|
|
|
|
|
|
|
|
typedef struct CodecTag {
|
|
|
|
int id;
|
|
|
|
unsigned int tag;
|
2002-10-30 04:02:00 +01:00
|
|
|
unsigned int invalid_asf : 1;
|
2001-07-22 16:18:56 +02:00
|
|
|
} CodecTag;
|
|
|
|
|
2002-11-11 10:07:32 +01:00
|
|
|
void put_bmp_header(ByteIOContext *pb, AVCodecContext *enc, const CodecTag *tags, int for_asf);
|
2002-04-08 22:58:56 +02:00
|
|
|
int put_wav_header(ByteIOContext *pb, AVCodecContext *enc);
|
|
|
|
int wav_codec_get_id(unsigned int tag, int bps);
|
2003-03-12 02:35:47 +01:00
|
|
|
void get_wav_header(ByteIOContext *pb, AVCodecContext *codec, int size);
|
2002-04-08 22:58:56 +02:00
|
|
|
|
2002-11-11 10:07:32 +01:00
|
|
|
extern const CodecTag codec_bmp_tags[];
|
|
|
|
extern const CodecTag codec_wav_tags[];
|
2001-07-22 16:18:56 +02:00
|
|
|
|
2002-04-08 17:07:42 +02:00
|
|
|
unsigned int codec_get_tag(const CodecTag *tags, int id);
|
2003-04-23 10:56:14 +02:00
|
|
|
enum CodecID codec_get_id(const CodecTag *tags, unsigned int tag);
|
2003-04-23 20:38:34 +02:00
|
|
|
|
|
|
|
#endif /* FFMPEG_AVI_H */
|