comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:3425707ddbf6
1 /* THIS FILE GENERATED BY bcd.gen */
2 module hoofbaby.codec.libav.avformat;
3
4 import hoofbaby.codec.libav.avutil;
5 import hoofbaby.codec.libav.avcodec;
6 import tango.stdc.stdio;
7
8
9 enum
10 {
11 LIBAVFORMAT_VERSION_MAJOR = 52,
12 LIBAVFORMAT_VERSION_MINOR = 34,
13 LIBAVFORMAT_VERSION_MICRO = 0,
14 URL_RDONLY = 0,
15 URL_WRONLY = 1,
16 URL_RDWR = 2,
17 AVSEEK_SIZE = 0x10000,
18 AV_METADATA_MATCH_CASE = 1,
19 AV_METADATA_IGNORE_SUFFIX = 2,
20 AVPROBE_SCORE_MAX = 100,
21 AVPROBE_PADDING_SIZE = 32,
22 AVFMT_NOFILE = 0x0001,
23 AVFMT_NEEDNUMBER = 0x0002,
24 AVFMT_SHOW_IDS = 0x0008,
25 AVFMT_RAWPICTURE = 0x0020,
26 AVFMT_GLOBALHEADER = 0x0040,
27 AVFMT_NOTIMESTAMPS = 0x0080,
28 AVFMT_GENERIC_INDEX = 0x0100,
29 AVFMT_TS_DISCONT = 0x0200,
30 AVFMT_VARIABLE_FPS = 0x0400,
31 AVINDEX_KEYFRAME = 0x0001,
32 AV_DISPOSITION_DEFAULT = 0x0001,
33 AV_DISPOSITION_DUB = 0x0002,
34 AV_DISPOSITION_ORIGINAL = 0x0004,
35 AV_DISPOSITION_COMMENT = 0x0008,
36 AV_DISPOSITION_LYRICS = 0x0010,
37 AV_DISPOSITION_KARAOKE = 0x0020,
38 MAX_REORDER_DELAY = 16,
39 MAX_PROBE_PACKETS = 100,
40 AV_PROGRAM_RUNNING = 1,
41 AVFMTCTX_NOHEADER = 0x0001,
42 MAX_STREAMS = 20,
43 AVFMT_NOOUTPUTLOOP = -1,
44 AVFMT_INFINITEOUTPUTLOOP = 0,
45 AVFMT_FLAG_GENPTS = 0x0001,
46 AVFMT_FLAG_IGNIDX = 0x0002,
47 AVFMT_FLAG_NONBLOCK = 0x0004,
48 FF_FDEBUG_TS = 0x0001,
49 AVSEEK_FLAG_BACKWARD = 1,
50 AVSEEK_FLAG_BYTE = 2,
51 AVSEEK_FLAG_ANY = 4,
52 FFM_PACKET_SIZE = 4096,
53 }
54
55 alias int AVStreamParseType;
56 enum : AVStreamParseType
57 {
58 AVSTREAM_PARSE_NONE = 0,
59 AVSTREAM_PARSE_FULL = 1,
60 AVSTREAM_PARSE_HEADERS = 2,
61 AVSTREAM_PARSE_TIMESTAMPS = 3,
62 }
63
64 alias void AVMetadata;
65 alias void AVMetadataConv;
66
67 struct AVPacketList
68 {
69 AVPacket pkt;
70 AVPacketList* next;
71 }
72
73 struct AVChapter
74 {
75 int id;
76 AVRational time_base;
77 long start;
78 long end;
79 char* title;
80 void* metadata;
81 }
82
83 struct AVProgram
84 {
85 int id;
86 char* provider_name;
87 char* name;
88 int flags;
89 int discard;
90 uint* stream_index;
91 uint nb_stream_indexes;
92 void* metadata;
93 }
94
95 struct AVStream
96 {
97 int index;
98 int id;
99 AVCodecContext* codec;
100 AVRational r_frame_rate;
101 void* priv_data;
102 long first_dts;
103 AVFrac pts;
104 AVRational time_base;
105 int pts_wrap_bits;
106 int stream_copy;
107 int discard;
108 float quality;
109 long start_time;
110 long duration;
111 char[4] language;
112 int need_parsing;
113 AVCodecParserContext* parser;
114 long cur_dts;
115 int last_IP_duration;
116 long last_IP_pts;
117 AVIndexEntry* index_entries;
118 int nb_index_entries;
119 uint index_entries_allocated_size;
120 long nb_frames;
121 long[5] unused;
122 char* filename;
123 int disposition;
124 AVProbeData probe_data;
125 long[17] pts_buffer;
126 AVRational sample_aspect_ratio;
127 void* metadata;
128 char* cur_ptr;
129 int cur_len;
130 AVPacket cur_pkt;
131 long reference_dts;
132 int probe_packets;
133 }
134
135 struct AVIndexEntry
136 {
137 long pos;
138 long timestamp;
139 int min_distance;
140
141 int __bitfield1;
142 int flags() { return (__bitfield1 << 30) >> 30; }
143 int flags(int value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffc) | ((value & 0x3) << 0); return value; }
144 int size() { return (__bitfield1 << 0) >> 2; }
145 int size(int value) { __bitfield1 = (__bitfield1 & 0xffffffff00000003) | ((value & 0x3fffffff) << 2); return value; }
146 }
147
148 struct AVInputFormat
149 {
150 char* name;
151 char* long_name;
152 int priv_data_size;
153 int function(AVProbeData*) read_probe;
154 int function(AVFormatContext*, AVFormatParameters*) read_header;
155 int function(AVFormatContext*, AVPacket*) read_packet;
156 int function(AVFormatContext*) read_close;
157 int function(AVFormatContext*, int, long, int) read_seek;
158 long function(AVFormatContext*, int, long*, long) read_timestamp;
159 int flags;
160 char* extensions;
161 int value;
162 int function(AVFormatContext*) read_play;
163 int function(AVFormatContext*) read_pause;
164 void** codec_tag;
165 int function(AVFormatContext*, int, long, long, long, int) read_seek2;
166 void* metadata_conv;
167 AVInputFormat* next;
168 }
169
170 struct AVOutputFormat
171 {
172 char* name;
173 char* long_name;
174 char* mime_type;
175 char* extensions;
176 int priv_data_size;
177 int audio_codec;
178 int video_codec;
179 int function(AVFormatContext*) write_header;
180 int function(AVFormatContext*, AVPacket*) write_packet;
181 int function(AVFormatContext*) write_trailer;
182 int flags;
183 int function(AVFormatContext*, AVFormatParameters*) set_parameters;
184 int function(AVFormatContext*, AVPacket*, AVPacket*, int) interleave_packet;
185 void** codec_tag;
186 int subtitle_codec;
187 void* metadata_conv;
188 AVOutputFormat* next;
189 }
190
191 struct AVFormatParameters
192 {
193 AVRational time_base;
194 int sample_rate;
195 int channels;
196 int width;
197 int height;
198 PixelFormat pix_fmt;
199 int channel;
200 char* standard;
201 CodecID video_codec_id;
202 CodecID audio_codec_id;
203
204 uint __bitfield1;
205 uint mpeg2ts_raw() { return (__bitfield1 >> 0) & 0x1; }
206 uint mpeg2ts_raw(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffe) | (value << 0); return value; }
207 uint mpeg2ts_compute_pcr() { return (__bitfield1 >> 1) & 0x1; }
208 uint mpeg2ts_compute_pcr(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffd) | (value << 1); return value; }
209 uint initial_pause() { return (__bitfield1 >> 2) & 0x1; }
210 uint initial_pause(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffffb) | (value << 2); return value; }
211 uint prealloced_context() { return (__bitfield1 >> 3) & 0x1; }
212 uint prealloced_context(uint value) { __bitfield1 = (__bitfield1 & 0xfffffffffffffff7) | (value << 3); return value; }
213 }
214
215 struct AVProbeData
216 {
217 char* filename;
218 char* buf;
219 int buf_size;
220 }
221
222 struct AVFrac
223 {
224 long val;
225 long num;
226 long den;
227 }
228
229 struct AVMetadataTag
230 {
231 char* key;
232 char* value;
233 }
234
235 struct AVFormatContext
236 {
237 AVClass* av_class;
238 AVInputFormat* iformat;
239 AVOutputFormat* oformat;
240 void* priv_data;
241 ByteIOContext* pb;
242 uint nb_streams;
243 AVStream*[20] streams;
244 char[1024] filename;
245 long timestamp;
246 char[512] title;
247 char[512] author;
248 char[512] copyright;
249 char[512] comment;
250 char[512] album;
251 int year;
252 int track;
253 char[32] genre;
254 int ctx_flags;
255 AVPacketList* packet_buffer;
256 long start_time;
257 long duration;
258 long file_size;
259 int bit_rate;
260 AVStream* cur_st;
261 char* cur_ptr_deprecated;
262 int cur_len_deprecated;
263 AVPacket cur_pkt_deprecated;
264 long data_offset;
265 int index_built;
266 int mux_rate;
267 int packet_size;
268 int preload;
269 int max_delay;
270 int loop_output;
271 int flags;
272 int loop_input;
273 uint probesize;
274 int max_analyze_duration;
275 char* key;
276 int keylen;
277 uint nb_programs;
278 AVProgram** programs;
279 int video_codec_id;
280 int audio_codec_id;
281 int subtitle_codec_id;
282 uint max_index_size;
283 uint max_picture_buffer;
284 uint nb_chapters;
285 AVChapter** chapters;
286 int debug_;
287 AVPacketList* raw_packet_buffer;
288 AVPacketList* raw_packet_buffer_end;
289 AVPacketList* packet_buffer_end;
290 void* metadata;
291 }
292
293 struct ByteIOContext
294 {
295 char* buffer;
296 int buffer_size;
297 char* buf_ptr;
298 char* buf_end;
299 void* opaque;
300 int function(void*, char*, int) read_packet;
301 int function(void*, char*, int) write_packet;
302 long function(void*, long, int) seek;
303 long pos;
304 int must_flush;
305 int eof_reached;
306 int write_flag;
307 int is_streamed;
308 int max_packet_size;
309 uint checksum;
310 char* checksum_ptr;
311 uint function(uint, char*, uint) update_checksum;
312 int error;
313 int function(void*, int) read_pause;
314 long function(void*, int, long, int) read_seek;
315 }
316
317 struct URLPollEntry
318 {
319 URLContext* handle;
320 int events;
321 int revents;
322 }
323
324 struct URLProtocol
325 {
326 char* name;
327 int function(URLContext*, char*, int) url_open;
328 int function(URLContext*, char*, int) url_read;
329 int function(URLContext*, char*, int) url_write;
330 long function(URLContext*, long, int) url_seek;
331 int function(URLContext*) url_close;
332 URLProtocol* next;
333 int function(URLContext*, int) url_read_pause;
334 long function(URLContext*, int, long, int) url_read_seek;
335 int function(URLContext*) url_get_file_handle;
336 }
337
338 struct URLContext
339 {
340 URLProtocol* prot;
341 int flags;
342 int is_streamed;
343 int max_packet_size;
344 void* priv_data;
345 char* filename;
346 }
347
348 extern(C)
349 {
350 int avf_sdp_create(AVFormatContext**, int, char*, int);
351 int av_filename_number_test(char*);
352 int av_get_frame_filename(char*, int, char*, int);
353 int find_info_tag(char*, int, char*, char*);
354 void ffm_set_write_index(AVFormatContext*, long, long);
355 int ffm_write_write_index(int, long);
356 long ffm_read_write_index(int);
357 long av_gettime();
358 long parse_date(char*, int);
359 int parse_frame_rate(int*, int*, char*);
360 int parse_image_size(int*, int*, char*);
361 void dump_format(AVFormatContext*, int, char*, int);
362 int av_write_trailer(AVFormatContext*);
363 int av_interleave_packet_per_dts(AVFormatContext*, AVPacket*, AVPacket*, int);
364 int av_interleaved_write_frame(AVFormatContext*, AVPacket*);
365 int av_write_frame(AVFormatContext*, AVPacket*);
366 int av_write_header(AVFormatContext*);
367 int av_set_parameters(AVFormatContext*, AVFormatParameters*);
368 long av_gen_search(AVFormatContext*, int, long, long, long, long, long, long, int, long*, long function(AVFormatContext*, int, long*, long));
369 void av_update_cur_dts(AVFormatContext*, AVStream*, long);
370 int av_seek_frame_binary(AVFormatContext*, int, long, int);
371 int av_add_index_entry(AVStream*, long, long, int, int, int);
372 void ff_reduce_index(AVFormatContext*, int);
373 int av_index_search_timestamp(AVStream*, long, int);
374 int av_find_default_stream_index(AVFormatContext*);
375 void av_set_pts_info(AVStream*, int, int, int);
376 AVChapter* ff_new_chapter(AVFormatContext*, int, AVRational, long, long, char*);
377 AVProgram* av_new_program(AVFormatContext*, int);
378 AVStream* av_new_stream(AVFormatContext*, int);
379 void av_close_input_file(AVFormatContext*);
380 void av_close_input_stream(AVFormatContext*);
381 int av_read_pause(AVFormatContext*);
382 int av_read_play(AVFormatContext*);
383 int avformat_seek_file(AVFormatContext*, int, long, long, long, int);
384 int av_seek_frame(AVFormatContext*, int, long, int);
385 int av_read_frame(AVFormatContext*, AVPacket*);
386 int av_read_packet(AVFormatContext*, AVPacket*);
387 int av_find_stream_info(AVFormatContext*);
388 AVFormatContext* avformat_alloc_context();
389 AVFormatContext* av_alloc_format_context();
390 int av_open_input_file(AVFormatContext**, char*, AVInputFormat*, int, AVFormatParameters*);
391 int av_open_input_stream(AVFormatContext**, ByteIOContext*, char*, AVInputFormat*, AVFormatParameters*);
392 AVInputFormat* av_probe_input_format(AVProbeData*, int);
393 AVInputFormat* av_find_input_format(char*);
394 uint av_codec_get_tag(void**, int);
395 int av_codec_get_id(void**, uint);
396 void av_register_all();
397 void av_pkt_dump_log(void*, int, AVPacket*, int);
398 void av_pkt_dump(_iobuf*, AVPacket*, int);
399 void av_hex_dump_log(void*, int, char*, int);
400 void av_hex_dump(_iobuf*, char*, int);
401 int av_guess_codec(AVOutputFormat*, char*, char*, char*, int);
402 AVOutputFormat* guess_format(char*, char*, char*);
403 AVOutputFormat* guess_stream_format(char*, char*, char*);
404 void av_register_output_format(AVOutputFormat*);
405 void av_register_input_format(AVInputFormat*);
406 int av_guess_image2_codec(char*);
407 AVOutputFormat* av_oformat_next(AVOutputFormat*);
408 AVInputFormat* av_iformat_next(AVInputFormat*);
409 int av_get_packet(ByteIOContext*, AVPacket*, int);
410 void av_metadata_free(void**);
411 void av_metadata_conv(AVFormatContext*, void*, void*);
412 int av_metadata_set(void**, char*, char*);
413 AVMetadataTag* av_metadata_get(void*, char*, AVMetadataTag*, int);
414 int udp_get_file_handle(URLContext*);
415 int udp_get_local_port(URLContext*);
416 int udp_set_remote_url(URLContext*, char*);
417 void init_checksum(ByteIOContext*, uint function(uint, char*, uint), uint);
418 uint get_checksum(ByteIOContext*);
419 uint ff_crc04C11DB7_update(uint, char*, uint);
420 int url_close_dyn_buf(ByteIOContext*, char**);
421 int url_open_dyn_packet_buf(ByteIOContext**, int);
422 int url_open_dyn_buf(ByteIOContext**);
423 int url_close_buf(ByteIOContext*);
424 int url_open_buf(ByteIOContext**, char*, int, int);
425 int url_fget_max_packet_size(ByteIOContext*);
426 URLContext* url_fileno(ByteIOContext*);
427 int url_fclose(ByteIOContext*);
428 int url_fopen(ByteIOContext**, char*, int);
429 int url_resetbuf(ByteIOContext*, int);
430 int url_setbufsize(ByteIOContext*, int);
431 int url_fdopen(ByteIOContext**, URLContext*);
432 int url_is_streamed(ByteIOContext*);
433 ulong ff_get_v(ByteIOContext*);
434 ulong get_be64(ByteIOContext*);
435 uint get_be32(ByteIOContext*);
436 uint get_be24(ByteIOContext*);
437 uint get_be16(ByteIOContext*);
438 char* get_strz(ByteIOContext*, char*, int);
439 uint get_le16(ByteIOContext*);
440 ulong get_le64(ByteIOContext*);
441 uint get_le32(ByteIOContext*);
442 uint get_le24(ByteIOContext*);
443 int get_byte(ByteIOContext*);
444 int get_partial_buffer(ByteIOContext*, char*, int);
445 int get_buffer(ByteIOContext*, char*, int);
446 void put_flush_packet(ByteIOContext*);
447 char* url_fgets(ByteIOContext*, char*, int);
448 int url_fprintf(ByteIOContext*, char*, ...);
449 int url_fgetc(ByteIOContext*);
450 long av_url_read_fseek(ByteIOContext*, int, long, int);
451 int av_url_read_fpause(ByteIOContext*, int);
452 int url_ferror(ByteIOContext*);
453 int url_feof(ByteIOContext*);
454 long url_fsize(ByteIOContext*);
455 long url_ftell(ByteIOContext*);
456 void url_fskip(ByteIOContext*, long);
457 long url_fseek(ByteIOContext*, long, int);
458 void put_strz(ByteIOContext*, char*);
459 void put_tag(ByteIOContext*, char*);
460 void put_be16(ByteIOContext*, uint);
461 void put_le16(ByteIOContext*, uint);
462 void put_be24(ByteIOContext*, uint);
463 void put_le24(ByteIOContext*, uint);
464 void put_be32(ByteIOContext*, uint);
465 void put_le32(ByteIOContext*, uint);
466 void put_be64(ByteIOContext*, ulong);
467 void put_le64(ByteIOContext*, ulong);
468 void put_buffer(ByteIOContext*, char*, int);
469 void put_byte(ByteIOContext*, int);
470 ByteIOContext* av_alloc_put_byte(char*, int, int, void*, int function(void*, char*, int), int function(void*, char*, int), long function(void*, long, int));
471 int init_put_byte(ByteIOContext*, char*, int, int, void*, int function(void*, char*, int), int function(void*, char*, int), long function(void*, long, int));
472 int av_register_protocol(URLProtocol*);
473 int register_protocol(URLProtocol*);
474 URLProtocol* av_protocol_next(URLProtocol*);
475 long av_url_read_seek(URLContext*, int, long, int);
476 int av_url_read_pause(URLContext*, int);
477 int url_poll(URLPollEntry*, int, int);
478 void url_set_interrupt_cb(int function());
479 void url_get_filename(URLContext*, char*, int);
480 int url_get_max_packet_size(URLContext*);
481 int url_get_file_handle(URLContext*);
482 long url_filesize(URLContext*);
483 int url_exist(char*);
484 int url_close(URLContext*);
485 long url_seek(URLContext*, long, int);
486 int url_write(URLContext*, char*, int);
487 int url_read_complete(URLContext*, char*, int);
488 int url_read(URLContext*, char*, int);
489 int url_open(URLContext**, char*, int);
490 int url_open_protocol(URLContext**, URLProtocol*, char*, int);
491 uint avformat_version();
492
493 extern AVOutputFormat* first_oformat;
494 extern AVInputFormat* first_iformat;
495 extern int function() url_interrupt_cb;
496 extern URLProtocol* first_protocol;
497 }