Mercurial > projects > hoofbaby
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 } |