view src/impl/hoofbaby/codec/libav/avformat.d @ 0:3425707ddbf6

Initial import (hopefully this mercurial stuff works...)
author fraserofthenight
date Mon, 06 Jul 2009 08:06:28 -0700
parents
children
line wrap: on
line source

/* THIS FILE GENERATED BY bcd.gen */
module hoofbaby.codec.libav.avformat;

import hoofbaby.codec.libav.avutil;
import hoofbaby.codec.libav.avcodec;
import tango.stdc.stdio;


enum
{
	LIBAVFORMAT_VERSION_MAJOR = 52,
	LIBAVFORMAT_VERSION_MINOR = 34,
	LIBAVFORMAT_VERSION_MICRO = 0,
	URL_RDONLY = 0,
	URL_WRONLY = 1,
	URL_RDWR = 2,
	AVSEEK_SIZE = 0x10000,
	AV_METADATA_MATCH_CASE = 1,
	AV_METADATA_IGNORE_SUFFIX = 2,
	AVPROBE_SCORE_MAX = 100,
	AVPROBE_PADDING_SIZE = 32,
	AVFMT_NOFILE = 0x0001,
	AVFMT_NEEDNUMBER = 0x0002,
	AVFMT_SHOW_IDS = 0x0008,
	AVFMT_RAWPICTURE = 0x0020,
	AVFMT_GLOBALHEADER = 0x0040,
	AVFMT_NOTIMESTAMPS = 0x0080,
	AVFMT_GENERIC_INDEX = 0x0100,
	AVFMT_TS_DISCONT = 0x0200,
	AVFMT_VARIABLE_FPS = 0x0400,
	AVINDEX_KEYFRAME = 0x0001,
	AV_DISPOSITION_DEFAULT = 0x0001,
	AV_DISPOSITION_DUB = 0x0002,
	AV_DISPOSITION_ORIGINAL = 0x0004,
	AV_DISPOSITION_COMMENT = 0x0008,
	AV_DISPOSITION_LYRICS = 0x0010,
	AV_DISPOSITION_KARAOKE = 0x0020,
	MAX_REORDER_DELAY = 16,
	MAX_PROBE_PACKETS = 100,
	AV_PROGRAM_RUNNING = 1,
	AVFMTCTX_NOHEADER = 0x0001,
	MAX_STREAMS = 20,
	AVFMT_NOOUTPUTLOOP = -1,
	AVFMT_INFINITEOUTPUTLOOP = 0,
	AVFMT_FLAG_GENPTS = 0x0001,
	AVFMT_FLAG_IGNIDX = 0x0002,
	AVFMT_FLAG_NONBLOCK = 0x0004,
	FF_FDEBUG_TS = 0x0001,
	AVSEEK_FLAG_BACKWARD = 1,
	AVSEEK_FLAG_BYTE = 2,
	AVSEEK_FLAG_ANY = 4,
	FFM_PACKET_SIZE = 4096,
}

alias int AVStreamParseType;
enum : AVStreamParseType
{
	AVSTREAM_PARSE_NONE = 0,
	AVSTREAM_PARSE_FULL = 1,
	AVSTREAM_PARSE_HEADERS = 2,
	AVSTREAM_PARSE_TIMESTAMPS = 3,
}

alias void AVMetadata;
alias void AVMetadataConv;

struct AVPacketList
{
	AVPacket pkt;
	AVPacketList* next;
}

struct AVChapter
{
	int id;
	AVRational time_base;
	long start;
	long end;
	char* title;
	void* metadata;
}

struct AVProgram
{
	int id;
	char* provider_name;
	char* name;
	int flags;
	int discard;
	uint* stream_index;
	uint nb_stream_indexes;
	void* metadata;
}

struct AVStream
{
	int index;
	int id;
	AVCodecContext* codec;
	AVRational r_frame_rate;
	void* priv_data;
	long first_dts;
	AVFrac pts;
	AVRational time_base;
	int pts_wrap_bits;
	int stream_copy;
	int discard;
	float quality;
	long start_time;
	long duration;
	char[4] language;
	int need_parsing;
	AVCodecParserContext* parser;
	long cur_dts;
	int last_IP_duration;
	long last_IP_pts;
	AVIndexEntry* index_entries;
	int nb_index_entries;
	uint index_entries_allocated_size;
	long nb_frames;
	long[5] unused;
	char* filename;
	int disposition;
	AVProbeData probe_data;
	long[17] pts_buffer;
	AVRational sample_aspect_ratio;
	void* metadata;
	char* cur_ptr;
	int cur_len;
	AVPacket cur_pkt;
	long reference_dts;
	int probe_packets;
}

struct AVIndexEntry
{
	long pos;
	long timestamp;
	int min_distance;
	
	int __bitfield1;
	int flags() { return (__bitfield1 << 30) >> 30; }
	int flags(int value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffc) | ((value & 0x3) << 0); return value; }
	int size() { return (__bitfield1 << 0) >> 2; }
	int size(int value) { __bitfield1 = (__bitfield1 & 0xffffffff00000003) | ((value & 0x3fffffff) << 2); return value; }
}

struct AVInputFormat
{
	char* name;
	char* long_name;
	int priv_data_size;
	int function(AVProbeData*) read_probe;
	int function(AVFormatContext*, AVFormatParameters*) read_header;
	int function(AVFormatContext*, AVPacket*) read_packet;
	int function(AVFormatContext*) read_close;
	int function(AVFormatContext*, int, long, int) read_seek;
	long function(AVFormatContext*, int, long*, long) read_timestamp;
	int flags;
	char* extensions;
	int value;
	int function(AVFormatContext*) read_play;
	int function(AVFormatContext*) read_pause;
	void** codec_tag;
	int function(AVFormatContext*, int, long, long, long, int) read_seek2;
	void* metadata_conv;
	AVInputFormat* next;
}

struct AVOutputFormat
{
	char* name;
	char* long_name;
	char* mime_type;
	char* extensions;
	int priv_data_size;
	int audio_codec;
	int video_codec;
	int function(AVFormatContext*) write_header;
	int function(AVFormatContext*, AVPacket*) write_packet;
	int function(AVFormatContext*) write_trailer;
	int flags;
	int function(AVFormatContext*, AVFormatParameters*) set_parameters;
	int function(AVFormatContext*, AVPacket*, AVPacket*, int) interleave_packet;
	void** codec_tag;
	int subtitle_codec;
	void* metadata_conv;
	AVOutputFormat* next;
}

struct AVFormatParameters
{
	AVRational time_base;
	int sample_rate;
	int channels;
	int width;
	int height;
	PixelFormat pix_fmt;
	int channel;
	char* standard;
	CodecID video_codec_id;
	CodecID audio_codec_id;
	
	uint __bitfield1;
	uint mpeg2ts_raw() { return (__bitfield1 >> 0) & 0x1; }
	uint mpeg2ts_raw(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffe) | (value << 0); return value; }
	uint mpeg2ts_compute_pcr() { return (__bitfield1 >> 1) & 0x1; }
	uint mpeg2ts_compute_pcr(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffd) | (value << 1); return value; }
	uint initial_pause() { return (__bitfield1 >> 2) & 0x1; }
	uint initial_pause(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffb) | (value << 2); return value; }
	uint prealloced_context() { return (__bitfield1 >> 3) & 0x1; }
	uint prealloced_context(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffff7) | (value << 3); return value; }
}

struct AVProbeData
{
	char* filename;
	char* buf;
	int buf_size;
}

struct AVFrac
{
	long val;
	long num;
	long den;
}

struct AVMetadataTag
{
	char* key;
	char* value;
}

struct AVFormatContext
{
	AVClass* av_class;
	AVInputFormat* iformat;
	AVOutputFormat* oformat;
	void* priv_data;
	ByteIOContext* pb;
	uint nb_streams;
	AVStream*[20] streams;
	char[1024] filename;
	long timestamp;
	char[512] title;
	char[512] author;
	char[512] copyright;
	char[512] comment;
	char[512] album;
	int year;
	int track;
	char[32] genre;
	int ctx_flags;
	AVPacketList* packet_buffer;
	long start_time;
	long duration;
	long file_size;
	int bit_rate;
	AVStream* cur_st;
	char* cur_ptr_deprecated;
	int cur_len_deprecated;
	AVPacket cur_pkt_deprecated;
	long data_offset;
	int index_built;
	int mux_rate;
	int packet_size;
	int preload;
	int max_delay;
	int loop_output;
	int flags;
	int loop_input;
	uint probesize;
	int max_analyze_duration;
	char* key;
	int keylen;
	uint nb_programs;
	AVProgram** programs;
	int video_codec_id;
	int audio_codec_id;
	int subtitle_codec_id;
	uint max_index_size;
	uint max_picture_buffer;
	uint nb_chapters;
	AVChapter** chapters;
	int debug_;
	AVPacketList* raw_packet_buffer;
	AVPacketList* raw_packet_buffer_end;
	AVPacketList* packet_buffer_end;
	void* metadata;
}

struct ByteIOContext
{
	char* buffer;
	int buffer_size;
	char* buf_ptr;
	char* buf_end;
	void* opaque;
	int function(void*, char*, int) read_packet;
	int function(void*, char*, int) write_packet;
	long function(void*, long, int) seek;
	long pos;
	int must_flush;
	int eof_reached;
	int write_flag;
	int is_streamed;
	int max_packet_size;
	uint checksum;
	char* checksum_ptr;
	uint function(uint, char*, uint) update_checksum;
	int error;
	int function(void*, int) read_pause;
	long function(void*, int, long, int) read_seek;
}

struct URLPollEntry
{
	URLContext* handle;
	int events;
	int revents;
}

struct URLProtocol
{
	char* name;
	int function(URLContext*, char*, int) url_open;
	int function(URLContext*, char*, int) url_read;
	int function(URLContext*, char*, int) url_write;
	long function(URLContext*, long, int) url_seek;
	int function(URLContext*) url_close;
	URLProtocol* next;
	int function(URLContext*, int) url_read_pause;
	long function(URLContext*, int, long, int) url_read_seek;
	int function(URLContext*) url_get_file_handle;
}

struct URLContext
{
	URLProtocol* prot;
	int flags;
	int is_streamed;
	int max_packet_size;
	void* priv_data;
	char* filename;
}

extern(C)
{
	int avf_sdp_create(AVFormatContext**, int, char*, int);
	int av_filename_number_test(char*);
	int av_get_frame_filename(char*, int, char*, int);
	int find_info_tag(char*, int, char*, char*);
	void ffm_set_write_index(AVFormatContext*, long, long);
	int ffm_write_write_index(int, long);
	long ffm_read_write_index(int);
	long av_gettime();
	long parse_date(char*, int);
	int parse_frame_rate(int*, int*, char*);
	int parse_image_size(int*, int*, char*);
	void dump_format(AVFormatContext*, int, char*, int);
	int av_write_trailer(AVFormatContext*);
	int av_interleave_packet_per_dts(AVFormatContext*, AVPacket*, AVPacket*, int);
	int av_interleaved_write_frame(AVFormatContext*, AVPacket*);
	int av_write_frame(AVFormatContext*, AVPacket*);
	int av_write_header(AVFormatContext*);
	int av_set_parameters(AVFormatContext*, AVFormatParameters*);
	long av_gen_search(AVFormatContext*, int, long, long, long, long, long, long, int, long*, long function(AVFormatContext*, int, long*, long));
	void av_update_cur_dts(AVFormatContext*, AVStream*, long);
	int av_seek_frame_binary(AVFormatContext*, int, long, int);
	int av_add_index_entry(AVStream*, long, long, int, int, int);
	void ff_reduce_index(AVFormatContext*, int);
	int av_index_search_timestamp(AVStream*, long, int);
	int av_find_default_stream_index(AVFormatContext*);
	void av_set_pts_info(AVStream*, int, int, int);
	AVChapter* ff_new_chapter(AVFormatContext*, int, AVRational, long, long, char*);
	AVProgram* av_new_program(AVFormatContext*, int);
	AVStream* av_new_stream(AVFormatContext*, int);
	void av_close_input_file(AVFormatContext*);
	void av_close_input_stream(AVFormatContext*);
	int av_read_pause(AVFormatContext*);
	int av_read_play(AVFormatContext*);
	int avformat_seek_file(AVFormatContext*, int, long, long, long, int);
	int av_seek_frame(AVFormatContext*, int, long, int);
	int av_read_frame(AVFormatContext*, AVPacket*);
	int av_read_packet(AVFormatContext*, AVPacket*);
	int av_find_stream_info(AVFormatContext*);
	AVFormatContext* avformat_alloc_context();
	AVFormatContext* av_alloc_format_context();
	int av_open_input_file(AVFormatContext**, char*, AVInputFormat*, int, AVFormatParameters*);
	int av_open_input_stream(AVFormatContext**, ByteIOContext*, char*, AVInputFormat*, AVFormatParameters*);
	AVInputFormat* av_probe_input_format(AVProbeData*, int);
	AVInputFormat* av_find_input_format(char*);
	uint av_codec_get_tag(void**, int);
	int av_codec_get_id(void**, uint);
	void av_register_all();
	void av_pkt_dump_log(void*, int, AVPacket*, int);
	void av_pkt_dump(_iobuf*, AVPacket*, int);
	void av_hex_dump_log(void*, int, char*, int);
	void av_hex_dump(_iobuf*, char*, int);
	int av_guess_codec(AVOutputFormat*, char*, char*, char*, int);
	AVOutputFormat* guess_format(char*, char*, char*);
	AVOutputFormat* guess_stream_format(char*, char*, char*);
	void av_register_output_format(AVOutputFormat*);
	void av_register_input_format(AVInputFormat*);
	int av_guess_image2_codec(char*);
	AVOutputFormat* av_oformat_next(AVOutputFormat*);
	AVInputFormat* av_iformat_next(AVInputFormat*);
	int av_get_packet(ByteIOContext*, AVPacket*, int);
	void av_metadata_free(void**);
	void av_metadata_conv(AVFormatContext*, void*, void*);
	int av_metadata_set(void**, char*, char*);
	AVMetadataTag* av_metadata_get(void*, char*, AVMetadataTag*, int);
	int udp_get_file_handle(URLContext*);
	int udp_get_local_port(URLContext*);
	int udp_set_remote_url(URLContext*, char*);
	void init_checksum(ByteIOContext*, uint function(uint, char*, uint), uint);
	uint get_checksum(ByteIOContext*);
	uint ff_crc04C11DB7_update(uint, char*, uint);
	int url_close_dyn_buf(ByteIOContext*, char**);
	int url_open_dyn_packet_buf(ByteIOContext**, int);
	int url_open_dyn_buf(ByteIOContext**);
	int url_close_buf(ByteIOContext*);
	int url_open_buf(ByteIOContext**, char*, int, int);
	int url_fget_max_packet_size(ByteIOContext*);
	URLContext* url_fileno(ByteIOContext*);
	int url_fclose(ByteIOContext*);
	int url_fopen(ByteIOContext**, char*, int);
	int url_resetbuf(ByteIOContext*, int);
	int url_setbufsize(ByteIOContext*, int);
	int url_fdopen(ByteIOContext**, URLContext*);
	int url_is_streamed(ByteIOContext*);
	ulong ff_get_v(ByteIOContext*);
	ulong get_be64(ByteIOContext*);
	uint get_be32(ByteIOContext*);
	uint get_be24(ByteIOContext*);
	uint get_be16(ByteIOContext*);
	char* get_strz(ByteIOContext*, char*, int);
	uint get_le16(ByteIOContext*);
	ulong get_le64(ByteIOContext*);
	uint get_le32(ByteIOContext*);
	uint get_le24(ByteIOContext*);
	int get_byte(ByteIOContext*);
	int get_partial_buffer(ByteIOContext*, char*, int);
	int get_buffer(ByteIOContext*, char*, int);
	void put_flush_packet(ByteIOContext*);
	char* url_fgets(ByteIOContext*, char*, int);
	int url_fprintf(ByteIOContext*, char*, ...);
	int url_fgetc(ByteIOContext*);
	long av_url_read_fseek(ByteIOContext*, int, long, int);
	int av_url_read_fpause(ByteIOContext*, int);
	int url_ferror(ByteIOContext*);
	int url_feof(ByteIOContext*);
	long url_fsize(ByteIOContext*);
	long url_ftell(ByteIOContext*);
	void url_fskip(ByteIOContext*, long);
	long url_fseek(ByteIOContext*, long, int);
	void put_strz(ByteIOContext*, char*);
	void put_tag(ByteIOContext*, char*);
	void put_be16(ByteIOContext*, uint);
	void put_le16(ByteIOContext*, uint);
	void put_be24(ByteIOContext*, uint);
	void put_le24(ByteIOContext*, uint);
	void put_be32(ByteIOContext*, uint);
	void put_le32(ByteIOContext*, uint);
	void put_be64(ByteIOContext*, ulong);
	void put_le64(ByteIOContext*, ulong);
	void put_buffer(ByteIOContext*, char*, int);
	void put_byte(ByteIOContext*, int);
	ByteIOContext* av_alloc_put_byte(char*, int, int, void*, int function(void*, char*, int), int function(void*, char*, int), long function(void*, long, int));
	int init_put_byte(ByteIOContext*, char*, int, int, void*, int function(void*, char*, int), int function(void*, char*, int), long function(void*, long, int));
	int av_register_protocol(URLProtocol*);
	int register_protocol(URLProtocol*);
	URLProtocol* av_protocol_next(URLProtocol*);
	long av_url_read_seek(URLContext*, int, long, int);
	int av_url_read_pause(URLContext*, int);
	int url_poll(URLPollEntry*, int, int);
	void url_set_interrupt_cb(int function());
	void url_get_filename(URLContext*, char*, int);
	int url_get_max_packet_size(URLContext*);
	int url_get_file_handle(URLContext*);
	long url_filesize(URLContext*);
	int url_exist(char*);
	int url_close(URLContext*);
	long url_seek(URLContext*, long, int);
	int url_write(URLContext*, char*, int);
	int url_read_complete(URLContext*, char*, int);
	int url_read(URLContext*, char*, int);
	int url_open(URLContext**, char*, int);
	int url_open_protocol(URLContext**, URLProtocol*, char*, int);
	uint avformat_version();
	
	extern AVOutputFormat* first_oformat;
	extern AVInputFormat* first_iformat;
	extern int function() url_interrupt_cb;
	extern URLProtocol* first_protocol;
}