21 #ifndef AVFORMAT_AVFORMAT_H
22 #define AVFORMAT_AVFORMAT_H
400 typedef struct AVFrac {
401 int64_t
val, num, den;
420 #define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4)
421 #define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1)
423 #define AVPROBE_SCORE_EXTENSION 50
424 #define AVPROBE_SCORE_MIME 75
425 #define AVPROBE_SCORE_MAX 100
427 #define AVPROBE_PADDING_SIZE 32
430 #define AVFMT_NOFILE 0x0001
431 #define AVFMT_NEEDNUMBER 0x0002
432 #define AVFMT_SHOW_IDS 0x0008
433 #define AVFMT_RAWPICTURE 0x0020
435 #define AVFMT_GLOBALHEADER 0x0040
436 #define AVFMT_NOTIMESTAMPS 0x0080
437 #define AVFMT_GENERIC_INDEX 0x0100
438 #define AVFMT_TS_DISCONT 0x0200
439 #define AVFMT_VARIABLE_FPS 0x0400
440 #define AVFMT_NODIMENSIONS 0x0800
441 #define AVFMT_NOSTREAMS 0x1000
442 #define AVFMT_NOBINSEARCH 0x2000
443 #define AVFMT_NOGENSEARCH 0x4000
444 #define AVFMT_NO_BYTE_SEEK 0x8000
445 #define AVFMT_ALLOW_FLUSH 0x10000
446 #if LIBAVFORMAT_VERSION_MAJOR <= 54
447 #define AVFMT_TS_NONSTRICT 0x8020000 //we try to be compatible to the ABIs of ffmpeg and major forks
449 #define AVFMT_TS_NONSTRICT 0x20000
454 #define AVFMT_TS_NEGATIVE 0x40000
463 #define AVFMT_SEEK_TO_PTS 0x4000000
538 int64_t *dts, int64_t *wall);
543 void *
data,
size_t data_size);
678 int stream_index, int64_t timestamp,
int flags);
685 int64_t *pos, int64_t pos_limit);
748 #define AVINDEX_KEYFRAME 0x0001
754 #define AV_DISPOSITION_DEFAULT 0x0001
755 #define AV_DISPOSITION_DUB 0x0002
756 #define AV_DISPOSITION_ORIGINAL 0x0004
757 #define AV_DISPOSITION_COMMENT 0x0008
758 #define AV_DISPOSITION_LYRICS 0x0010
759 #define AV_DISPOSITION_KARAOKE 0x0020
766 #define AV_DISPOSITION_FORCED 0x0040
767 #define AV_DISPOSITION_HEARING_IMPAIRED 0x0080
768 #define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100
769 #define AV_DISPOSITION_CLEAN_EFFECTS 0x0200
776 #define AV_DISPOSITION_ATTACHED_PIC 0x0400
781 #define AV_DISPOSITION_CAPTIONS 0x10000
782 #define AV_DISPOSITION_DESCRIPTIONS 0x20000
783 #define AV_DISPOSITION_METADATA 0x40000
788 #define AV_PTS_WRAP_IGNORE 0
789 #define AV_PTS_WRAP_ADD_OFFSET 1
790 #define AV_PTS_WRAP_SUB_OFFSET -1
923 #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001
936 #define MAX_STD_TIMEBASES (30*12+30+3+6)
983 #define MAX_PROBE_PACKETS 2500
1000 #define MAX_REORDER_DELAY 16
1145 #define AV_PROGRAM_RUNNING 1
1179 #define AVFMTCTX_NOHEADER 0x0001
1194 void *
data,
size_t data_size);
1329 #define AVFMT_FLAG_GENPTS 0x0001
1330 #define AVFMT_FLAG_IGNIDX 0x0002
1331 #define AVFMT_FLAG_NONBLOCK 0x0004
1332 #define AVFMT_FLAG_IGNDTS 0x0008
1333 #define AVFMT_FLAG_NOFILLIN 0x0010
1334 #define AVFMT_FLAG_NOPARSE 0x0020
1335 #define AVFMT_FLAG_NOBUFFER 0x0040
1336 #define AVFMT_FLAG_CUSTOM_IO 0x0080
1337 #define AVFMT_FLAG_DISCARD_CORRUPT 0x0100
1338 #define AVFMT_FLAG_FLUSH_PACKETS 0x0200
1345 #define AVFMT_FLAG_BITEXACT 0x0400
1346 #define AVFMT_FLAG_MP4A_LATM 0x8000
1347 #define AVFMT_FLAG_SORT_DTS 0x10000
1348 #define AVFMT_FLAG_PRIV_OPT 0x20000
1349 #define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000
1470 #define FF_FDEBUG_TS 0x0001
1502 #define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001
1518 #define AVFMT_AVOID_NEG_TS_AUTO -1
1519 #define AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE 1
1520 #define AVFMT_AVOID_NEG_TS_MAKE_ZERO 2
1918 const char *format_name,
const char *filename);
1979 const char *url,
void *logctx,
1980 unsigned int offset,
unsigned int max_probe_size);
1986 const char *url,
void *logctx,
1987 unsigned int offset,
unsigned int max_probe_size);
2074 int wanted_stream_nb,
2191 #define AVSEEK_FLAG_BACKWARD 1
2192 #define AVSEEK_FLAG_BYTE 2
2193 #define AVSEEK_FLAG_ANY 4
2194 #define AVSEEK_FLAG_FRAME 8
2346 const char *filename,
2347 const char *mime_type);
2353 const char *filename,
const char *mime_type,
2372 int64_t *dts, int64_t *wall);
2516 char *authorization,
int authorization_size,
2517 char *hostname,
int hostname_size,
2519 char *path,
int path_size,
2551 const char *path,
int number);
2587 int av_match_ext(
const char *filename,
const char *extensions);
2600 int std_compliance);