21 #ifndef AVFORMAT_AVFORMAT_H
22 #define AVFORMAT_AVFORMAT_H
223 #if FF_API_OLD_METADATA2
231 #define AV_METADATA_MATCH_CASE AV_DICT_MATCH_CASE
232 #define AV_METADATA_IGNORE_SUFFIX AV_DICT_IGNORE_SUFFIX
233 #define AV_METADATA_DONT_STRDUP_KEY AV_DICT_DONT_STRDUP_KEY
234 #define AV_METADATA_DONT_STRDUP_VAL AV_DICT_DONT_STRDUP_VAL
235 #define AV_METADATA_DONT_OVERWRITE AV_DICT_DONT_OVERWRITE
345 #define AVPROBE_SCORE_MAX 100
346 #define AVPROBE_PADDING_SIZE 32
349 #if FF_API_FORMAT_PARAMETERS
368 #define AVFMT_NOFILE 0x0001
369 #define AVFMT_NEEDNUMBER 0x0002
370 #define AVFMT_SHOW_IDS 0x0008
371 #define AVFMT_RAWPICTURE 0x0020
373 #define AVFMT_GLOBALHEADER 0x0040
374 #define AVFMT_NOTIMESTAMPS 0x0080
375 #define AVFMT_GENERIC_INDEX 0x0100
376 #define AVFMT_TS_DISCONT 0x0200
377 #define AVFMT_VARIABLE_FPS 0x0400
378 #define AVFMT_NODIMENSIONS 0x0800
379 #define AVFMT_NOSTREAMS 0x1000
380 #define AVFMT_NOBINSEARCH 0x2000
381 #define AVFMT_NOGENSEARCH 0x4000
382 #define AVFMT_NO_BYTE_SEEK 0x8000
388 typedef struct AVOutputFormat {
429 #if FF_API_OLD_METADATA2
441 int (*query_codec)(
enum CodecID id,
int std_compliance);
515 int stream_index, int64_t timestamp,
int flags);
522 int64_t *pos, int64_t pos_limit);
565 #if FF_API_OLD_METADATA2
589 #define AVINDEX_KEYFRAME 0x0001
595 #define AV_DISPOSITION_DEFAULT 0x0001
596 #define AV_DISPOSITION_DUB 0x0002
597 #define AV_DISPOSITION_ORIGINAL 0x0004
598 #define AV_DISPOSITION_COMMENT 0x0008
599 #define AV_DISPOSITION_LYRICS 0x0010
600 #define AV_DISPOSITION_KARAOKE 0x0020
607 #define AV_DISPOSITION_FORCED 0x0040
608 #define AV_DISPOSITION_HEARING_IMPAIRED 0x0080
609 #define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100
610 #define AV_DISPOSITION_CLEAN_EFFECTS 0x0200
619 typedef struct AVStream {
634 #if FF_API_REORDER_PRIVATE
652 #if FF_API_REORDER_PRIVATE
655 #if FF_API_STREAM_COPY
661 #if FF_API_AVSTREAM_QUALITY
685 #if FF_API_REORDER_PRIVATE
691 int last_IP_duration;
696 int nb_index_entries;
697 unsigned int index_entries_allocated_size;
704 #if FF_API_REORDER_PRIVATE
706 #define MAX_REORDER_DELAY 16
719 #if FF_API_REORDER_PRIVATE
722 const uint8_t *cur_ptr;
734 int64_t reference_dts;
740 #define MAX_PROBE_PACKETS 2500
772 #define MAX_STD_TIMEBASES (60*12+5)
781 #if !FF_API_REORDER_PRIVATE
803 #define MAX_PROBE_PACKETS 2500
811 #define MAX_REORDER_DELAY 16
826 #define AV_PROGRAM_RUNNING 1
843 #define AVFMTCTX_NOHEADER 0x0001
846 typedef struct AVChapter {
918 #if FF_API_REORDER_PRIVATE
957 #if FF_API_REORDER_PRIVATE
977 #if FF_API_LOOP_OUTPUT
978 #define AVFMT_NOOUTPUTLOOP -1
979 #define AVFMT_INFINITEOUTPUTLOOP 0
989 #define AVFMT_FLAG_GENPTS 0x0001
990 #define AVFMT_FLAG_IGNIDX 0x0002
991 #define AVFMT_FLAG_NONBLOCK 0x0004
992 #define AVFMT_FLAG_IGNDTS 0x0008
993 #define AVFMT_FLAG_NOFILLIN 0x0010
994 #define AVFMT_FLAG_NOPARSE 0x0020
995 #if FF_API_FLAG_RTP_HINT
996 #define AVFMT_FLAG_RTP_HINT 0x0040
998 #define AVFMT_FLAG_CUSTOM_IO 0x0080
999 #define AVFMT_FLAG_DISCARD_CORRUPT 0x0100
1001 #if FF_API_LOOP_INPUT
1068 #define FF_FDEBUG_TS 0x0001
1070 #if FF_API_REORDER_PRIVATE
1085 #if FF_API_REORDER_PRIVATE
1090 #define RAW_PACKET_BUFFER_SIZE 2500000
1134 #if !FF_API_REORDER_PRIVATE
1146 #define RAW_PACKET_BUFFER_SIZE 2500000
1283 #if FF_API_GUESS_IMG2_CODEC
1341 const char *filename,
void *logctx,
1342 unsigned int offset,
unsigned int max_probe_size);
1344 #if FF_API_FORMAT_PARAMETERS
1395 #if FF_API_FORMAT_PARAMETERS
1464 int wanted_stream_nb,
1562 #if FF_API_FORMAT_PARAMETERS
1572 #if FF_API_CLOSE_INPUT_FILE
1592 #if FF_API_NEW_STREAM
1607 #if FF_API_SET_PTS_INFO
1612 void av_set_pts_info(
AVStream *s,
int pts_wrap_bits,
1613 unsigned int pts_num,
unsigned int pts_den);
1616 #define AVSEEK_FLAG_BACKWARD 1
1617 #define AVSEEK_FLAG_BYTE 2
1618 #define AVSEEK_FLAG_ANY 4
1619 #define AVSEEK_FLAG_FRAME 8
1621 #if FF_API_SEEK_PUBLIC
1624 int64_t target_ts,
int flags);
1629 int64_t target_ts, int64_t pos_min,
1630 int64_t pos_max, int64_t pos_limit,
1631 int64_t ts_min, int64_t ts_max,
1632 int flags, int64_t *ts_ret,
1633 int64_t (*read_timestamp)(
struct AVFormatContext *,
int , int64_t *, int64_t ));
1636 #if FF_API_FORMAT_PARAMETERS
1664 #if FF_API_FORMAT_PARAMETERS
1761 const char *filename,
1762 const char *mime_type);
1768 const char *filename,
const char *mime_type,
1895 char *authorization,
int authorization_size,
1896 char *hostname,
int hostname_size,
1898 char *path,
int path_size,
1901 #if FF_API_DUMP_FORMAT
1913 #if FF_API_PARSE_DATE
1922 int64_t parse_date(
const char *datestr,
int duration);
1930 #if FF_API_FIND_INFO_TAG
1934 attribute_deprecated int find_info_tag(
char *arg,
int arg_size,
const char *tag1,
const char *info);
1950 const char *path,
int number);
1976 #if FF_API_SDP_CREATE
1986 int av_match_ext(
const char *filename,
const char *extensions);